From 000c888ccb04e63009b20b24dae613dcbe33102d Mon Sep 17 00:00:00 2001 From: Josue Alexander Ibarra <1480657+ibarrajo@users.noreply.github.com> Date: Tue, 17 Dec 2024 12:38:22 -0800 Subject: [PATCH] Revert "Cadence Next (#200)" (#202) This reverts commit 82bf0bcc2f61660691f3b33ab85ebe7f54cb8c90. --- .envrc | 7 - .github/workflows/build.yml | 8 +- .github/workflows/publish-to-gh-pages.yml | 32 +- .gitignore | 35 +- CHANGELOG.md | 0 CONTRIBUTING.md | 0 README.md | 79 +- ...8-cadence-workflows-github-organization.md | 29 - blog/authors.yml | 99 - blog/tags.yml | 44 - changelog/source/authors.json | 1 - community/0-support.mdx | 28 - community/1-team.mdx | 12 - community/2-resources.mdx | 24 - community/3-contributing.mdx | 11 - cypress.json | 1 + .../slack/slack-short-link.spec.js | 12 + docs/01-get-started/img/cadence_ui.png | Bin 86972 -> 0 bytes .../img/cadence_ui_detailed.png | Bin 238252 -> 0 bytes docs/03-concepts/index.md | 15 - docs/09-about/index.md | 20 - docusaurus.config.ts | 314 - package-lock.json | 26331 ++++++++-------- package.json | 79 +- sidebars.ts | 156 - sidebarsCommunity.js | 28 - src/.vuepress/components/slack-link.vue | 25 + src/.vuepress/config.js | 199 + src/.vuepress/enhanceApp.js | 10 + .../public}/img/arrow_divert_filled.svg | 0 .../public}/img/cadence-overview.svg | 0 .../img/chart_bar_ascending_filled.svg | 0 .../.vuepress/public}/img/favicon.ico | Bin .../.vuepress/public}/img/gears_outlined.svg | 0 .../.vuepress/public}/img/logo-white.svg | 0 .../.vuepress/public}/img/overview.png | Bin src/.vuepress/styles/index.styl | 1 + src/.vuepress/styles/palette.styl | 1 + {docs => src}/GLOSSARY.md | 5 +- src/blog/.npmignore | 12 + src/blog/.vuepress/config.js | 51 + src/blog/.vuepress/enhanceApp.js | 21 + .../.vuepress/public/img}/grpc-migration.svg | 0 src/blog/.vuepress/public/img/logo-white.svg | 18 + .../.vuepress/public/img}/zone-isolation.png | Bin src/blog/.vuepress/styles/index.styl | 26 + src/blog/.vuepress/styles/palette.styl | 1 + .../theme/components/DropdownLink.vue | 252 + .../theme/components/DropdownTransition.vue | 33 + .../.vuepress/theme/components/NavLink.vue | 90 + .../.vuepress/theme/components/NavLinks.vue | 156 + .../.vuepress/theme/components/Navbar.vue | 131 + .../.vuepress/theme/components/PostMeta.vue | 87 + .../.vuepress/theme/components/Sidebar.vue | 63 + .../theme/components/SidebarButton.vue | 40 + .../theme/components/SidebarGroup.vue | 141 + .../theme/components/SidebarLink.vue | 133 + .../theme/components/SidebarLinks.vue | 103 + src/blog/.vuepress/theme/index.js | 3 + .../.vuepress/theme/layouts/GlobalLayout.vue | 53 + src/blog/.vuepress/theme/layouts/Post.vue | 76 + src/blog/.vuepress/theme/util/index.js | 244 + ...r-the-cadence-project-and-its-community.md | 10 +- ...-oss-office-hours-and-community-sync-up.md | 9 +- .../blog/_posts}/2021-10-19-moving-to-grpc.md | 38 +- ...-01-31-community-spotlight-january-2022.md | 8 +- ...02-28-community-spotlight-february-2022.md | 9 +- ...1-community-spotlight-update-march-2022.md | 7 +- ...0-community-spotlight-update-april-2022.md | 11 +- ...-31-community-spotlight-update-may-2022.md | 9 +- ...30-community-spotlight-update-june-2022.md | 7 +- ...31-community-spotlight-update-july-2022.md | 11 +- ...2-08-31-community-spotlight-august-2022.md | 9 +- ...9-30-community-spotlight-september-2022.md | 7 +- ...-10-31-community-spotlight-october-2022.md | 7 +- ...11-30-community-spotlight-november-2022.md | 7 +- ...12-23-community-spotlight-december-2022.md | 7 +- ...-01-31-community-spotlight-january-2023.md | 7 +- ...2023-02-28-community-spotlight-february.md | 7 +- ...23-03-31-community-spotlight-march-2023.md | 7 +- .../blog/_posts}/2023-06-08-survey-results.md | 29 +- ...components-of-cadence-application-setup.md | 14 +- ...023-06-30-community-spotlight-june-2023.md | 10 +- ...5-implement-cadence-worker-from-scratch.md | 37 +- ...2023-07-10-cadence-bad-practices-part-1.md | 10 +- ...-write-your-first-workflow-with-cadence.md | 18 +- ...023-07-31-community-spotlight-july-2023.md | 13 +- ...eterministic-errors-replayers-shadowers.md | 18 +- ...3-08-31-community-spotlight-august-2023.md | 8 +- ...ommunity-spotlight-update-november-2023.md | 12 +- ...-15-cadence-non-deterministic-common-qa.md | 7 +- .../2024-07-11-yearly-roadmap-update.md | 18 +- ...024-09-05-workflow-specific-rate-limits.md | 9 +- ...10-01-announcing-cadence-helm-charts-v0.md | 23 +- ...1-community-spotlight-update-march-2024.md | 49 +- .../blog/_posts}/zonal-isolation-v1.md | 31 +- src/components/HomepageFeatures/index.tsx | 92 - .../HomepageFeatures/styles.module.css | 11 - src/components/TeamProfileCards/index.tsx | 157 - src/css/custom.css | 62 - src/css/fonts.css | 79 - src/datadog/CadenceClient.json | 1 + src/datadog/CadenceServer.json | 1 + .../01-get-started/01-server-installation.md | 19 +- .../01-get-started/02-java-hello-world.md | 28 +- .../01-get-started/03-golang-hello-world.md | 28 +- .../01-get-started/04-video-tutorials.md | 0 {docs => src/docs}/01-get-started/index.md | 8 +- .../02-use-cases/01-periodic-execution.md | 0 .../docs}/02-use-cases/02-orchestration.md | 0 {docs => src/docs}/02-use-cases/03-polling.md | 0 .../docs}/02-use-cases/04-event-driven.md | 0 .../docs}/02-use-cases/05-partitioned-scan.md | 0 .../docs}/02-use-cases/06-batch-job.md | 0 .../docs}/02-use-cases/07-provisioning.md | 0 .../docs}/02-use-cases/08-deployment.md | 0 .../02-use-cases/09-operational-management.md | 0 .../docs}/02-use-cases/10-interactive.md | 0 {docs => src/docs}/02-use-cases/11-dsl.md | 0 {docs => src/docs}/02-use-cases/12-big-ml.md | 0 {docs => src/docs}/02-use-cases/index.md | 0 .../docs}/03-concepts/01-workflows.md | 0 .../docs}/03-concepts/02-activities.md | 0 {docs => src/docs}/03-concepts/03-events.md | 0 {docs => src/docs}/03-concepts/04-queries.md | 6 +- {docs => src/docs}/03-concepts/05-topology.md | 2 +- .../docs}/03-concepts/06-task-lists.md | 0 {docs => src/docs}/03-concepts/07-archival.md | 14 +- .../03-concepts/08-cross-dc-replication.md | 8 +- .../docs}/03-concepts/09-search-workflows.md | 46 +- {docs => src/docs}/03-concepts/10-http-api.md | 30 +- src/docs/03-concepts/index.md | 15 + .../04-java-client/01-client-overview.md | 6 +- .../04-java-client/02-workflow-interface.md | 0 .../03-implementing-workflows.md | 2 +- .../04-starting-workflow-executions.md | 0 .../04-java-client/05-activity-interface.md | 2 +- .../06-implementing-activities.md | 4 +- .../docs}/04-java-client/07-versioning.md | 0 .../04-java-client/08-distributed-cron.md | 4 +- .../docs}/04-java-client/09-workers.md | 6 +- .../docs}/04-java-client/10-signals.md | 18 +- .../docs}/04-java-client/11-queries.md | 8 +- .../docs}/04-java-client/12-retries.md | 10 +- .../04-java-client/13-child-workflows.md | 0 .../04-java-client/14-exception-handling.md | 6 +- .../04-java-client/15-continue-as-new.md | 2 +- .../docs}/04-java-client/16-side-effect.md | 0 .../docs}/04-java-client/17-testing.md | 8 +- .../18-workflow-replay-shadowing.md | 24 +- {docs => src/docs}/04-java-client/index.md | 15 +- {docs => src/docs}/05-go-client/01-workers.md | 20 +- .../docs}/05-go-client/02-create-workflows.md | 0 .../05-go-client/02.5-starting-workflows.md | 0 .../docs}/05-go-client/03-activities.md | 2 +- .../docs}/05-go-client/04-execute-activity.md | 0 .../docs}/05-go-client/05-child-workflows.md | 0 {docs => src/docs}/05-go-client/06-retries.md | 0 .../docs}/05-go-client/07-error-handling.md | 0 {docs => src/docs}/05-go-client/08-signals.md | 0 .../docs}/05-go-client/09-continue-as-new.md | 0 .../docs}/05-go-client/10-side-effect.md | 0 {docs => src/docs}/05-go-client/11-queries.md | 0 .../12-activity-async-completion.md | 0 .../docs}/05-go-client/13-workflow-testing.md | 0 .../05-go-client/14-workflow-versioning.md | 0 .../docs}/05-go-client/15-sessions.md | 6 +- .../docs}/05-go-client/16-distributed-cron.md | 0 {docs => src/docs}/05-go-client/17-tracing.md | 8 +- .../18-workflow-replay-shadowing.md | 28 +- .../19-workflow-non-deterministic-error.md | 10 +- {docs => src/docs}/05-go-client/index.md | 4 +- {docs => src/docs}/06-cli/index.md | 46 +- .../docs}/07-operation-guide/01-setup.md | 62 +- .../docs}/07-operation-guide/02-maintain.md | 24 +- .../docs}/07-operation-guide/03-monitoring.md | 309 +- .../07-operation-guide/04-troubleshooting.md | 10 +- .../docs}/07-operation-guide/05-migration.md | 26 +- .../docs}/07-operation-guide/index.md | 0 .../01-timeouts.md | 10 +- .../02-activity-failures.md | 0 .../08-workflow-troubleshooting/03-retries.md | 0 .../08-workflow-troubleshooting/index.md | 0 {docs => src/docs}/09-about/01-license.md | 0 src/docs/09-about/index.md | 21 + src/docs/test-pages/02-code-tabs.md | 153 + src/docs/test-pages/03-glossary.md | 41 + src/docs/test-pages/index.md | 19 + src/grafana/prometheus/Cadence-Client.json | 2409 ++ src/grafana/prometheus/Cadence-Server.json | 5365 ++++ src/index.md | 57 + src/pages/index.module.css | 35 - src/pages/index.tsx | 45 - src/pages/markdown-page.md | 7 - src/plugins/changelog/index.js | 160 - src/remark/glossary.js | 31 - src/shared/config.js | 65 + src/shared/constants.js | 4 + .../img}/2023-survey-results/channels.png | Bin .../img}/2023-survey-results/following.png | Bin .../img}/2023-survey-results/help_stage.png | Bin .../img}/2023-survey-results/improvement.png | Bin .../img}/2023-survey-results/job_role.png | Bin .../shared/img}/2023-survey-results/scale.png | Bin .../img}/2023-survey-results/scenarios.png | Bin .../img}/2023-survey-results/support.png | Bin .../img}/2023-survey-results/time_zone.png | Bin .../shared/img}/2023-survey-results/using.png | Bin .../2024-yearly-update/cadence-benefits.png | Bin .../img}/2024-yearly-update/workflow.png | Bin .../shared/img}/cadence_ui.png | Bin .../shared/img}/cadence_ui_detailed.png | Bin .../change-workflow-ownership.png | Bin src/shared/styles/code.styl | 6 + src/shared/styles/global.styl | 15 + src/shared/styles/glossary.styl | 20 + src/shared/styles/grid.styl | 25 + src/shared/styles/home.styl | 98 + src/shared/styles/index.styl | 7 + src/shared/styles/nav.styl | 99 + src/shared/styles/palette.styl | 3 + src/shared/styles/sidebar.styl | 23 + src/theme/prism-dql.js | 46 - src/theme/prism-include-languages.js | 29 - static/.nojekyll | 0 static/img/cadence-logo.svg | 1 - .../img/docusaurus/docusaurus-social-card.jpg | Bin 55746 -> 0 bytes static/img/docusaurus/docusaurus.png | Bin 5142 -> 0 bytes static/img/docusaurus/favicon.ico | Bin 3626 -> 0 bytes static/img/docusaurus/logo.svg | 1 - .../docusaurus/undraw_docusaurus_mountain.svg | 171 - .../docusaurus/undraw_docusaurus_react.svg | 170 - .../img/docusaurus/undraw_docusaurus_tree.svg | 40 - static/img/gears_blue.svg | 8 - static/img/social-card-min.png | Bin 215585 -> 0 bytes tsconfig.json | 7 - yarn.lock | 10424 ++++++ 237 files changed, 34408 insertions(+), 16307 deletions(-) delete mode 100644 CHANGELOG.md delete mode 100644 CONTRIBUTING.md delete mode 100644 blog/2024-11-18-cadence-workflows-github-organization.md delete mode 100644 blog/authors.yml delete mode 100644 blog/tags.yml delete mode 100644 changelog/source/authors.json delete mode 100644 community/0-support.mdx delete mode 100644 community/1-team.mdx delete mode 100644 community/2-resources.mdx delete mode 100644 community/3-contributing.mdx create mode 100644 cypress.json create mode 100644 cypress/integration/slack/slack-short-link.spec.js delete mode 100644 docs/01-get-started/img/cadence_ui.png delete mode 100644 docs/01-get-started/img/cadence_ui_detailed.png delete mode 100644 docs/03-concepts/index.md delete mode 100644 docs/09-about/index.md delete mode 100644 docusaurus.config.ts delete mode 100644 sidebars.ts delete mode 100644 sidebarsCommunity.js create mode 100644 src/.vuepress/components/slack-link.vue create mode 100644 src/.vuepress/config.js create mode 100644 src/.vuepress/enhanceApp.js rename {static => src/.vuepress/public}/img/arrow_divert_filled.svg (100%) rename {static => src/.vuepress/public}/img/cadence-overview.svg (100%) rename {static => src/.vuepress/public}/img/chart_bar_ascending_filled.svg (100%) rename {static => src/.vuepress/public}/img/favicon.ico (100%) rename {static => src/.vuepress/public}/img/gears_outlined.svg (100%) rename {static => src/.vuepress/public}/img/logo-white.svg (100%) rename {static => src/.vuepress/public}/img/overview.png (100%) create mode 100644 src/.vuepress/styles/index.styl create mode 100644 src/.vuepress/styles/palette.styl rename {docs => src}/GLOSSARY.md (98%) create mode 100755 src/blog/.npmignore create mode 100755 src/blog/.vuepress/config.js create mode 100755 src/blog/.vuepress/enhanceApp.js rename {blog/2021-10-19-moving-to-grpc => src/blog/.vuepress/public/img}/grpc-migration.svg (100%) create mode 100644 src/blog/.vuepress/public/img/logo-white.svg rename {blog/zonal-isolation-v1 => src/blog/.vuepress/public/img}/zone-isolation.png (100%) create mode 100755 src/blog/.vuepress/styles/index.styl create mode 100755 src/blog/.vuepress/styles/palette.styl create mode 100644 src/blog/.vuepress/theme/components/DropdownLink.vue create mode 100644 src/blog/.vuepress/theme/components/DropdownTransition.vue create mode 100644 src/blog/.vuepress/theme/components/NavLink.vue create mode 100644 src/blog/.vuepress/theme/components/NavLinks.vue create mode 100644 src/blog/.vuepress/theme/components/Navbar.vue create mode 100644 src/blog/.vuepress/theme/components/PostMeta.vue create mode 100644 src/blog/.vuepress/theme/components/Sidebar.vue create mode 100644 src/blog/.vuepress/theme/components/SidebarButton.vue create mode 100644 src/blog/.vuepress/theme/components/SidebarGroup.vue create mode 100644 src/blog/.vuepress/theme/components/SidebarLink.vue create mode 100644 src/blog/.vuepress/theme/components/SidebarLinks.vue create mode 100644 src/blog/.vuepress/theme/index.js create mode 100644 src/blog/.vuepress/theme/layouts/GlobalLayout.vue create mode 100644 src/blog/.vuepress/theme/layouts/Post.vue create mode 100644 src/blog/.vuepress/theme/util/index.js rename {blog => src/blog/_posts}/2021-09-30-long-term-commitment-and-support-for-the-cadence-project-and-its-community.md (51%) rename {blog => src/blog/_posts}/2021-10-13-announcing-cadence-oss-office-hours-and-community-sync-up.md (96%) rename {blog/2021-10-19-moving-to-grpc => src/blog/_posts}/2021-10-19-moving-to-grpc.md (51%) rename {blog => src/blog/_posts}/2022-01-31-community-spotlight-january-2022.md (97%) rename {blog => src/blog/_posts}/2022-02-28-community-spotlight-february-2022.md (92%) rename {blog => src/blog/_posts}/2022-03-31-community-spotlight-update-march-2022.md (98%) rename {blog => src/blog/_posts}/2022-04-30-community-spotlight-update-april-2022.md (87%) rename {blog => src/blog/_posts}/2022-05-31-community-spotlight-update-may-2022.md (94%) rename {blog => src/blog/_posts}/2022-06-30-community-spotlight-update-june-2022.md (98%) rename {blog => src/blog/_posts}/2022-07-31-community-spotlight-update-july-2022.md (92%) rename {blog => src/blog/_posts}/2022-08-31-community-spotlight-august-2022.md (92%) rename {blog => src/blog/_posts}/2022-09-30-community-spotlight-september-2022.md (97%) rename {blog => src/blog/_posts}/2022-10-31-community-spotlight-october-2022.md (97%) rename {blog => src/blog/_posts}/2022-11-30-community-spotlight-november-2022.md (97%) rename {blog => src/blog/_posts}/2022-12-23-community-spotlight-december-2022.md (96%) rename {blog => src/blog/_posts}/2023-01-31-community-spotlight-january-2023.md (97%) rename {blog => src/blog/_posts}/2023-02-28-community-spotlight-february.md (97%) rename {blog => src/blog/_posts}/2023-03-31-community-spotlight-march-2023.md (97%) rename {blog/2023-06-08-survey-results => src/blog/_posts}/2023-06-08-survey-results.md (80%) rename {blog => src/blog/_posts}/2023-06-28-components-of-cadence-application-setup.md (88%) rename {blog => src/blog/_posts}/2023-06-30-community-spotlight-june-2023.md (90%) rename {blog => src/blog/_posts}/2023-07-05-implement-cadence-worker-from-scratch.md (89%) rename {blog => src/blog/_posts}/2023-07-10-cadence-bad-practices-part-1.md (95%) rename {blog/2023-07-16-write-your-first-workflow-with-cadence => src/blog/_posts}/2023-07-16-write-your-first-workflow-with-cadence.md (78%) rename {blog => src/blog/_posts}/2023-07-31-community-spotlight-july-2023.md (80%) rename {blog => src/blog/_posts}/2023-08-28-nondeterministic-errors-replayers-shadowers.md (93%) rename {blog => src/blog/_posts}/2023-08-31-community-spotlight-august-2023.md (98%) rename {blog => src/blog/_posts}/2023-11-30-community-spotlight-update-november-2023.md (96%) rename {blog => src/blog/_posts}/2024-02-15-cadence-non-deterministic-common-qa.md (98%) rename {blog/2024-07-11-yearly-roadmap-update => src/blog/_posts}/2024-07-11-yearly-roadmap-update.md (97%) rename {blog => src/blog/_posts}/2024-09-05-workflow-specific-rate-limits.md (98%) rename {blog => src/blog/_posts}/2024-10-01-announcing-cadence-helm-charts-v0.md (70%) rename {blog => src/blog/_posts}/2024-3-11-community-spotlight-update-march-2024.md (79%) rename {blog/zonal-isolation-v1 => src/blog/_posts}/zonal-isolation-v1.md (81%) delete mode 100644 src/components/HomepageFeatures/index.tsx delete mode 100644 src/components/HomepageFeatures/styles.module.css delete mode 100644 src/components/TeamProfileCards/index.tsx delete mode 100644 src/css/custom.css delete mode 100644 src/css/fonts.css create mode 100644 src/datadog/CadenceClient.json create mode 100644 src/datadog/CadenceServer.json rename {docs => src/docs}/01-get-started/01-server-installation.md (85%) rename {docs => src/docs}/01-get-started/02-java-hello-world.md (94%) rename {docs => src/docs}/01-get-started/03-golang-hello-world.md (92%) rename {docs => src/docs}/01-get-started/04-video-tutorials.md (100%) rename {docs => src/docs}/01-get-started/index.md (83%) rename {docs => src/docs}/02-use-cases/01-periodic-execution.md (100%) rename {docs => src/docs}/02-use-cases/02-orchestration.md (100%) rename {docs => src/docs}/02-use-cases/03-polling.md (100%) rename {docs => src/docs}/02-use-cases/04-event-driven.md (100%) rename {docs => src/docs}/02-use-cases/05-partitioned-scan.md (100%) rename {docs => src/docs}/02-use-cases/06-batch-job.md (100%) rename {docs => src/docs}/02-use-cases/07-provisioning.md (100%) rename {docs => src/docs}/02-use-cases/08-deployment.md (100%) rename {docs => src/docs}/02-use-cases/09-operational-management.md (100%) rename {docs => src/docs}/02-use-cases/10-interactive.md (100%) rename {docs => src/docs}/02-use-cases/11-dsl.md (100%) rename {docs => src/docs}/02-use-cases/12-big-ml.md (100%) rename {docs => src/docs}/02-use-cases/index.md (100%) rename {docs => src/docs}/03-concepts/01-workflows.md (100%) rename {docs => src/docs}/03-concepts/02-activities.md (100%) rename {docs => src/docs}/03-concepts/03-events.md (100%) rename {docs => src/docs}/03-concepts/04-queries.md (92%) rename {docs => src/docs}/03-concepts/05-topology.md (96%) rename {docs => src/docs}/03-concepts/06-task-lists.md (100%) rename {docs => src/docs}/03-concepts/07-archival.md (90%) rename {docs => src/docs}/03-concepts/08-cross-dc-replication.md (97%) rename {docs => src/docs}/03-concepts/09-search-workflows.md (86%) rename {docs => src/docs}/03-concepts/10-http-api.md (99%) create mode 100644 src/docs/03-concepts/index.md rename {docs => src/docs}/04-java-client/01-client-overview.md (85%) rename {docs => src/docs}/04-java-client/02-workflow-interface.md (100%) rename {docs => src/docs}/04-java-client/03-implementing-workflows.md (99%) rename {docs => src/docs}/04-java-client/04-starting-workflow-executions.md (100%) rename {docs => src/docs}/04-java-client/05-activity-interface.md (94%) rename {docs => src/docs}/04-java-client/06-implementing-activities.md (97%) rename {docs => src/docs}/04-java-client/07-versioning.md (100%) rename {docs => src/docs}/04-java-client/08-distributed-cron.md (96%) rename {docs => src/docs}/04-java-client/09-workers.md (88%) rename {docs => src/docs}/04-java-client/10-signals.md (89%) rename {docs => src/docs}/04-java-client/11-queries.md (89%) rename {docs => src/docs}/04-java-client/12-retries.md (97%) rename {docs => src/docs}/04-java-client/13-child-workflows.md (100%) rename {docs => src/docs}/04-java-client/14-exception-handling.md (97%) rename {docs => src/docs}/04-java-client/15-continue-as-new.md (89%) rename {docs => src/docs}/04-java-client/16-side-effect.md (100%) rename {docs => src/docs}/04-java-client/17-testing.md (85%) rename {docs => src/docs}/04-java-client/18-workflow-replay-shadowing.md (89%) rename {docs => src/docs}/04-java-client/index.md (66%) rename {docs => src/docs}/05-go-client/01-workers.md (97%) rename {docs => src/docs}/05-go-client/02-create-workflows.md (100%) rename {docs => src/docs}/05-go-client/02.5-starting-workflows.md (100%) rename {docs => src/docs}/05-go-client/03-activities.md (98%) rename {docs => src/docs}/05-go-client/04-execute-activity.md (100%) rename {docs => src/docs}/05-go-client/05-child-workflows.md (100%) rename {docs => src/docs}/05-go-client/06-retries.md (100%) rename {docs => src/docs}/05-go-client/07-error-handling.md (100%) rename {docs => src/docs}/05-go-client/08-signals.md (100%) rename {docs => src/docs}/05-go-client/09-continue-as-new.md (100%) rename {docs => src/docs}/05-go-client/10-side-effect.md (100%) rename {docs => src/docs}/05-go-client/11-queries.md (100%) rename {docs => src/docs}/05-go-client/12-activity-async-completion.md (100%) rename {docs => src/docs}/05-go-client/13-workflow-testing.md (100%) rename {docs => src/docs}/05-go-client/14-workflow-versioning.md (100%) rename {docs => src/docs}/05-go-client/15-sessions.md (96%) rename {docs => src/docs}/05-go-client/16-distributed-cron.md (100%) rename {docs => src/docs}/05-go-client/17-tracing.md (89%) rename {docs => src/docs}/05-go-client/18-workflow-replay-shadowing.md (91%) rename {docs => src/docs}/05-go-client/19-workflow-non-deterministic-error.md (93%) rename {docs => src/docs}/05-go-client/index.md (79%) rename {docs => src/docs}/06-cli/index.md (94%) rename {docs => src/docs}/07-operation-guide/01-setup.md (79%) rename {docs => src/docs}/07-operation-guide/02-maintain.md (87%) rename {docs => src/docs}/07-operation-guide/03-monitoring.md (93%) rename {docs => src/docs}/07-operation-guide/04-troubleshooting.md (91%) rename {docs => src/docs}/07-operation-guide/05-migration.md (92%) rename {docs => src/docs}/07-operation-guide/index.md (100%) rename {docs => src/docs}/08-workflow-troubleshooting/01-timeouts.md (85%) rename {docs => src/docs}/08-workflow-troubleshooting/02-activity-failures.md (100%) rename {docs => src/docs}/08-workflow-troubleshooting/03-retries.md (100%) rename {docs => src/docs}/08-workflow-troubleshooting/index.md (100%) rename {docs => src/docs}/09-about/01-license.md (100%) create mode 100644 src/docs/09-about/index.md create mode 100644 src/docs/test-pages/02-code-tabs.md create mode 100644 src/docs/test-pages/03-glossary.md create mode 100644 src/docs/test-pages/index.md create mode 100644 src/grafana/prometheus/Cadence-Client.json create mode 100644 src/grafana/prometheus/Cadence-Server.json create mode 100644 src/index.md delete mode 100644 src/pages/index.module.css delete mode 100644 src/pages/index.tsx delete mode 100644 src/pages/markdown-page.md delete mode 100644 src/plugins/changelog/index.js delete mode 100644 src/remark/glossary.js create mode 100644 src/shared/config.js create mode 100644 src/shared/constants.js rename {blog/2023-06-08-survey-results => src/shared/img}/2023-survey-results/channels.png (100%) rename {blog/2023-06-08-survey-results => src/shared/img}/2023-survey-results/following.png (100%) rename {blog/2023-06-08-survey-results => src/shared/img}/2023-survey-results/help_stage.png (100%) rename {blog/2023-06-08-survey-results => src/shared/img}/2023-survey-results/improvement.png (100%) rename {blog/2023-06-08-survey-results => src/shared/img}/2023-survey-results/job_role.png (100%) rename {blog/2023-06-08-survey-results => src/shared/img}/2023-survey-results/scale.png (100%) rename {blog/2023-06-08-survey-results => src/shared/img}/2023-survey-results/scenarios.png (100%) rename {blog/2023-06-08-survey-results => src/shared/img}/2023-survey-results/support.png (100%) rename {blog/2023-06-08-survey-results => src/shared/img}/2023-survey-results/time_zone.png (100%) rename {blog/2023-06-08-survey-results => src/shared/img}/2023-survey-results/using.png (100%) rename {blog/2024-07-11-yearly-roadmap-update => src/shared/img}/2024-yearly-update/cadence-benefits.png (100%) rename {blog/2024-07-11-yearly-roadmap-update => src/shared/img}/2024-yearly-update/workflow.png (100%) rename {blog/2023-07-16-write-your-first-workflow-with-cadence => src/shared/img}/cadence_ui.png (100%) rename {blog/2023-07-16-write-your-first-workflow-with-cadence => src/shared/img}/cadence_ui_detailed.png (100%) rename {docs/05-go-client/img => src/shared/img/non-determinsitic-errors-page-visuals}/change-workflow-ownership.png (100%) create mode 100644 src/shared/styles/code.styl create mode 100644 src/shared/styles/global.styl create mode 100644 src/shared/styles/glossary.styl create mode 100644 src/shared/styles/grid.styl create mode 100644 src/shared/styles/home.styl create mode 100644 src/shared/styles/index.styl create mode 100644 src/shared/styles/nav.styl create mode 100644 src/shared/styles/palette.styl create mode 100644 src/shared/styles/sidebar.styl delete mode 100644 src/theme/prism-dql.js delete mode 100644 src/theme/prism-include-languages.js delete mode 100644 static/.nojekyll delete mode 100644 static/img/cadence-logo.svg delete mode 100644 static/img/docusaurus/docusaurus-social-card.jpg delete mode 100644 static/img/docusaurus/docusaurus.png delete mode 100644 static/img/docusaurus/favicon.ico delete mode 100644 static/img/docusaurus/logo.svg delete mode 100644 static/img/docusaurus/undraw_docusaurus_mountain.svg delete mode 100644 static/img/docusaurus/undraw_docusaurus_react.svg delete mode 100644 static/img/docusaurus/undraw_docusaurus_tree.svg delete mode 100644 static/img/gears_blue.svg delete mode 100644 static/img/social-card-min.png delete mode 100644 tsconfig.json create mode 100644 yarn.lock diff --git a/.envrc b/.envrc index 429735e47..8ba4b25bb 100644 --- a/.envrc +++ b/.envrc @@ -5,10 +5,3 @@ export NODE_VERSIONS=~/.nvm/versions/node export NODE_VERSION_PREFIX='v' export NODE_OPTIONS=--openssl-legacy-provider use node # reads .node-version, keep in sync with package.json - -# Custom env values go into .envrc.local -if [ -f .envrc.local ]; then - echo "loading .envrc.local" - source_env .envrc.local -fi - diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8ff3b2712..fb1596e7f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,15 +13,13 @@ jobs: steps: - name: Checkout πŸ›ŽοΈ - # https://github.com/actions/checkout - uses: actions/checkout@v4 + uses: actions/checkout@v3 with: persist-credentials: false - name: Use Node.js v18 - # https://github.com/actions/setup-node - uses: actions/setup-node@v4 + uses: actions/setup-node@v3 with: - node-version: lts/hydrogen + node-version: 18.x # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ cache: 'npm' - name: Install and Build πŸ”§ diff --git a/.github/workflows/publish-to-gh-pages.yml b/.github/workflows/publish-to-gh-pages.yml index c481453fc..db76c5113 100644 --- a/.github/workflows/publish-to-gh-pages.yml +++ b/.github/workflows/publish-to-gh-pages.yml @@ -1,36 +1,23 @@ name: Build and Deploy on: - workflow_dispatch: push: branches: - master -permissions: - contents: write - jobs: build-and-deploy: runs-on: ubuntu-latest - # Load environment variables from repository settings, - # environment should be named "production" - # https://github.com/cadence-workflow/Cadence-Docs/settings/environments - environment: production - env: - CADENCE_DOCS_URL: ${{ vars.CADENCE_DOCS_URL || 'https://cadenceworkflow.io' }} - CADENCE_DOCS_BASE_URL: ${{ vars.CADENCE_DOCS_BASE_URL || '/Cadence-Docs/' }} - CADENCE_DOCS_ORGANIZATION: ${{ vars.CADENCE_DOCS_ORGANIZATION || 'cadence-workflow' }} - steps: # same as build.yml - name: Checkout πŸ›ŽοΈ - uses: actions/checkout@v4 + uses: actions/checkout@v3 with: persist-credentials: false - - name: Use Node.js lts/hydrogen (v18) - uses: actions/setup-node@v4 + - name: Use Node.js v18 + uses: actions/setup-node@v3 with: - node-version: lts/hydrogen + node-version: 18.x # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ cache: 'npm' - name: Install and Build πŸ”§ @@ -42,11 +29,12 @@ jobs: - name: Configure domain uses: finnp/create-file-action@1.0.0 env: - FILE_NAME: "build/CNAME" + FILE_NAME: "dist/CNAME" FILE_DATA: ${{ secrets.CUSTOM_DOMAIN }} - name: Deploy πŸš€ - uses: JamesIves/github-pages-deploy-action@v4 + uses: JamesIves/github-pages-deploy-action@3.7.1 with: - branch: gh-pages # The branch the action should deploy to. - folder: build # The folder the action should deploy. - clean: true # Automatically remove deleted files from the deploy branch + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + BRANCH: gh-pages # 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 diff --git a/.gitignore b/.gitignore index 72cf182c4..b614f7dbf 100644 --- a/.gitignore +++ b/.gitignore @@ -1,40 +1,13 @@ -### macOS ### -# General .DS_Store -.AppleDouble -.LSOverride - -# cypress cypress/fixtures cypress/plugins cypress/support cypress/videos - -# dependencies -/node_modules - +dist +dist-blog +node_modules +npm-debug.log # package-lock file is required for cypress github action to work. # See https://github.com/marketplace/actions/cypress-io#installation for more information. # package-lock.json yarn-error.log - -### VisualStudioCode ### -.vscode/* - -# Production -/build - -# Generated files -.docusaurus -.cache-loader - -# Misc -.envrc.local -.env.local -.env.development.local -.env.test.local -.env.production.local - -npm-debug.log* -yarn-debug.log* -yarn-error.log* diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/README.md b/README.md index 911226205..0d28c3171 100644 --- a/README.md +++ b/README.md @@ -1,72 +1,19 @@ -# [Cadence docs](https://cadenceworkflow.io) · ![Build and Deploy](https://img.shields.io/github/actions/workflow/status/cadence-workflow/Cadence-Docs/publish-to-gh-pages.yml?label=Build%20and%20Deploy&link=https%3A%2F%2Fgithub.com%2Fcadence-workflow%2FCadence-Docs%2Factions%2Fworkflows%2Fpublish-to-gh-pages.yml) ![Nightly integration test](https://img.shields.io/github/actions/workflow/status/cadence-workflow/Cadence-Docs/nightly-integration-test.yml?label=Nightly%20integration%20test&link=https%3A%2F%2Fgithub.com%2Fcadence-workflow%2FCadence-Docs%2Factions%2Fworkflows%2Fnightly-integration-test.yml) +# [Cadence docs](https://cadenceworkflow.io) · ![Build and Deploy](https://img.shields.io/github/actions/workflow/status/uber/Cadence-Docs/publish-to-gh-pages.yml?label=Build%20and%20Deploy&link=https%3A%2F%2Fgithub.com%2Fuber%2FCadence-Docs%2Factions%2Fworkflows%2Fpublish-to-gh-pages.yml) ![Nightly integration test](https://img.shields.io/github/actions/workflow/status/uber/Cadence-Docs/nightly-integration-test.yml?label=Nightly%20integration%20test&link=https%3A%2F%2Fgithub.com%2Fuber%2FCadence-Docs%2Factions%2Fworkflows%2Fnightly-integration-test.yml) +## Setting up for local development +This will start a local server and can be accessed at http://localhost:8080/ +1. Run `npm install` +2. Run `npm run start` +### Adding pages to docs +1. Add the page under `Cadence-Docs/src/docs` in the correct place in the hierarchy +2. Add the page to `Cadence-Docs/src/.vuepress/config.js` -# cadenceworkflow.io - -[Cadence docs](https://cadenceworkflow.io) is built using [Docusaurus](https://docusaurus.io/). - - - -### Installation - -```console -$ npm install -``` - -### Local Development - -```console -$ npm run start -``` - -This command starts a local development server and opens up a browser window at http://localhost:3000/. Most changes are reflected live without having to restart the server. - -### Build - -```console -$ npm run build -``` - -This command generates static content into the `build` directory and can be served using any static contents hosting service. - -### Environment Variables - -In order to deploy to multiple environments, some configuration options in `docusaurus.config.ts` are made available for override through environment variables. - -```bash -# Can be replaced by your GH pages url, ie. https://.github.io/ -CADENCE_DOCS_URL=https://cadenceworkflow.io - -# For GitHub pages deployment, it is often // defaults to `/` -CADENCE_DOCS_BASE_URL=/cadence-docs/ - -# For Github pages only, this is your Github org/user name. -CADENCE_DOCS_ORGANIZATION=cadence-workflow -``` - -### Deployment - -Using SSH: - -```console -$ USE_SSH=true npm run deploy -``` - -Not using SSH: - -```console -$ GIT_USER= npm run deploy -``` - -If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch. - - -# NPM Registry - -Ensure you have a `.npmrc` [file](https://docs.npmjs.com/cli/v9/configuring-npm/npmrc/) configured with `registry=https://registry.npmjs.org/`. -This will ensure the dependencies are pulled from the correct source and to prevent internal npm registries from being pushed onto the package-lock.json +## Setting up for local development for blog pages +This will start a local server and can be accessed at http://localhost:8080/blog +1. Run `npm install` +2. Run `npm run start:blog` ## License -MIT License, please see [LICENSE](https://github.com/cadence-workflow/Cadence-Docs/blob/master/LICENSE) for details. +MIT License, please see [LICENSE](https://github.com/uber/Cadence-Docs/blob/master/LICENSE) for details. diff --git a/blog/2024-11-18-cadence-workflows-github-organization.md b/blog/2024-11-18-cadence-workflows-github-organization.md deleted file mode 100644 index 1df6f116b..000000000 --- a/blog/2024-11-18-cadence-workflows-github-organization.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: Cadence Repositories Have Moved! - -description: Discover the latest update for Cadence Workflow! Our GitHub repositories have moved to the new cadence-workflow organization. Learn more about the migration, including updated links and how this change supports the growing Cadence community - -authors: ibarrajo -tags: [announcement] -date: 2024-11-18T14:00 ---- - -We’re excited to announce that all Cadence GitHub repositories have been consolidated under the [cadence-workflow](https://github.com/cadence-workflow) organization! πŸŽ‰ - -Previously, Cadence repositories were distributed across multiple organizations at Uber: [`uber`](https://github.com/uber), [`uber-go`](https://github.com/uber-go), [`uber-common`](https://github.com/uber-common). To improve developer cohesiveness and simplify access, the Cadence Core team has migrated all open-source repositories to the [`cadence-workflow`](https://github.com/cadence-workflow) organization. - -For example, our main repository has moved from: - -πŸ‘‰ [uber/cadence](https://github.com/cadence-workflow/cadence) - -To its new home: - -πŸ‘‰ [cadence-workflow/cadence](https://github.com/cadence-workflow/cadence) - -You can find the full list of Cadence repositories here πŸ‘‰ [orgs/cadence-workflow/repositories](https://github.com/orgs/cadence-workflow/repositories) - - - -This move reflects our continued commitment to growing the Cadence community and making the project even more accessible to contributors and users. Please update your bookmarks and links accordingly. - -Thank you for being part of the Cadence journey! πŸš€ diff --git a/blog/authors.yml b/blog/authors.yml deleted file mode 100644 index f9dc491b1..000000000 --- a/blog/authors.yml +++ /dev/null @@ -1,99 +0,0 @@ -chopincode: - name: Chris Qin - title: Applications Developer @ Uber - url: https://www.linkedin.com/in/chrisqin0610/ - image_url: https://github.com/chopincode.png - page: true - socials: - linkedin: https://www.linkedin.com/in/chrisqin0610/ - github: chopincode - -enderdemirkaya: - name: Ender Demirkaya - title: Senior Manager at Uber, Cadence. Author of the Software Engineering Handbook - url: https://www.linkedin.com/in/enderdemirkaya/ - image_url: https://github.com/demirkayaender.png - page: true - socials: - linkedin: https://www.linkedin.com/in/enderdemirkaya/ - github: demirkayaender - -jakobht: - name: Jakob Haahr Taankvist - title: Software Engineer II @ Uber - url: https://www.linkedin.com/in/jakob-taankvist/ - image_url: https://github.com/jakobht.png - page: true - socials: - linkedin: https://www.linkedin.com/in/jakob-taankvist/ - github: jakobht - -ibarrajo: - name: JosuΓ© Alexander Ibarra - title: Developer Advocate @ Uber - url: https://github.com/ibarrajo/ - image_url: https://github.com/ibarrajo.png - page: true - socials: - github: ibarrajo - linkedin: https://www.linkedin.com/in/elninja/ - -kcorbett-netapp: - name: Kevin Corbett - title: Open Source Community Manager | @instaclustr @NetApp - url: https://github.com/kcorbett-netapp - image_url: https://github.com/kcorbett-netapp.png - page: true - socials: - linkedin: https://www.linkedin.com/in/kcorb95/ - github: kcorbett-netapp - -meiliang86: - name: Liang Mei - title: Engineering Manager @ Uber - url: https://www.linkedin.com/in/meiliang86/ - image_url: https://github.com/meiliang86.png - page: true - socials: - linkedin: https://www.linkedin.com/in/meiliang86/ - github: meiliang86 - -sharanf: - name: Sharan Foga - title: Director of Operations & Customer Success @ Encube Technologies - url: https://www.linkedin.com/in/sfoga/ - image_url: https://github.com/sharanf.png - page: true - socials: - linkedin: https://www.linkedin.com/in/sfoga/ - github: sharanf - -taylanisikdemir: - name: Taylan Isikdemir - title: Sr. Staff Software Engineer @ Uber - url: https://www.linkedin.com/in/taylan-isikdemir - image_url: https://github.com/taylanisikdemir.png - page: true - socials: - linkedin: https://www.linkedin.com/in/taylan-isikdemir - github: taylanisikdemir - -vytautas-karpavicius: - name: Vytautas Karpavicius - title: Software Engineer @ Uber - url: https://www.linkedin.com/in/vytautas-karpavicius - image_url: https://github.com/vytautas-karpavicius.png - page: true - socials: - linkedin: https://www.linkedin.com/in/vytautas-karpavicius - github: vytautas-karpavicius - -shaddoll: - name: Zijian Chen - title: Software Engineer @ Uber - url: https://www.linkedin.com/in/zijian-chen-5868938b/ - image_url: https://github.com/Shaddoll.png - page: true - socials: - linkedin: https://www.linkedin.com/in/zijian-chen-5868938b/ - github: Shaddoll diff --git a/blog/tags.yml b/blog/tags.yml deleted file mode 100644 index 4f228185a..000000000 --- a/blog/tags.yml +++ /dev/null @@ -1,44 +0,0 @@ -community-spotlight: - label: Community Spotlight - permalink: /community-spotlights - description: Community Spotlight tag description - -announcement: - label: Announcement - permalink: /announcements - description: Announcement tag description - -deep-dive: - label: Deep Dives - permalink: /deep-dives - description: Deep Dives tag description - -release: - label: Releases - permalink: /releases - description: Releases tag description - -roadmap: - label: Roadmap - permalink: /roadmap - description: Roadmap tag description - -testing: - label: Testing - permalink: /testing - description: Testing tag description - -cadence-operations: - label: Cadence Operations - permalink: /cadence-operations - description: Cadence Operations tag description - -introduction-to-cadence: - label: Introduction to Cadence - permalink: /introduction-to-cadence - description: Introduction to Cadence tag description - -events: - label: Events - permalink: /events - description: Events tag description diff --git a/changelog/source/authors.json b/changelog/source/authors.json deleted file mode 100644 index 9e26dfeeb..000000000 --- a/changelog/source/authors.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/community/0-support.mdx b/community/0-support.mdx deleted file mode 100644 index fa3cb4bcc..000000000 --- a/community/0-support.mdx +++ /dev/null @@ -1,28 +0,0 @@ -# Support - -On this page we've listed some Cadence-related communities that you can be a part of. -You can look up other resources in this section for additional learning materials. - -Before participating in Cadence' communities, [please read our Code of Conduct](https://github.com/cadence-workflow/cadence/tree/master?tab=coc-ov-file#readme). We have adopted the [Contributor Covenant](https://www.contributor-covenant.org/) and we expect that all community members adhere to the guidelines within. - -## Stack Overflow {#stack-overflow} - -Stack Overflow is a popular forum to ask code-level questions or if you're stuck with a specific error. Read through the [existing questions](https://stackoverflow.com/questions/tagged/cadence-workflow+uber-cadence) tagged with **cadence** or [ask your own](https://stackoverflow.com/questions/ask?tags=cadence-workflow)! - -## Discussion forums {#discussion-forums} - -There are many online forums for discussion about best practices and application architecture as well as the future of Cadence. If you have an answerable code-level question, Stack Overflow is usually a better fit. - -- [Cadence Community Slack](http://t.uber.com/cadence-slack) - -## Feature requests {#feature-requests} - -- [Github Discussions](https://github.com/cadence-workflow/cadence/discussions) - -## Bug Reports {#bug-reports} - -You can report Cadence bugs by opening an issue on the most relevant repository, the primary being [cadence-workflow/cadence](https://github.com/cadence-workflow/cadence/issues) - -## News {#news} - -For the latest news about Cadence, follow the [official Cadence blog](/blog) on this website, [**Cadence Workflow** on LinkedIn](https://www.linkedin.com/company/cadenceworkflow) and [**@cadenceworkflow** on X](https://x.com/cadenceworkflow) diff --git a/community/1-team.mdx b/community/1-team.mdx deleted file mode 100644 index 0b0e06a11..000000000 --- a/community/1-team.mdx +++ /dev/null @@ -1,12 +0,0 @@ -# Team - -import { - CoreTeamRow, -} from '@site/src/components/TeamProfileCards'; - -## Core Team {#core-team} - -> The Cadence team develops and maintains the Cadence open source project as well as foundational services for Uber's Platform. -> Current members of the Cadence team are listed in alphabetical order below. - - diff --git a/community/2-resources.mdx b/community/2-resources.mdx deleted file mode 100644 index 25b0bf724..000000000 --- a/community/2-resources.mdx +++ /dev/null @@ -1,24 +0,0 @@ -# Resources - -## Cadence documentation {#documentation} - -- Official Documentation is available on this [site](/docs/get-started) - -:::info - -::: - -## Videos {#videos} - -- - -## Articles {#articles} - -- - -## Enterprise usage {#enterprise-usage} - -- Uber -- Hashicorp -- Coinbase -- DoorDash diff --git a/community/3-contributing.mdx b/community/3-contributing.mdx deleted file mode 100644 index 0e19fa85b..000000000 --- a/community/3-contributing.mdx +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Contributing -hide_title: true -sidebar_label: Contributing ---- - -```mdx-code-block -import Contributing from "@site/CONTRIBUTING.md" - - -``` diff --git a/cypress.json b/cypress.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/cypress.json @@ -0,0 +1 @@ +{} diff --git a/cypress/integration/slack/slack-short-link.spec.js b/cypress/integration/slack/slack-short-link.spec.js new file mode 100644 index 000000000..002d44cf1 --- /dev/null +++ b/cypress/integration/slack/slack-short-link.spec.js @@ -0,0 +1,12 @@ +context('Slack short link', () => { + beforeEach(() => { + cy.visit('http://t.uber.com/cadence-slack'); + }); + + it('should redirect to the join URL', () => { + cy.location().should(({ host, pathname }) => { + expect(host).to.equal('uber-cadence.slack.com'); + expect(pathname).to.include('/join/shared_invite'); + }); + }); +}); diff --git a/docs/01-get-started/img/cadence_ui.png b/docs/01-get-started/img/cadence_ui.png deleted file mode 100644 index e53e1dcaa8d0f05685290d6e4594bb49441900b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86972 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 z 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

&TO;{qd1jhS(;9b^FSF|`= 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 diff --git a/docs/03-concepts/index.md b/docs/03-concepts/index.md deleted file mode 100644 index 3bd03570d..000000000 --- a/docs/03-concepts/index.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -layout: default -title: Introduction -permalink: /docs/concepts ---- - -# Concepts - -Cadence is a new developer friendly way to develop distributed applications. - -It borrows the core terminology from the workflow-automation space. So its concepts include [workflows](01-workflows.md) and [activities](02-activities.md). :workflow:Workflows: can react to [events](03-events.md) and return internal state through [queries](04-queries.md). - -The [deployment topology](05-topology.md) explains how all these concepts are mapped to deployable software components. - -The [HTTP API reference](10-http-api.md) describes how to use HTTP API to interact with Cadence server. diff --git a/docs/09-about/index.md b/docs/09-about/index.md deleted file mode 100644 index 02c017c2d..000000000 --- a/docs/09-about/index.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -layout: default -title: Contact us -permalink: /docs/about ---- - -# Contact us - -If you have a question, check whether it is already answered at stackoverflow under [cadence-workflow](https://stackoverflow.com/questions/tagged/cadence-workflow) tag. - -If you still need help, visit . - -If you have a feature request or a bug to report file an issue against one of the Cadence github repositories: - -* [Cadence Service and CLI](https://github.com/cadence-workflow/cadence) -* [Cadence Go Client](https://github.com/cadence-workflow/cadence-go-client) -* [Cadence Go Client Samples](https://github.com/cadence-workflow/cadence-samples) -* [Cadence Java Client](https://github.com/cadence-workflow/cadence-java-client) -* [Cadence Java Client Samples](https://github.com/cadence-workflow/cadence-java-samples) -* [Cadence Web UI](https://github.com/cadence-workflow/cadence-web) diff --git a/docusaurus.config.ts b/docusaurus.config.ts deleted file mode 100644 index 53a4e7925..000000000 --- a/docusaurus.config.ts +++ /dev/null @@ -1,314 +0,0 @@ -import path from 'path'; -import npm2yarn from '@docusaurus/remark-plugin-npm2yarn'; -import remarkMath from 'remark-math'; -import glossary from './src/remark/glossary.js'; - -import { themes as prismThemes } from 'prism-react-renderer'; -import type { Config } from '@docusaurus/types'; -import type * as Preset from '@docusaurus/preset-classic'; -import type { Options as DocsOptions } from '@docusaurus/plugin-content-docs'; -import type { Options as BlogOptions } from '@docusaurus/plugin-content-blog'; -import type { Options as PageOptions } from '@docusaurus/plugin-content-pages'; -import type { Options as IdealImageOptions } from '@docusaurus/plugin-ideal-image'; -import type { Options as ClientRedirectsOptions } from '@docusaurus/plugin-client-redirects'; -import { envReplace } from '@pnpm/config.env-replace'; - -// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...) -const defaultLocale = 'en'; - -const config: Config = { - title: 'Cadence', - tagline: 'Orchestrate with Confidence: The Open-Source Workflow Engine for Tomorrow', - favicon: 'img/favicon.ico', - - url: envReplace('${CADENCE_DOCS_URL:-https://cadenceworkflow.io}', process.env), - - // Set the // pathname under which your site is served - // For GitHub pages deployment, it is often '//' - baseUrl: envReplace('${CADENCE_DOCS_BASE_URL:-/Cadence-Docs/}', process.env), - - // GitHub pages deployment config. - // If you aren't using GitHub pages, you don't need these. - organizationName: envReplace('${CADENCE_DOCS_ORGANIZATION:-cadence-workflow}', process.env), - projectName: 'cadence-docs', // Usually your repo name. - - trailingSlash: false, - - onBrokenLinks: 'throw', - onBrokenMarkdownLinks: 'warn', - - // Even if you don't use internationalization, you can use this field to set - // useful metadata like html lang. For example, if your site is Chinese, you - // may want to replace "en" with "zh-Hans". - i18n: { - defaultLocale: 'en', - locales: ['en'], - }, - - presets: [ - [ - '@docusaurus/preset-classic', - { - docs: { - sidebarPath: './sidebars.ts', - // Remove this to remove the "edit this page" links. - editUrl: - 'https://github.com/cadence-workflow/Cadence-Docs/tree/master/', - remarkPlugins: [glossary], - } satisfies DocsOptions, - blog: { - blogTitle: 'Cadence Blog', - blogDescription: 'The latest news and updates from the Cadence team', - //postsPerPage: 'ALL', - showReadingTime: true, - feedOptions: { - type: ['rss', 'atom'], - xslt: true, - }, - blogSidebarTitle: 'Recent Posts', - editUrl: - 'https://github.com/cadence-workflow/Cadence-Docs/tree/master/', - // Useful options to enforce blogging best practices - onInlineTags: 'warn', - onInlineAuthors: 'warn', - onUntruncatedBlogPosts: 'warn', - blogSidebarCount: 'ALL', - } satisfies BlogOptions, - theme: { - customCss: './src/css/custom.css', - }, - googleTagManager: { - containerId: 'G-W63QD8QE6E', - }, - gtag: { - trackingID: 'G-W63QD8QE6E', - anonymizeIP: true, - }, - } satisfies Preset.Options, - ], - ], - - plugins: [ - [ - './src/plugins/changelog/index.js', - { - blogTitle: 'Cadence changelog', - blogDescription: - 'Keep yourself up-to-date about new features in every release', - blogSidebarCount: 'ALL', - blogSidebarTitle: 'Changelog', - routeBasePath: '/changelog', - showReadingTime: false, - postsPerPage: 20, - archiveBasePath: null, - authorsMapPath: 'authors.json', - feedOptions: { - type: 'all', - title: 'Cadence Docs changelog', - description: - 'Keep yourself up-to-date about new features in every release', - copyright: `Copyright Β© ${new Date().getFullYear()} Uber Technologies, Inc.`, - language: defaultLocale, - }, - onInlineAuthors: 'warn', - }, - ], - [ - '@docusaurus/plugin-content-docs', - { - id: 'community', - path: 'community', - routeBasePath: 'community', - editUrl: 'https://github.com/cadence-workflow/Cadence-Docs/edit/master/', - remarkPlugins: [npm2yarn], - sidebarPath: './sidebarsCommunity.js', - showLastUpdateAuthor: true, - showLastUpdateTime: true, - } satisfies DocsOptions, - ], - [ - '@docusaurus/plugin-client-redirects', - { - // redirects here only work in production build, not development - fromExtensions: ['html'], - createRedirects(routePath) { - if (routePath === '/docs' || routePath === '/docs/') { - return [`${routePath}/get-started`]; - } - return []; - }, - redirects: [ - { - from: ['/docs/support', '/docs/next/support'], - to: '/community/support', - }, - { - from: ['/docs/team', '/docs/next/team'], - to: '/community/team', - }, - { - from: ['/docs/resources', '/docs/next/resources'], - to: '/community/resources', - }, - ], - } satisfies ClientRedirectsOptions, - ], - ], - - themeConfig: { - announcementBar: { - id: 'survey_announcement', - content: - 'We are looking to hear your feedback, please fill the Cadence 2024 OSS community survey', - backgroundColor: '#fafbfc', - textColor: '#091E42', - isCloseable: true, - }, - - algolia: { - // The application ID provided by Algolia - appId: 'J7SVDVT89Z', - - // Public API key: it is safe to commit it - apiKey: 'e96333af9178875d6417a55ac276d718', - - indexName: 'cadenceworkflow', - - // Optional: see doc section below - contextualSearch: false, - - // Optional: Specify domains where the navigation should occur through window.location instead on history.push. Useful when our Algolia config crawls multiple documentation sites and we want to navigate with window.location.href to them. - externalUrlRegex: 'external\\.com|domain\\.com', - - // Optional: Replace parts of the item URLs from Algolia. Useful when using the same search index for multiple deployments using a different baseUrl. You can use regexp or string in the `from` param. For example: localhost:3000 vs myCompany.com/docs - // replaceSearchResultPathname: { - // from: '/docs/', // or as RegExp: /\/docs\// - // to: '/', - // }, - - // Optional: Algolia search parameters - searchParameters: {}, - - // Optional: path for search page that enabled by default (`false` to disable it) - searchPagePath: 'search', - - // Optional: whether the insights feature is enabled or not on Docsearch (`false` by default) - insights: true, - - //... other Algolia params - }, - // Replace with your project's social card - image: 'img/social-card-min.jpg', - navbar: { - title: '', - logo: { - alt: 'Cadence Logo', - src: 'img/cadence-logo.svg', - srcDark: "img/logo-white.svg" - }, - items: [ - { - type: 'docSidebar', - sidebarId: 'docsSidebar', - position: 'left', - label: 'Docs', - }, - { - to: '/blog', - label: 'Blog', - position: 'left' - }, - { - to: '/community/support', - label: 'Community', - position: 'left', - activeBaseRegex: `/community/`, - }, - { - type: 'dropdown', - position: 'right', - label: 'Repositories', - items: [ - { label: 'Cadence Service', href: 'https://github.com/cadence-workflow/cadence' }, - { label: 'Go Client', href: 'https://github.com/cadence-workflow/cadence-go-client' }, - { label: 'Java Client', href: 'https://github.com/cadence-workflow/cadence-java-client' }, - { label: 'Go Samples', href: 'https://github.com/cadence-workflow/cadence-samples' }, - { label: 'Java Samples', href: 'https://github.com/cadence-workflow/cadence-java-samples' }, - { label: 'Cadence Web', href: 'https://github.com/cadence-workflow/cadence-web' }, - { label: 'Cadence IDLs', href: 'https://github.com/cadence-workflow/cadence-idl' }, - { label: 'Helm Charts', href: 'https://github.com/cadence-workflow/cadence-charts' }, - ], - }, - ], - }, - footer: { - style: 'dark', - links: [ - { - title: 'Docs', - items: [ - { - label: 'Getting Started', - to: 'docs/get-started/', - }, - { - label: 'Go Client', - to: 'docs/go-client/', - }, - { - label: 'Java Client', - to: 'docs/java-client/', - }, - { - label: 'Command Line Interface', - to: 'docs/cli/', - }, - { - label: 'Operation Guide', - to: 'docs/operation-guide/', - }, - ], - }, - { - title: 'Community', - items: [ - { - label: 'Stack Overflow', - href: 'https://stackoverflow.com/questions/tagged/cadence-workflow+uber-cadence', - }, - { - label: 'Cadence Community Slack', - href: 'http://t.uber.com/cadence-slack', - }, - { - label: 'LinkedIn', - href: 'https://www.linkedin.com/company/cadenceworkflow/', - }, - ], - }, - { - title: 'More', - items: [ - { - label: 'Blog', - to: '/blog', - }, - { - label: 'GitHub', - href: 'https://github.com/cadence-workflow/cadence', - }, - ], - }, - ], - copyright: `Copyright Β© ${new Date().getFullYear()} Uber Technologies, Inc.`, - }, - prism: { - theme: prismThemes.github, - darkTheme: prismThemes.dracula, - additionalLanguages: ['go', 'java', 'bash', 'markup', 'json', 'shell-session', 'yaml', 'gradle', 'log',], - - }, - } satisfies Preset.ThemeConfig, -}; - -export default config; diff --git a/package-lock.json b/package-lock.json index 02943ff40..4ebe960dd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,391 +1,33 @@ { - "name": "cadence", + "name": "cadence-docs", "version": "1.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "cadence", + "name": "cadence-docs", "version": "1.0.0", - "dependencies": { - "@docusaurus/core": "^3.6.3", - "@docusaurus/plugin-client-redirects": "^3.6.3", - "@docusaurus/plugin-content-blog": "^3.6.3", - "@docusaurus/plugin-content-docs": "^3.6.3", - "@docusaurus/plugin-content-pages": "^3.6.3", - "@docusaurus/plugin-google-gtag": "^3.6.3", - "@docusaurus/plugin-google-tag-manager": "^3.6.3", - "@docusaurus/plugin-ideal-image": "^3.6.3", - "@docusaurus/preset-classic": "3.6.3", - "@docusaurus/remark-plugin-npm2yarn": "^3.6.3", - "@docusaurus/theme-search-algolia": "^3.6.3", - "@mdx-js/react": "^3.0.0", - "@pnpm/config.env-replace": "^3.0.0", - "clsx": "^2.0.0", - "prism-react-renderer": "^2.3.0", - "react": "^18.0.0", - "react-dom": "^18.0.0", - "remark-math": "^6.0.0" + "license": "MIT", + "dependencies": { + "@vuepress/plugin-back-to-top": "^1.4.1", + "@vuepress/plugin-search": "^1.6.0", + "@vuepress/theme-blog": "^2.3.3", + "vuepress": "^1.9.10", + "vuepress-plugin-clean-urls": "^1.1.1", + "vuepress-plugin-code-copy": "^1.0.6", + "vuepress-plugin-code-switcher": "^1.0.3", + "vuepress-plugin-fulltext-search": "^2.0.6", + "vuepress-plugin-glossary": "^1.0.2", + "vuepress-plugin-reading-progress": "^1.0.9", + "vuepress-plugin-redirect": "^1.2.5" }, "devDependencies": { - "@docusaurus/module-type-aliases": "3.6.2", - "@docusaurus/tsconfig": "3.6.2", - "@docusaurus/types": "3.6.2", - "typescript": "~5.6.2" - }, - "engines": { - "node": ">=18.0" - } - }, - "node_modules/@algolia/autocomplete-core": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.17.7.tgz", - "integrity": "sha512-BjiPOW6ks90UKl7TwMv7oNQMnzU+t/wk9mgIDi6b1tXpUek7MW0lbNOUHpvam9pe3lVCf4xPFT+lK7s+e+fs7Q==", - "dependencies": { - "@algolia/autocomplete-plugin-algolia-insights": "1.17.7", - "@algolia/autocomplete-shared": "1.17.7" - } - }, - "node_modules/@algolia/autocomplete-plugin-algolia-insights": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.7.tgz", - "integrity": "sha512-Jca5Ude6yUOuyzjnz57og7Et3aXjbwCSDf/8onLHSQgw1qW3ALl9mrMWaXb5FmPVkV3EtkD2F/+NkT6VHyPu9A==", - "dependencies": { - "@algolia/autocomplete-shared": "1.17.7" - }, - "peerDependencies": { - "search-insights": ">= 1 < 3" - } - }, - "node_modules/@algolia/autocomplete-preset-algolia": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.7.tgz", - "integrity": "sha512-ggOQ950+nwbWROq2MOCIL71RE0DdQZsceqrg32UqnhDz8FlO9rL8ONHNsI2R1MH0tkgVIDKI/D0sMiUchsFdWA==", - "dependencies": { - "@algolia/autocomplete-shared": "1.17.7" - }, - "peerDependencies": { - "@algolia/client-search": ">= 4.9.1 < 6", - "algoliasearch": ">= 4.9.1 < 6" - } - }, - "node_modules/@algolia/autocomplete-shared": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.7.tgz", - "integrity": "sha512-o/1Vurr42U/qskRSuhBH+VKxMvkkUVTLU6WZQr+L5lGZZLYWyhdzWjW0iGXY7EkwRTjBqvN2EsR81yCTGV/kmg==", - "peerDependencies": { - "@algolia/client-search": ">= 4.9.1 < 6", - "algoliasearch": ">= 4.9.1 < 6" - } - }, - "node_modules/@algolia/cache-browser-local-storage": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.24.0.tgz", - "integrity": "sha512-t63W9BnoXVrGy9iYHBgObNXqYXM3tYXCjDSHeNwnsc324r4o5UiVKUiAB4THQ5z9U5hTj6qUvwg/Ez43ZD85ww==", - "dependencies": { - "@algolia/cache-common": "4.24.0" - } - }, - "node_modules/@algolia/cache-common": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.24.0.tgz", - "integrity": "sha512-emi+v+DmVLpMGhp0V9q9h5CdkURsNmFC+cOS6uK9ndeJm9J4TiqSvPYVu+THUP8P/S08rxf5x2P+p3CfID0Y4g==" - }, - "node_modules/@algolia/cache-in-memory": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.24.0.tgz", - "integrity": "sha512-gDrt2so19jW26jY3/MkFg5mEypFIPbPoXsQGQWAi6TrCPsNOSEYepBMPlucqWigsmEy/prp5ug2jy/N3PVG/8w==", - "dependencies": { - "@algolia/cache-common": "4.24.0" - } - }, - "node_modules/@algolia/client-abtesting": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.15.0.tgz", - "integrity": "sha512-FaEM40iuiv1mAipYyiptP4EyxkJ8qHfowCpEeusdHUC4C7spATJYArD2rX3AxkVeREkDIgYEOuXcwKUbDCr7Nw==", - "dependencies": { - "@algolia/client-common": "5.15.0", - "@algolia/requester-browser-xhr": "5.15.0", - "@algolia/requester-fetch": "5.15.0", - "@algolia/requester-node-http": "5.15.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/client-account": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.24.0.tgz", - "integrity": "sha512-adcvyJ3KjPZFDybxlqnf+5KgxJtBjwTPTeyG2aOyoJvx0Y8dUQAEOEVOJ/GBxX0WWNbmaSrhDURMhc+QeevDsA==", - "dependencies": { - "@algolia/client-common": "4.24.0", - "@algolia/client-search": "4.24.0", - "@algolia/transporter": "4.24.0" - } - }, - "node_modules/@algolia/client-account/node_modules/@algolia/client-common": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", - "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", - "dependencies": { - "@algolia/requester-common": "4.24.0", - "@algolia/transporter": "4.24.0" - } - }, - "node_modules/@algolia/client-account/node_modules/@algolia/client-search": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz", - "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==", - "dependencies": { - "@algolia/client-common": "4.24.0", - "@algolia/requester-common": "4.24.0", - "@algolia/transporter": "4.24.0" - } - }, - "node_modules/@algolia/client-analytics": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.24.0.tgz", - "integrity": "sha512-y8jOZt1OjwWU4N2qr8G4AxXAzaa8DBvyHTWlHzX/7Me1LX8OayfgHexqrsL4vSBcoMmVw2XnVW9MhL+Y2ZDJXg==", - "dependencies": { - "@algolia/client-common": "4.24.0", - "@algolia/client-search": "4.24.0", - "@algolia/requester-common": "4.24.0", - "@algolia/transporter": "4.24.0" - } - }, - "node_modules/@algolia/client-analytics/node_modules/@algolia/client-common": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", - "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", - "dependencies": { - "@algolia/requester-common": "4.24.0", - "@algolia/transporter": "4.24.0" - } - }, - "node_modules/@algolia/client-analytics/node_modules/@algolia/client-search": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz", - "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==", - "dependencies": { - "@algolia/client-common": "4.24.0", - "@algolia/requester-common": "4.24.0", - "@algolia/transporter": "4.24.0" - } - }, - "node_modules/@algolia/client-common": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.15.0.tgz", - "integrity": "sha512-IofrVh213VLsDkPoSKMeM9Dshrv28jhDlBDLRcVJQvlL8pzue7PEB1EZ4UoJFYS3NSn7JOcJ/V+olRQzXlJj1w==", - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/client-insights": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.15.0.tgz", - "integrity": "sha512-bDDEQGfFidDi0UQUCbxXOCdphbVAgbVmxvaV75cypBTQkJ+ABx/Npw7LkFGw1FsoVrttlrrQbwjvUB6mLVKs/w==", - "dependencies": { - "@algolia/client-common": "5.15.0", - "@algolia/requester-browser-xhr": "5.15.0", - "@algolia/requester-fetch": "5.15.0", - "@algolia/requester-node-http": "5.15.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/client-personalization": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.24.0.tgz", - "integrity": "sha512-l5FRFm/yngztweU0HdUzz1rC4yoWCFo3IF+dVIVTfEPg906eZg5BOd1k0K6rZx5JzyyoP4LdmOikfkfGsKVE9w==", - "dependencies": { - "@algolia/client-common": "4.24.0", - "@algolia/requester-common": "4.24.0", - "@algolia/transporter": "4.24.0" - } - }, - "node_modules/@algolia/client-personalization/node_modules/@algolia/client-common": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", - "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", - "dependencies": { - "@algolia/requester-common": "4.24.0", - "@algolia/transporter": "4.24.0" - } - }, - "node_modules/@algolia/client-query-suggestions": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.15.0.tgz", - "integrity": "sha512-wu8GVluiZ5+il8WIRsGKu8VxMK9dAlr225h878GGtpTL6VBvwyJvAyLdZsfFIpY0iN++jiNb31q2C1PlPL+n/A==", - "dependencies": { - "@algolia/client-common": "5.15.0", - "@algolia/requester-browser-xhr": "5.15.0", - "@algolia/requester-fetch": "5.15.0", - "@algolia/requester-node-http": "5.15.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/client-search": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.15.0.tgz", - "integrity": "sha512-Z32gEMrRRpEta5UqVQA612sLdoqY3AovvUPClDfMxYrbdDAebmGDVPtSogUba1FZ4pP5dx20D3OV3reogLKsRA==", - "dependencies": { - "@algolia/client-common": "5.15.0", - "@algolia/requester-browser-xhr": "5.15.0", - "@algolia/requester-fetch": "5.15.0", - "@algolia/requester-node-http": "5.15.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/events": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz", - "integrity": "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==" - }, - "node_modules/@algolia/ingestion": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.15.0.tgz", - "integrity": "sha512-MkqkAxBQxtQ5if/EX2IPqFA7LothghVyvPoRNA/meS2AW2qkHwcxjuiBxv4H6mnAVEPfJlhu9rkdVz9LgCBgJg==", - "dependencies": { - "@algolia/client-common": "5.15.0", - "@algolia/requester-browser-xhr": "5.15.0", - "@algolia/requester-fetch": "5.15.0", - "@algolia/requester-node-http": "5.15.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/logger-common": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.24.0.tgz", - "integrity": "sha512-LLUNjkahj9KtKYrQhFKCzMx0BY3RnNP4FEtO+sBybCjJ73E8jNdaKJ/Dd8A/VA4imVHP5tADZ8pn5B8Ga/wTMA==" - }, - "node_modules/@algolia/logger-console": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.24.0.tgz", - "integrity": "sha512-X4C8IoHgHfiUROfoRCV+lzSy+LHMgkoEEU1BbKcsfnV0i0S20zyy0NLww9dwVHUWNfPPxdMU+/wKmLGYf96yTg==", - "dependencies": { - "@algolia/logger-common": "4.24.0" - } - }, - "node_modules/@algolia/monitoring": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.15.0.tgz", - "integrity": "sha512-QPrFnnGLMMdRa8t/4bs7XilPYnoUXDY8PMQJ1sf9ZFwhUysYYhQNX34/enoO0LBjpoOY6rLpha39YQEFbzgKyQ==", - "dependencies": { - "@algolia/client-common": "5.15.0", - "@algolia/requester-browser-xhr": "5.15.0", - "@algolia/requester-fetch": "5.15.0", - "@algolia/requester-node-http": "5.15.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/recommend": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-4.24.0.tgz", - "integrity": "sha512-P9kcgerfVBpfYHDfVZDvvdJv0lEoCvzNlOy2nykyt5bK8TyieYyiD0lguIJdRZZYGre03WIAFf14pgE+V+IBlw==", - "dependencies": { - "@algolia/cache-browser-local-storage": "4.24.0", - "@algolia/cache-common": "4.24.0", - "@algolia/cache-in-memory": "4.24.0", - "@algolia/client-common": "4.24.0", - "@algolia/client-search": "4.24.0", - "@algolia/logger-common": "4.24.0", - "@algolia/logger-console": "4.24.0", - "@algolia/requester-browser-xhr": "4.24.0", - "@algolia/requester-common": "4.24.0", - "@algolia/requester-node-http": "4.24.0", - "@algolia/transporter": "4.24.0" - } - }, - "node_modules/@algolia/recommend/node_modules/@algolia/client-common": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", - "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", - "dependencies": { - "@algolia/requester-common": "4.24.0", - "@algolia/transporter": "4.24.0" - } - }, - "node_modules/@algolia/recommend/node_modules/@algolia/client-search": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz", - "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==", - "dependencies": { - "@algolia/client-common": "4.24.0", - "@algolia/requester-common": "4.24.0", - "@algolia/transporter": "4.24.0" - } - }, - "node_modules/@algolia/recommend/node_modules/@algolia/requester-browser-xhr": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.24.0.tgz", - "integrity": "sha512-Z2NxZMb6+nVXSjF13YpjYTdvV3032YTBSGm2vnYvYPA6mMxzM3v5rsCiSspndn9rzIW4Qp1lPHBvuoKJV6jnAA==", - "dependencies": { - "@algolia/requester-common": "4.24.0" - } - }, - "node_modules/@algolia/recommend/node_modules/@algolia/requester-node-http": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.24.0.tgz", - "integrity": "sha512-JF18yTjNOVYvU/L3UosRcvbPMGT9B+/GQWNWnenIImglzNVGpyzChkXLnrSf6uxwVNO6ESGu6oN8MqcGQcjQJw==", - "dependencies": { - "@algolia/requester-common": "4.24.0" - } - }, - "node_modules/@algolia/requester-browser-xhr": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.15.0.tgz", - "integrity": "sha512-Po/GNib6QKruC3XE+WKP1HwVSfCDaZcXu48kD+gwmtDlqHWKc7Bq9lrS0sNZ456rfCKhXksOmMfUs4wRM/Y96w==", - "dependencies": { - "@algolia/client-common": "5.15.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/requester-common": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.24.0.tgz", - "integrity": "sha512-k3CXJ2OVnvgE3HMwcojpvY6d9kgKMPRxs/kVohrwF5WMr2fnqojnycZkxPoEg+bXm8fi5BBfFmOqgYztRtHsQA==" - }, - "node_modules/@algolia/requester-fetch": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.15.0.tgz", - "integrity": "sha512-rOZ+c0P7ajmccAvpeeNrUmEKoliYFL8aOR5qGW5pFq3oj3Iept7Y5mEtEsOBYsRt6qLnaXn4zUKf+N8nvJpcIw==", - "dependencies": { - "@algolia/client-common": "5.15.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/requester-node-http": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.15.0.tgz", - "integrity": "sha512-b1jTpbFf9LnQHEJP5ddDJKE2sAlhYd7EVSOWgzo/27n/SfCoHfqD0VWntnWYD83PnOKvfe8auZ2+xCb0TXotrQ==", - "dependencies": { - "@algolia/client-common": "5.15.0" + "cypress": "^6.1.0", + "http-server": "^13.0.2" }, "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/transporter": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.24.0.tgz", - "integrity": "sha512-86nI7w6NzWxd1Zp9q3413dRshDqAzSbsQjhcDhPIatEFiZrL1/TjnHL8S7jVKFePlIMzDsZWXAXwXzcok9c5oA==", - "dependencies": { - "@algolia/cache-common": "4.24.0", - "@algolia/logger-common": "4.24.0", - "@algolia/requester-common": "4.24.0" + "node": "v18.13.0", + "npm": "8.19.3" } }, "node_modules/@ampproject/remapping": { @@ -401,41 +43,40 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.26.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", - "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", "dependencies": { - "@babel/helper-validator-identifier": "^7.25.9", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.26.2", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.2.tgz", - "integrity": "sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", + "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz", - "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.0.tgz", + "integrity": "sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.26.0", - "@babel/generator": "^7.26.0", - "@babel/helper-compilation-targets": "^7.25.9", - "@babel/helper-module-transforms": "^7.26.0", - "@babel/helpers": "^7.26.0", - "@babel/parser": "^7.26.0", - "@babel/template": "^7.25.9", - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.26.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.24.0", + "@babel/parser": "^7.24.0", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.0", + "@babel/types": "^7.24.0", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -450,60 +91,50 @@ "url": "https://opencollective.com/babel" } }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/generator": { - "version": "7.26.2", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.2.tgz", - "integrity": "sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", "dependencies": { - "@babel/parser": "^7.26.2", - "@babel/types": "^7.26.0", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^3.0.2" + "@babel/types": "^7.23.6", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", - "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", "dependencies": { - "@babel/types": "^7.25.9" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.25.9.tgz", - "integrity": "sha512-C47lC7LIDCnz0h4vai/tpNOI95tCd5ZT3iBt/DBH5lXKHZsyNQv18yf1wIIg2ntiQNgmAvA+DgZ82iW8Qdym8g==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", "dependencies": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" + "@babel/types": "^7.22.15" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", - "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", "dependencies": { - "@babel/compat-data": "^7.25.9", - "@babel/helper-validator-option": "^7.25.9", - "browserslist": "^4.24.0", + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -511,25 +142,19 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz", - "integrity": "sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-member-expression-to-functions": "^7.25.9", - "@babel/helper-optimise-call-expression": "^7.25.9", - "@babel/helper-replace-supers": "^7.25.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", - "@babel/traverse": "^7.25.9", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.0.tgz", + "integrity": "sha512-QAH+vfvts51BCsNZ2PhY6HAggnlS6omLLFTsIpeqZk/MmJ6cW7tgz5yRv0fMJThcr6FmbMrENh1RgrWPTYA76g==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", "semver": "^6.3.1" }, "engines": { @@ -539,21 +164,13 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.9.tgz", - "integrity": "sha512-ORPNZ3h6ZRkOyAa/SaHU+XsLZr0UQzRwuDQ0cczIA17nAzZ+85G5cVkOJIj7QavLZGSe8QXUmNFxSZzjcZF9bw==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "regexpu-core": "^6.1.1", + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", "semver": "^6.3.1" }, "engines": { @@ -563,18 +180,10 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz", - "integrity": "sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz", + "integrity": "sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==", "dependencies": { "@babel/helper-compilation-targets": "^7.22.6", "@babel/helper-plugin-utils": "^7.22.5", @@ -586,38 +195,69 @@ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz", - "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", "dependencies": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", - "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", "dependencies": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" + "@babel/types": "^7.22.15" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", - "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", "dependencies": { - "@babel/helper-module-imports": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9", - "@babel/traverse": "^7.25.9" + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" }, "engines": { "node": ">=6.9.0" @@ -627,32 +267,32 @@ } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz", - "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", "dependencies": { - "@babel/types": "^7.25.9" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz", - "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", + "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz", - "integrity": "sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-wrap-function": "^7.25.9", - "@babel/traverse": "^7.25.9" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" }, "engines": { "node": ">=6.9.0" @@ -662,13 +302,13 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.9.tgz", - "integrity": "sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.25.9", - "@babel/helper-optimise-call-expression": "^7.25.9", - "@babel/traverse": "^7.25.9" + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -678,85 +318,105 @@ } }, "node_modules/@babel/helper-simple-access": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.25.9.tgz", - "integrity": "sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", "dependencies": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz", - "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dependencies": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", - "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", - "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", - "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz", - "integrity": "sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", "dependencies": { - "@babel/template": "^7.25.9", - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz", - "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.0.tgz", + "integrity": "sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==", "dependencies": { - "@babel/template": "^7.25.9", - "@babel/types": "^7.26.0" + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.0", + "@babel/types": "^7.24.0" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/parser": { - "version": "7.26.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.2.tgz", - "integrity": "sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==", + "node_modules/@babel/highlight": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", "dependencies": { - "@babel/types": "^7.26.0" + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz", + "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==", "bin": { "parser": "bin/babel-parser.js" }, @@ -764,13 +424,12 @@ "node": ">=6.0.0" } }, - "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz", - "integrity": "sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==", + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz", + "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/traverse": "^7.25.9" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -779,26 +438,29 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz", - "integrity": "sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==", + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", + "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.23.3" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.13.0" } }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz", - "integrity": "sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==", + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz", + "integrity": "sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -807,35 +469,36 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz", - "integrity": "sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==", + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", - "@babel/plugin-transform-optional-chaining": "^7.25.9" + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.13.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz", - "integrity": "sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==", + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.0.tgz", + "integrity": "sha512-LiT1RqZWeij7X+wGxCoYh3/3b8nVOX6/7BZ9wiQgAIyjoeQWdROaodJCgT+dwtbjHaz0r7bEbHJzjSbVfcOyjQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/traverse": "^7.25.9" + "@babel/helper-create-class-features-plugin": "^7.24.0", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-decorators": "^7.24.0" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-private-property-in-object": { @@ -849,10 +512,10 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "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==", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -860,26 +523,23 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz", - "integrity": "sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==", + "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==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", - "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -888,12 +548,12 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", - "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.0.tgz", + "integrity": "sha512-MXW3pQCu9gUiVGzqkGqsgiINDVYXoAnrY8FYF/rmb+OfufNF0zHMpHPN4ulRrinxYT8Vk/aZJxYqOKsDECjKAw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -902,41 +562,34 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz", - "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==", + "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==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "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==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.8.3" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz", - "integrity": "sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==", + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", + "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -945,14 +598,12 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.9.tgz", - "integrity": "sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==", + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", + "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-remap-async-to-generator": "^7.25.9", - "@babel/traverse": "^7.25.9" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -961,42 +612,34 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz", - "integrity": "sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==", + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dependencies": { - "@babel/helper-module-imports": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-remap-async-to-generator": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.10.4" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.9.tgz", - "integrity": "sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA==", + "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==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz", - "integrity": "sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==", + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", + "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1005,47 +648,78 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz", - "integrity": "sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==", + "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==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.10.4" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz", - "integrity": "sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==", + "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==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { - "@babel/core": "^7.12.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz", - "integrity": "sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-compilation-targets": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-replace-supers": "^7.25.9", - "@babel/traverse": "^7.25.9", - "globals": "^11.1.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==", + "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==", + "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==", + "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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -1054,13 +728,12 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz", - "integrity": "sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==", + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/template": "^7.25.9" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -1069,27 +742,27 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz", - "integrity": "sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==", + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz", - "integrity": "sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==", + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", + "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1098,12 +771,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz", - "integrity": "sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==", + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz", + "integrity": "sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20", + "@babel/plugin-syntax-async-generators": "^7.8.4" }, "engines": { "node": ">=6.9.0" @@ -1112,27 +788,28 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz", - "integrity": "sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==", + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", + "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz", - "integrity": "sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==", + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", + "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1141,13 +818,12 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.25.9.tgz", - "integrity": "sha512-KRhdhlVk2nObA5AYa7QMgTMTVJdfHprfpAk4DjZVtllqRg9qarilstTKEhpVjyt+Npi8ThRyiV8176Am3CodPA==", + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", + "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1156,12 +832,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz", - "integrity": "sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==", + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", + "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1170,13 +847,35 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.9.tgz", - "integrity": "sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==", + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", + "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.23.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz", + "integrity": "sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" }, "engines": { "node": ">=6.9.0" @@ -1185,14 +884,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz", - "integrity": "sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==", + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", + "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", "dependencies": { - "@babel/helper-compilation-targets": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/traverse": "^7.25.9" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.15" }, "engines": { "node": ">=6.9.0" @@ -1201,12 +899,12 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz", - "integrity": "sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==", + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", + "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1215,12 +913,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz", - "integrity": "sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==", + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", + "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1229,12 +928,12 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz", - "integrity": "sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==", + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", + "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1243,12 +942,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz", - "integrity": "sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==", + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", + "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -1257,13 +957,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz", - "integrity": "sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==", + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", + "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", "dependencies": { - "@babel/helper-module-transforms": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1272,14 +972,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.25.9.tgz", - "integrity": "sha512-dwh2Ol1jWwL2MgkCzUSOvfmKElqQcuswAZypBSUsScMXvgdT8Ekq5YA6TtqpTVWH+4903NmboMuH1o9i8Rxlyg==", + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", + "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", "dependencies": { - "@babel/helper-module-transforms": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-simple-access": "^7.25.9" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -1288,15 +987,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz", - "integrity": "sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==", + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz", + "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==", "dependencies": { - "@babel/helper-module-transforms": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9", - "@babel/traverse": "^7.25.9" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1305,13 +1002,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz", - "integrity": "sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==", + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", + "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", "dependencies": { - "@babel/helper-module-transforms": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1320,27 +1018,27 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz", - "integrity": "sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==", + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", + "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz", - "integrity": "sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==", + "node_modules/@babel/plugin-transform-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", + "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1349,12 +1047,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.9.tgz", - "integrity": "sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog==", + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", + "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "engines": { "node": ">=6.9.0" @@ -1363,12 +1062,12 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz", - "integrity": "sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==", + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", + "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1377,14 +1076,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz", - "integrity": "sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==", + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", + "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", "dependencies": { - "@babel/helper-compilation-targets": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/plugin-transform-parameters": "^7.25.9" + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1393,13 +1091,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz", - "integrity": "sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==", + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", + "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-replace-supers": "^7.25.9" + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1408,12 +1107,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz", - "integrity": "sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==", + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz", + "integrity": "sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20" }, "engines": { "node": ">=6.9.0" @@ -1422,13 +1124,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz", - "integrity": "sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==", + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", + "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1437,27 +1139,27 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz", - "integrity": "sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==", + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz", - "integrity": "sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==", + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", + "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1466,14 +1168,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz", - "integrity": "sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==", + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", + "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-create-class-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -1482,12 +1183,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz", - "integrity": "sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==", + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", + "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, "engines": { "node": ">=6.9.0" @@ -1496,12 +1198,16 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-react-constant-elements": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.25.9.tgz", - "integrity": "sha512-Ncw2JFsJVuvfRsa2lSHiC55kETQVLSnsYGQ1JDDwkUeWGTL/8Tom8aLTnlqgoeuopWrbbGndrc9AlLYrIosrow==", + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.0.tgz", + "integrity": "sha512-y/yKMm7buHpFFXfxVFS4Vk1ToRJDilIa6fKRioB9Vjichv58TDGXTvqV0dN7plobAmTW5eSEGXDngE+Mm+uO+w==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/compat-data": "^7.23.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.23.3" }, "engines": { "node": ">=6.9.0" @@ -1510,12 +1216,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.25.9.tgz", - "integrity": "sha512-KJfMlYIUxQB1CJfO3e0+h0ZHWOTLCPP115Awhaz8U0Zpq36Gl/cXlpoyMRnUWlhNUBAzldnCiAZNvCDj7CrKxQ==", + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", + "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20" }, "engines": { "node": ">=6.9.0" @@ -1524,16 +1231,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.9.tgz", - "integrity": "sha512-s5XwpQYCqGerXl+Pu6VDL3x0j2d82eiV77UJ8a2mDHAW7j9SWRqQ2y1fNo1Z74CdcYipl5Z41zvjj4Nfzq36rw==", + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", + "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-module-imports": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/plugin-syntax-jsx": "^7.25.9", - "@babel/types": "^7.25.9" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -1542,12 +1246,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.25.9.tgz", - "integrity": "sha512-9mj6rm7XVYs4mdLIpbZnHOYdpW42uoiBCTVowg7sP1thUOiANgMb4UtpRivR0pp5iL+ocvUv7X4mZgFRpJEzGw==", + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", + "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.25.9" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -1556,13 +1262,12 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.25.9.tgz", - "integrity": "sha512-KQ/Takk3T8Qzj5TppkS1be588lkbTp5uj7w6a0LeQaTMSckU/wK0oJ/pih+T690tkgI5jfmg2TqDJvd41Sj1Cg==", + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", + "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1571,13 +1276,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz", - "integrity": "sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==", + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", + "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "regenerator-transform": "^0.15.2" + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1586,27 +1291,29 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-regexp-modifiers": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz", - "integrity": "sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==", + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", + "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz", - "integrity": "sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==", + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", + "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1615,17 +1322,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-runtime": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.9.tgz", - "integrity": "sha512-nZp7GlEl+yULJrClz0SwHPqir3lc0zsPrDHQUcxGspSL7AKrexNSEfTbfqnDNJUO13bgKyfuOLMF8Xqtu8j3YQ==", - "dependencies": { - "@babel/helper-module-imports": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.6", - "babel-plugin-polyfill-regenerator": "^0.6.1", - "semver": "^6.3.1" + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", + "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" }, "engines": { "node": ">=6.9.0" @@ -1634,20 +1337,31 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", + "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz", - "integrity": "sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.0.tgz", + "integrity": "sha512-zc0GA5IitLKJrSfXlXmp8KDqLrnGECK7YRfQBmEKg1NmBOQ7e+KuclBEKJgzifQeUYLdNiAw4B4bjyvzWVLiSA==", + "dependencies": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0", + "babel-plugin-polyfill-corejs2": "^0.4.8", + "babel-plugin-polyfill-corejs3": "^0.9.0", + "babel-plugin-polyfill-regenerator": "^0.5.5", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -1656,13 +1370,12 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz", - "integrity": "sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==", + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", + "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1671,12 +1384,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz", - "integrity": "sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==", + "node_modules/@babel/plugin-transform-spread": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", + "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1685,12 +1399,12 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.9.tgz", - "integrity": "sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==", + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", + "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1699,12 +1413,12 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.9.tgz", - "integrity": "sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==", + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", + "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1713,16 +1427,12 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.9.tgz", - "integrity": "sha512-7PbZQZP50tzv2KGGnhh82GSyMB01yKY9scIjf1a+GfZCtInOWqUH5+1EBU4t9fyR5Oykkkc9vFTs4OHrhHXljQ==", + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", + "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-create-class-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", - "@babel/plugin-syntax-typescript": "^7.25.9" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1732,11 +1442,11 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz", - "integrity": "sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", + "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1746,12 +1456,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz", - "integrity": "sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", + "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1761,12 +1471,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz", - "integrity": "sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", + "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1776,12 +1486,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz", - "integrity": "sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", + "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1791,78 +1501,89 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.0.tgz", - "integrity": "sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==", - "dependencies": { - "@babel/compat-data": "^7.26.0", - "@babel/helper-compilation-targets": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-validator-option": "^7.25.9", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.9", - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.9", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.9", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.9", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.9", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.0.tgz", + "integrity": "sha512-ZxPEzV9IgvGn73iK0E6VB9/95Nd7aMFpbE0l8KQFDG70cOV9IxRP7Y2FUPmlK0v6ImlLqYX50iuZ3ZTVhOF2lA==", + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.7", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-import-assertions": "^7.26.0", - "@babel/plugin-syntax-import-attributes": "^7.26.0", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.23.3", + "@babel/plugin-syntax-import-attributes": "^7.23.3", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.25.9", - "@babel/plugin-transform-async-generator-functions": "^7.25.9", - "@babel/plugin-transform-async-to-generator": "^7.25.9", - "@babel/plugin-transform-block-scoped-functions": "^7.25.9", - "@babel/plugin-transform-block-scoping": "^7.25.9", - "@babel/plugin-transform-class-properties": "^7.25.9", - "@babel/plugin-transform-class-static-block": "^7.26.0", - "@babel/plugin-transform-classes": "^7.25.9", - "@babel/plugin-transform-computed-properties": "^7.25.9", - "@babel/plugin-transform-destructuring": "^7.25.9", - "@babel/plugin-transform-dotall-regex": "^7.25.9", - "@babel/plugin-transform-duplicate-keys": "^7.25.9", - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.9", - "@babel/plugin-transform-dynamic-import": "^7.25.9", - "@babel/plugin-transform-exponentiation-operator": "^7.25.9", - "@babel/plugin-transform-export-namespace-from": "^7.25.9", - "@babel/plugin-transform-for-of": "^7.25.9", - "@babel/plugin-transform-function-name": "^7.25.9", - "@babel/plugin-transform-json-strings": "^7.25.9", - "@babel/plugin-transform-literals": "^7.25.9", - "@babel/plugin-transform-logical-assignment-operators": "^7.25.9", - "@babel/plugin-transform-member-expression-literals": "^7.25.9", - "@babel/plugin-transform-modules-amd": "^7.25.9", - "@babel/plugin-transform-modules-commonjs": "^7.25.9", - "@babel/plugin-transform-modules-systemjs": "^7.25.9", - "@babel/plugin-transform-modules-umd": "^7.25.9", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.9", - "@babel/plugin-transform-new-target": "^7.25.9", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.25.9", - "@babel/plugin-transform-numeric-separator": "^7.25.9", - "@babel/plugin-transform-object-rest-spread": "^7.25.9", - "@babel/plugin-transform-object-super": "^7.25.9", - "@babel/plugin-transform-optional-catch-binding": "^7.25.9", - "@babel/plugin-transform-optional-chaining": "^7.25.9", - "@babel/plugin-transform-parameters": "^7.25.9", - "@babel/plugin-transform-private-methods": "^7.25.9", - "@babel/plugin-transform-private-property-in-object": "^7.25.9", - "@babel/plugin-transform-property-literals": "^7.25.9", - "@babel/plugin-transform-regenerator": "^7.25.9", - "@babel/plugin-transform-regexp-modifiers": "^7.26.0", - "@babel/plugin-transform-reserved-words": "^7.25.9", - "@babel/plugin-transform-shorthand-properties": "^7.25.9", - "@babel/plugin-transform-spread": "^7.25.9", - "@babel/plugin-transform-sticky-regex": "^7.25.9", - "@babel/plugin-transform-template-literals": "^7.25.9", - "@babel/plugin-transform-typeof-symbol": "^7.25.9", - "@babel/plugin-transform-unicode-escapes": "^7.25.9", - "@babel/plugin-transform-unicode-property-regex": "^7.25.9", - "@babel/plugin-transform-unicode-regex": "^7.25.9", - "@babel/plugin-transform-unicode-sets-regex": "^7.25.9", + "@babel/plugin-transform-arrow-functions": "^7.23.3", + "@babel/plugin-transform-async-generator-functions": "^7.23.9", + "@babel/plugin-transform-async-to-generator": "^7.23.3", + "@babel/plugin-transform-block-scoped-functions": "^7.23.3", + "@babel/plugin-transform-block-scoping": "^7.23.4", + "@babel/plugin-transform-class-properties": "^7.23.3", + "@babel/plugin-transform-class-static-block": "^7.23.4", + "@babel/plugin-transform-classes": "^7.23.8", + "@babel/plugin-transform-computed-properties": "^7.23.3", + "@babel/plugin-transform-destructuring": "^7.23.3", + "@babel/plugin-transform-dotall-regex": "^7.23.3", + "@babel/plugin-transform-duplicate-keys": "^7.23.3", + "@babel/plugin-transform-dynamic-import": "^7.23.4", + "@babel/plugin-transform-exponentiation-operator": "^7.23.3", + "@babel/plugin-transform-export-namespace-from": "^7.23.4", + "@babel/plugin-transform-for-of": "^7.23.6", + "@babel/plugin-transform-function-name": "^7.23.3", + "@babel/plugin-transform-json-strings": "^7.23.4", + "@babel/plugin-transform-literals": "^7.23.3", + "@babel/plugin-transform-logical-assignment-operators": "^7.23.4", + "@babel/plugin-transform-member-expression-literals": "^7.23.3", + "@babel/plugin-transform-modules-amd": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-modules-systemjs": "^7.23.9", + "@babel/plugin-transform-modules-umd": "^7.23.3", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.23.3", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", + "@babel/plugin-transform-numeric-separator": "^7.23.4", + "@babel/plugin-transform-object-rest-spread": "^7.24.0", + "@babel/plugin-transform-object-super": "^7.23.3", + "@babel/plugin-transform-optional-catch-binding": "^7.23.4", + "@babel/plugin-transform-optional-chaining": "^7.23.4", + "@babel/plugin-transform-parameters": "^7.23.3", + "@babel/plugin-transform-private-methods": "^7.23.3", + "@babel/plugin-transform-private-property-in-object": "^7.23.4", + "@babel/plugin-transform-property-literals": "^7.23.3", + "@babel/plugin-transform-regenerator": "^7.23.3", + "@babel/plugin-transform-reserved-words": "^7.23.3", + "@babel/plugin-transform-shorthand-properties": "^7.23.3", + "@babel/plugin-transform-spread": "^7.23.3", + "@babel/plugin-transform-sticky-regex": "^7.23.3", + "@babel/plugin-transform-template-literals": "^7.23.3", + "@babel/plugin-transform-typeof-symbol": "^7.23.3", + "@babel/plugin-transform-unicode-escapes": "^7.23.3", + "@babel/plugin-transform-unicode-property-regex": "^7.23.3", + "@babel/plugin-transform-unicode-regex": "^7.23.3", + "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.6", - "babel-plugin-polyfill-regenerator": "^0.6.1", - "core-js-compat": "^3.38.1", + "babel-plugin-polyfill-corejs2": "^0.4.8", + "babel-plugin-polyfill-corejs3": "^0.9.0", + "babel-plugin-polyfill-regenerator": "^0.5.5", + "core-js-compat": "^3.31.0", "semver": "^6.3.1" }, "engines": { @@ -1872,14 +1593,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/preset-modules": { "version": "0.1.6-no-external-plugins", "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", @@ -1893,60 +1606,16 @@ "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@babel/preset-react": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.25.9.tgz", - "integrity": "sha512-D3to0uSPiWE7rBrdIICCd0tJSIGpLaaGptna2+w7Pft5xMqLpA1sz99DK5TZ1TjGbdQ/VI1eCSZ06dv3lT4JOw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-validator-option": "^7.25.9", - "@babel/plugin-transform-react-display-name": "^7.25.9", - "@babel/plugin-transform-react-jsx": "^7.25.9", - "@babel/plugin-transform-react-jsx-development": "^7.25.9", - "@babel/plugin-transform-react-pure-annotations": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-typescript": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.26.0.tgz", - "integrity": "sha512-NMk1IGZ5I/oHhoXEElcm+xUnL/szL6xflkFZmoEU9xj1qSJXpiS7rsspYo92B4DRCDvZn2erT5LdsCeXAKNCkg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-validator-option": "^7.25.9", - "@babel/plugin-syntax-jsx": "^7.25.9", - "@babel/plugin-transform-modules-commonjs": "^7.25.9", - "@babel/plugin-transform-typescript": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" }, "node_modules/@babel/runtime": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz", - "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/runtime-corejs3": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.26.0.tgz", - "integrity": "sha512-YXHu5lN8kJCb1LOb9PgV6pvak43X2h4HvRApcN5SdWeaItQOzfn1hgP6jasD6KWQyJDBxrVmA9o9OivlnNJK/w==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.0.tgz", + "integrity": "sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==", "dependencies": { - "core-js-pure": "^3.30.2", "regenerator-runtime": "^0.14.0" }, "engines": { @@ -1954,28 +1623,31 @@ } }, "node_modules/@babel/template": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", - "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", + "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", "dependencies": { - "@babel/code-frame": "^7.25.9", - "@babel/parser": "^7.25.9", - "@babel/types": "^7.25.9" + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.9.tgz", - "integrity": "sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==", - "dependencies": { - "@babel/code-frame": "^7.25.9", - "@babel/generator": "^7.25.9", - "@babel/parser": "^7.25.9", - "@babel/template": "^7.25.9", - "@babel/types": "^7.25.9", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.0.tgz", + "integrity": "sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==", + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -1984,12 +1656,13 @@ } }, "node_modules/@babel/types": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.0.tgz", - "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", + "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", "dependencies": { - "@babel/helper-string-parser": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9" + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" }, "engines": { "node": ">=6.9.0" @@ -1999,4287 +1672,4619 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, "optional": true, "engines": { "node": ">=0.1.90" } }, - "node_modules/@csstools/cascade-layer-name-parser": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-2.0.4.tgz", - "integrity": "sha512-7DFHlPuIxviKYZrOiwVU/PiHLm3lLUR23OMuEEtfEOQTOp9hzQ2JjdY6X5H18RVuUPJqSCI+qNnD5iOLMVE0bA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "engines": { - "node": ">=18" + "node_modules/@cypress/listr-verbose-renderer": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@cypress/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz", + "integrity": "sha512-EDiBsVPWC27DDLEJCo+dpl9ODHhdrwU57ccr9tspwCdG2ni0QVkf6LF0FGbhfujcjPxnXLIwsaks4sOrwrA4Qw==", + "dev": true, + "dependencies": { + "chalk": "^1.1.3", + "cli-cursor": "^1.0.2", + "date-fns": "^1.27.2", + "figures": "^1.7.0" }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3" + "engines": { + "node": ">=4" } }, - "node_modules/@csstools/color-helpers": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.0.1.tgz", - "integrity": "sha512-MKtmkA0BX87PKaO1NFRTFH+UnkgnmySQOvNxJubsadusqPEC2aJ9MOQiMceZJJ6oitUl/i0L6u0M1IrmAOmgBA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "node_modules/@cypress/listr-verbose-renderer/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true, "engines": { - "node": ">=18" + "node": ">=0.10.0" } }, - "node_modules/@csstools/css-calc": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.0.tgz", - "integrity": "sha512-X69PmFOrjTZfN5ijxtI8hZ9kRADFSLrmmQ6hgDJ272Il049WGKpDY64KhrFm/7rbWve0z81QepawzjkKlqkNGw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "engines": { - "node": ">=18" + "node_modules/@cypress/listr-verbose-renderer/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "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" }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@csstools/css-color-parser": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.6.tgz", - "integrity": "sha512-S/IjXqTHdpI4EtzGoNCHfqraXF37x12ZZHA1Lk7zoT5pm2lMjFuqhX/89L7dqX4CcMacKK+6ZCs5TmEGb/+wKw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "node_modules/@cypress/listr-verbose-renderer/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@cypress/request": { + "version": "2.88.12", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.12.tgz", + "integrity": "sha512-tOn+0mDZxASFM+cuAP9szGUGPI1HwWVSvdzm7V4cCsPdFTx6qMj29CwaQmRAMIEhORIUBFBsYROYJcveK4uOjA==", + "dev": true, "dependencies": { - "@csstools/color-helpers": "^5.0.1", - "@csstools/css-calc": "^2.1.0" + "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", + "http-signature": "~1.3.6", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "performance-now": "^2.1.0", + "qs": "~6.10.3", + "safe-buffer": "^5.1.2", + "tough-cookie": "^4.1.3", + "tunnel-agent": "^0.6.0", + "uuid": "^8.3.2" }, "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3" + "node": ">= 6" } }, - "node_modules/@csstools/css-parser-algorithms": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.4.tgz", - "integrity": "sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "node_modules/@cypress/request/node_modules/qs": { + "version": "6.10.4", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz", + "integrity": "sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, "engines": { - "node": ">=18" + "node": ">=0.6" }, - "peerDependencies": { - "@csstools/css-tokenizer": "^3.0.3" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@csstools/css-tokenizer": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.3.tgz", - "integrity": "sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "engines": { - "node": ">=18" + "node_modules/@cypress/xvfb": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", + "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", + "dev": true, + "dependencies": { + "debug": "^3.1.0", + "lodash.once": "^4.1.1" } }, - "node_modules/@csstools/media-query-list-parser": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-4.0.2.tgz", - "integrity": "sha512-EUos465uvVvMJehckATTlNqGj4UJWkTmdWuDMjqvSUkjGpmOyFZBVwb4knxCm/k2GMTXY+c/5RkdndzFYWeX5A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3" + "node_modules/@cypress/xvfb/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/@csstools/postcss-cascade-layers": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-5.0.1.tgz", - "integrity": "sha512-XOfhI7GShVcKiKwmPAnWSqd2tBR0uxt+runAxttbSp/LY2U16yAVPmAf7e9q4JJ0d+xMNmpwNDLBXnmRCl3HMQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "node_modules/@hapi/address": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", + "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==", + "deprecated": "Moved to 'npm install @sideway/address'" + }, + "node_modules/@hapi/bourne": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz", + "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==", + "deprecated": "This version has been deprecated and is no longer supported or maintained" + }, + "node_modules/@hapi/hoek": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz", + "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==", + "deprecated": "This version has been deprecated and is no longer supported or maintained" + }, + "node_modules/@hapi/joi": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", + "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", + "deprecated": "Switch to 'npm install joi'", "dependencies": { - "@csstools/selector-specificity": "^5.0.0", - "postcss-selector-parser": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "@hapi/address": "2.x.x", + "@hapi/bourne": "1.x.x", + "@hapi/hoek": "8.x.x", + "@hapi/topo": "3.x.x" } }, - "node_modules/@csstools/postcss-cascade-layers/node_modules/@csstools/selector-specificity": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", - "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss-selector-parser": "^7.0.0" + "node_modules/@hapi/topo": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", + "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", + "deprecated": "This version has been deprecated and is no longer supported or maintained", + "dependencies": { + "@hapi/hoek": "^8.3.0" } }, - "node_modules/@csstools/postcss-cascade-layers/node_modules/postcss-selector-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", - "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { - "node": ">=4" + "node": ">=6.0.0" } }, - "node_modules/@csstools/postcss-color-function": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-4.0.6.tgz", - "integrity": "sha512-EcvXfC60cTIumzpsxWuvVjb7rsJEHPvqn3jeMEBUaE3JSc4FRuP7mEQ+1eicxWmIrs3FtzMH9gR3sgA5TH+ebQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "dependencies": { - "@csstools/css-color-parser": "^3.0.6", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "@csstools/postcss-progressive-custom-properties": "^4.0.0", - "@csstools/utilities": "^2.0.0" - }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">=6.0.0" } }, - "node_modules/@csstools/postcss-color-mix-function": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-3.0.6.tgz", - "integrity": "sha512-jVKdJn4+JkASYGhyPO+Wa5WXSx1+oUgaXb3JsjJn/BlrtFh5zjocCY7pwWi0nuP24V1fY7glQsxEYcYNy0dMFg==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "dependencies": { - "@csstools/css-color-parser": "^3.0.6", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "@csstools/postcss-progressive-custom-properties": "^4.0.0", - "@csstools/utilities": "^2.0.0" - }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">=6.0.0" } }, - "node_modules/@csstools/postcss-content-alt-text": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@csstools/postcss-content-alt-text/-/postcss-content-alt-text-2.0.4.tgz", - "integrity": "sha512-YItlZUOuZJCBlRaCf8Aucc1lgN41qYGALMly0qQllrxYJhiyzlI6RxOTMUvtWk+KhS8GphMDsDhKQ7KTPfEMSw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dependencies": { - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "@csstools/postcss-progressive-custom-properties": "^4.0.0", - "@csstools/utilities": "^2.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@csstools/postcss-exponential-functions": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-2.0.5.tgz", - "integrity": "sha512-mi8R6dVfA2nDoKM3wcEi64I8vOYEgQVtVKCfmLHXupeLpACfGAided5ddMt5f+CnEodNu4DifuVwb0I6fQDGGQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "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==", "dependencies": { - "@csstools/css-calc": "^2.1.0", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3" + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" }, "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">=4" } }, - "node_modules/@csstools/postcss-font-format-keywords": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-4.0.0.tgz", - "integrity": "sha512-usBzw9aCRDvchpok6C+4TXC57btc4bJtmKQWOHQxOVKen1ZfVqBUuCZ/wuqdX5GHsD0NRSr9XTP+5ID1ZZQBXw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "dependencies": { - "@csstools/utilities": "^2.0.0", - "postcss-value-parser": "^4.2.0" - }, + "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==", "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">= 6" } }, - "node_modules/@csstools/postcss-gamut-mapping": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-2.0.6.tgz", - "integrity": "sha512-0ke7fmXfc8H+kysZz246yjirAH6JFhyX9GTlyRnM0exHO80XcA9zeJpy5pOp5zo/AZiC/q5Pf+Hw7Pd6/uAoYA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "node_modules/@samverschueren/stream-to-observable": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz", + "integrity": "sha512-c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ==", + "dev": true, "dependencies": { - "@csstools/css-color-parser": "^3.0.6", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3" + "any-observable": "^0.3.0" }, "engines": { - "node": ">=18" + "node": ">=6" }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-gradients-interpolation-method": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-5.0.6.tgz", - "integrity": "sha512-Itrbx6SLUzsZ6Mz3VuOlxhbfuyLTogG5DwEF1V8dAi24iMuvQPIHd7Ti+pNDp7j6WixndJGZaoNR0f9VSzwuTg==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" + "peerDependenciesMeta": { + "rxjs": { + "optional": true }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" + "zen-observable": { + "optional": true } - ], + } + }, + "node_modules/@shigma/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@shigma/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-tO5pn6RJp8m1ldYtqY3GEQA6+Nqp1cIZVrVx7iFVPx0YfhMqfplwrvyrQPP1cCwuyRoAyDr/BxVZYt+USm8LXQ==", "dependencies": { - "@csstools/css-color-parser": "^3.0.6", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "@csstools/postcss-progressive-custom-properties": "^4.0.0", - "@csstools/utilities": "^2.0.0" + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^2.0.0" }, "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">=6" } }, - "node_modules/@csstools/postcss-hwb-function": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-4.0.6.tgz", - "integrity": "sha512-927Pqy3a1uBP7U8sTfaNdZVB0mNXzIrJO/GZ8us9219q9n06gOqCdfZ0E6d1P66Fm0fYHvxfDbfcUuwAn5UwhQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "dependencies": { - "@csstools/css-color-parser": "^3.0.6", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "@csstools/postcss-progressive-custom-properties": "^4.0.0", - "@csstools/utilities": "^2.0.0" - }, + "node_modules/@shigma/stringify-object/node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">=0.10.0" } }, - "node_modules/@csstools/postcss-ic-unit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-4.0.0.tgz", - "integrity": "sha512-9QT5TDGgx7wD3EEMN3BSUG6ckb6Eh5gSPT5kZoVtUuAonfPmLDJyPhqR4ntPpMYhUKAMVKAg3I/AgzqHMSeLhA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^4.0.0", - "@csstools/utilities": "^2.0.0", - "postcss-value-parser": "^4.2.0" - }, + "node_modules/@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">=6" } }, - "node_modules/@csstools/postcss-initial": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-initial/-/postcss-initial-2.0.0.tgz", - "integrity": "sha512-dv2lNUKR+JV+OOhZm9paWzYBXOCi+rJPqJ2cJuhh9xd8USVrd0cBEPczla81HNOyThMQWeCcdln3gZkQV2kYxA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" + "node_modules/@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "dependencies": { + "defer-to-connect": "^1.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/express": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.43", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz", + "integrity": "sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "node_modules/@types/highlight.js": { + "version": "9.12.4", + "resolved": "https://registry.npmjs.org/@types/highlight.js/-/highlight.js-9.12.4.tgz", + "integrity": "sha512-t2szdkwmg2JJyuCM20e8kR2X59WCE5Zkl4bzm1u1Oukjm79zpbiAv+QjnwLnuuV0WHEcX2NgUItu0pAMKuOPww==" + }, + "node_modules/@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.14", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", + "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" + }, + "node_modules/@types/linkify-it": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.5.tgz", + "integrity": "sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==" + }, + "node_modules/@types/markdown-it": { + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-10.0.3.tgz", + "integrity": "sha512-daHJk22isOUvNssVGF2zDnnSyxHhFYhtjeX4oQaKD6QzL3ZR1QSgiD1g+Q6/WSWYVogNXYDXODtbgW/WiFCtyw==", + "dependencies": { + "@types/highlight.js": "^9.7.0", + "@types/linkify-it": "*", + "@types/mdurl": "*", + "highlight.js": "^9.7.0" + } + }, + "node_modules/@types/mdurl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.5.tgz", + "integrity": "sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==" + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==" + }, + "node_modules/@types/minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==" + }, + "node_modules/@types/node": { + "version": "20.11.26", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.26.tgz", + "integrity": "sha512-YwOMmyhNnAWijOBQweOJnQPl068Oqd4K3OFbTc6AHJwzweUwwWG3GIFY74OKks2PJUDkQPeddOQES9mLn1CTEQ==", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/q": { + "version": "1.5.8", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.8.tgz", + "integrity": "sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==" + }, + "node_modules/@types/qs": { + "version": "6.9.12", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.12.tgz", + "integrity": "sha512-bZcOkJ6uWrL0Qb2NAWKa7TBU+mJHPzhx9jjLL1KHF+XpzEcR7EXHvjbHlGtR/IsP1vyPrehuS6XqkmaePy//mg==" + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==" + }, + "node_modules/@types/send": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz", + "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==", + "dependencies": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } + }, + "node_modules/@types/sinonjs__fake-timers": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.4.tgz", + "integrity": "sha512-IFQTJARgMUBF+xVd2b+hIgXWrZEjND3vJtRCvIelcFB5SIXfjV4bOHbHJ0eXKh+0COrBRc8MqteKAz/j88rE0A==", + "dev": true + }, + "node_modules/@types/sizzle": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.8.tgz", + "integrity": "sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==", + "dev": true + }, + "node_modules/@types/source-list-map": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.6.tgz", + "integrity": "sha512-5JcVt1u5HDmlXkwOD2nslZVllBBc7HDuOICfiZah2Z0is8M8g+ddAEawbmd3VjedfDHBzxCaXLs07QEmb7y54g==" + }, + "node_modules/@types/tapable": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.12.tgz", + "integrity": "sha512-bTHG8fcxEqv1M9+TD14P8ok8hjxoOCkfKc8XXLaaD05kI7ohpeI956jtDOD3XHKBQrlyPughUtzm1jtVhHpA5Q==" + }, + "node_modules/@types/uglify-js": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.17.5.tgz", + "integrity": "sha512-TU+fZFBTBcXj/GpDpDaBmgWk/gn96kMZ+uocaFUlV2f8a6WdMzzI44QBCmGcCiYR0Y6ZlNRiyUyKKt5nl/lbzQ==", + "dependencies": { + "source-map": "^0.6.1" + } + }, + "node_modules/@types/webpack": { + "version": "4.41.38", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.38.tgz", + "integrity": "sha512-oOW7E931XJU1mVfCnxCVgv8GLFL768pDO5u2Gzk82i8yTIgX6i7cntyZOkZYb/JtYM8252SN9bQp9tgkVDSsRw==", + "dependencies": { + "@types/node": "*", + "@types/tapable": "^1", + "@types/uglify-js": "*", + "@types/webpack-sources": "*", + "anymatch": "^3.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/@types/webpack-dev-server": { + "version": "3.11.6", + "resolved": "https://registry.npmjs.org/@types/webpack-dev-server/-/webpack-dev-server-3.11.6.tgz", + "integrity": "sha512-XCph0RiiqFGetukCTC3KVnY1jwLcZ84illFRMbyFzCcWl90B/76ew0tSqF46oBhnLC4obNDG7dMO0JfTN0MgMQ==", + "dependencies": { + "@types/connect-history-api-fallback": "*", + "@types/express": "*", + "@types/serve-static": "*", + "@types/webpack": "^4", + "http-proxy-middleware": "^1.0.0" + } + }, + "node_modules/@types/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-4nZOdMwSPHZ4pTEZzSp0AsTM4K7Qmu40UKW4tJDiOVs20UzYF9l+qUe4s0ftfN0pin06n+5cWWDJXH+sbhAiDw==", + "dependencies": { + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.7.3" + } + }, + "node_modules/@types/webpack-sources/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@vssue/api-github-v3": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/@vssue/api-github-v3/-/api-github-v3-1.4.7.tgz", + "integrity": "sha512-ukhOnzGQarmj606ZiYN9iCMyr3EJS3YEPdZXX+zBLVsuzjTL5ffLbbpXsEtPBh2XNt3Ig3XdzCvA9bVXhwy4mQ==", + "dependencies": { + "@vssue/utils": "^1.4.7", + "axios": "^0.21.1" + } + }, + "node_modules/@vssue/utils": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/@vssue/utils/-/utils-1.4.7.tgz", + "integrity": "sha512-e94karP4szmSNT2L4bgIT+VGToBSY3bdlgmGcomcD2qCXTWDK4krSOYm8ES+BhHTcmCvzQYU/xenHR4tzrythA==", + "dependencies": { + "date-fns": "^1.29.0", + "qs": "^6.6.0" + } + }, + "node_modules/@vssue/vuepress-plugin-vssue": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@vssue/vuepress-plugin-vssue/-/vuepress-plugin-vssue-1.4.8.tgz", + "integrity": "sha512-0QzegHl/Rx4/XgXswThIJi4Yk+b6AIaM450jX6p4RbOM6yOTzEKLTMduUo54Rvhq/NHNusu4Yy/w1iY8NTqBEg==", + "dependencies": { + "vssue": "^1.4.8" + }, + "peerDependencies": { + "vuepress": "^1.0.0" + } + }, + "node_modules/@vue/babel-helper-vue-jsx-merge-props": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.4.0.tgz", + "integrity": "sha512-JkqXfCkUDp4PIlFdDQ0TdXoIejMtTHP67/pvxlgeY+u5k3LEdKuWZ3LK6xkxo52uDoABIVyRwqVkfLQJhk7VBA==" + }, + "node_modules/@vue/babel-helper-vue-transform-on": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.2.1.tgz", + "integrity": "sha512-jtEXim+pfyHWwvheYwUwSXm43KwQo8nhOBDyjrUITV6X2tB7lJm6n/+4sqR8137UVZZul5hBzWHdZ2uStYpyRQ==" + }, + "node_modules/@vue/babel-plugin-jsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.2.1.tgz", + "integrity": "sha512-Yy9qGktktXhB39QE99So/BO2Uwm/ZG+gpL9vMg51ijRRbINvgbuhyJEi4WYmGRMx/MSTfK0xjgZ3/MyY+iLCEg==", + "dependencies": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.7", + "@babel/types": "^7.23.6", + "@vue/babel-helper-vue-transform-on": "1.2.1", + "@vue/babel-plugin-resolve-type": "1.2.1", + "camelcase": "^6.3.0", + "html-tags": "^3.3.1", + "svg-tags": "^1.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + } + } + }, + "node_modules/@vue/babel-plugin-resolve-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.2.1.tgz", + "integrity": "sha512-IOtnI7pHunUzHS/y+EG/yPABIAp0VN8QhQ0UCS09jeMVxgAnI9qdOzO85RXdQGxq+aWCdv8/+k3W0aYO6j/8fQ==", + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/parser": "^7.23.6", + "@vue/compiler-sfc": "^3.4.15" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-plugin-resolve-type/node_modules/@vue/compiler-sfc": { + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.21.tgz", + "integrity": "sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==", + "dependencies": { + "@babel/parser": "^7.23.9", + "@vue/compiler-core": "3.4.21", + "@vue/compiler-dom": "3.4.21", + "@vue/compiler-ssr": "3.4.21", + "@vue/shared": "3.4.21", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.7", + "postcss": "^8.4.35", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/babel-plugin-transform-vue-jsx": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.4.0.tgz", + "integrity": "sha512-Fmastxw4MMx0vlgLS4XBX0XiBbUFzoMGeVXuMV08wyOfXdikAFqBTuYPR0tlk+XskL19EzHc39SgjrPGY23JnA==", + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.4.0", + "html-tags": "^2.0.0", + "lodash.kebabcase": "^4.1.1", + "svg-tags": "^1.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-plugin-transform-vue-jsx/node_modules/html-tags": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", + "integrity": "sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@vue/babel-preset-app": { + "version": "4.5.19", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-4.5.19.tgz", + "integrity": "sha512-VCNRiAt2P/bLo09rYt3DLe6xXUMlhJwrvU18Ddd/lYJgC7s8+wvhgYs+MTx4OiAXdu58drGwSBO9SPx7C6J82Q==", + "dependencies": { + "@babel/core": "^7.11.0", + "@babel/helper-compilation-targets": "^7.9.6", + "@babel/helper-module-imports": "^7.8.3", + "@babel/plugin-proposal-class-properties": "^7.8.3", + "@babel/plugin-proposal-decorators": "^7.8.3", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-jsx": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.11.0", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.0", + "@vue/babel-plugin-jsx": "^1.0.3", + "@vue/babel-preset-jsx": "^1.2.4", + "babel-plugin-dynamic-import-node": "^2.3.3", + "core-js": "^3.6.5", + "core-js-compat": "^3.6.5", + "semver": "^6.1.0" + }, + "peerDependencies": { + "@babel/core": "*", + "core-js": "^3", + "vue": "^2 || ^3.0.0-0" + }, + "peerDependenciesMeta": { + "core-js": { + "optional": true }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" + "vue": { + "optional": true } - ], + } + }, + "node_modules/@vue/babel-preset-jsx": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.4.0.tgz", + "integrity": "sha512-QmfRpssBOPZWL5xw7fOuHNifCQcNQC1PrOo/4fu6xlhlKJJKSA3HqX92Nvgyx8fqHZTUGMPHmFA+IDqwXlqkSA==", + "dependencies": { + "@vue/babel-helper-vue-jsx-merge-props": "^1.4.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.4.0", + "@vue/babel-sugar-composition-api-inject-h": "^1.4.0", + "@vue/babel-sugar-composition-api-render-instance": "^1.4.0", + "@vue/babel-sugar-functional-vue": "^1.4.0", + "@vue/babel-sugar-inject-h": "^1.4.0", + "@vue/babel-sugar-v-model": "^1.4.0", + "@vue/babel-sugar-v-on": "^1.4.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0", + "vue": "*" + }, + "peerDependenciesMeta": { + "vue": { + "optional": true + } + } + }, + "node_modules/@vue/babel-sugar-composition-api-inject-h": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.4.0.tgz", + "integrity": "sha512-VQq6zEddJHctnG4w3TfmlVp5FzDavUSut/DwR0xVoe/mJKXyMcsIibL42wPntozITEoY90aBV0/1d2KjxHU52g==", + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-composition-api-render-instance": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.4.0.tgz", + "integrity": "sha512-6ZDAzcxvy7VcnCjNdHJ59mwK02ZFuP5CnucloidqlZwVQv5CQLijc3lGpR7MD3TWFi78J7+a8J56YxbCtHgT9Q==", + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-functional-vue": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.4.0.tgz", + "integrity": "sha512-lTEB4WUFNzYt2In6JsoF9sAYVTo84wC4e+PoZWSgM6FUtqRJz7wMylaEhSRgG71YF+wfLD6cc9nqVeXN2rwBvw==", + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-inject-h": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.4.0.tgz", + "integrity": "sha512-muwWrPKli77uO2fFM7eA3G1lAGnERuSz2NgAxuOLzrsTlQl8W4G+wwbM4nB6iewlKbwKRae3nL03UaF5ffAPMA==", + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-v-model": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.4.0.tgz", + "integrity": "sha512-0t4HGgXb7WHYLBciZzN5s0Hzqan4Ue+p/3FdQdcaHAb7s5D9WZFGoSxEZHrR1TFVZlAPu1bejTKGeAzaaG3NCQ==", + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.4.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.4.0", + "camelcase": "^5.0.0", + "html-tags": "^2.0.0", + "svg-tags": "^1.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-v-model/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@vue/babel-sugar-v-model/node_modules/html-tags": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", + "integrity": "sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@vue/babel-sugar-v-on": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.4.0.tgz", + "integrity": "sha512-m+zud4wKLzSKgQrWwhqRObWzmTuyzl6vOP7024lrpeJM4x2UhQtRDLgYjXAw9xBXjCwS0pP9kXjg91F9ZNo9JA==", + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.4.0", + "camelcase": "^5.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-v-on/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.21.tgz", + "integrity": "sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==", + "dependencies": { + "@babel/parser": "^7.23.9", + "@vue/shared": "3.4.21", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/compiler-core/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.21.tgz", + "integrity": "sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==", + "dependencies": { + "@vue/compiler-core": "3.4.21", + "@vue/shared": "3.4.21" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "2.7.16", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.16.tgz", + "integrity": "sha512-KWhJ9k5nXuNtygPU7+t1rX6baZeqOYLEforUPjgNDBnLicfHCoi48H87Q8XyLZOrNNsmhuwKqtpDQWjEFe6Ekg==", + "dependencies": { + "@babel/parser": "^7.23.5", + "postcss": "^8.4.14", + "source-map": "^0.6.1" + }, + "optionalDependencies": { + "prettier": "^1.18.2 || ^2.0.0" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.21.tgz", + "integrity": "sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==", + "dependencies": { + "@vue/compiler-dom": "3.4.21", + "@vue/shared": "3.4.21" + } + }, + "node_modules/@vue/component-compiler-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz", + "integrity": "sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==", + "dependencies": { + "consolidate": "^0.15.1", + "hash-sum": "^1.0.2", + "lru-cache": "^4.1.2", + "merge-source-map": "^1.1.0", + "postcss": "^7.0.36", + "postcss-selector-parser": "^6.0.2", + "source-map": "~0.6.1", + "vue-template-es2015-compiler": "^1.9.0" + }, + "optionalDependencies": { + "prettier": "^1.18.2 || ^2.0.0" + } + }, + "node_modules/@vue/component-compiler-utils/node_modules/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==", + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/@vue/component-compiler-utils/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/@vue/component-compiler-utils/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/@vue/component-compiler-utils/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" + }, + "node_modules/@vue/shared": { + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.21.tgz", + "integrity": "sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==" + }, + "node_modules/@vuepress/core": { + "version": "1.9.10", + "resolved": "https://registry.npmjs.org/@vuepress/core/-/core-1.9.10.tgz", + "integrity": "sha512-H9ddo5fSinPb8QYl8OJFbZikMpOW84bm/U3Drzz8CnCXNtpda7CU2wX/XzOhe98G8jp45xhtZRkxOrqzBBAShA==", + "dependencies": { + "@babel/core": "^7.8.4", + "@vue/babel-preset-app": "^4.1.2", + "@vuepress/markdown": "1.9.10", + "@vuepress/markdown-loader": "1.9.10", + "@vuepress/plugin-last-updated": "1.9.10", + "@vuepress/plugin-register-components": "1.9.10", + "@vuepress/shared-utils": "1.9.10", + "@vuepress/types": "1.9.10", + "autoprefixer": "^9.5.1", + "babel-loader": "^8.0.4", + "bundle-require": "2.1.8", + "cache-loader": "^3.0.0", + "chokidar": "^2.0.3", + "connect-history-api-fallback": "^1.5.0", + "copy-webpack-plugin": "^5.0.2", + "core-js": "^3.6.4", + "cross-spawn": "^6.0.5", + "css-loader": "^2.1.1", + "esbuild": "0.14.7", + "file-loader": "^3.0.1", + "js-yaml": "^3.13.1", + "lru-cache": "^5.1.1", + "mini-css-extract-plugin": "0.6.0", + "optimize-css-assets-webpack-plugin": "^5.0.1", + "portfinder": "^1.0.13", + "postcss-loader": "^3.0.0", + "postcss-safe-parser": "^4.0.1", + "toml": "^3.0.0", + "url-loader": "^1.0.1", + "vue": "^2.6.10", + "vue-loader": "^15.7.1", + "vue-router": "^3.4.5", + "vue-server-renderer": "^2.6.10", + "vue-template-compiler": "^2.6.10", + "vuepress-html-webpack-plugin": "^3.2.0", + "vuepress-plugin-container": "^2.0.2", + "webpack": "^4.8.1", + "webpack-chain": "^6.0.0", + "webpack-dev-server": "^3.5.1", + "webpack-merge": "^4.1.2", + "webpackbar": "3.2.0" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/@vuepress/core/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==", + "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/@vuepress/core/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@vuepress/core/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@vuepress/core/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@vuepress/core/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@vuepress/core/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/@vuepress/markdown": { + "version": "1.9.10", + "resolved": "https://registry.npmjs.org/@vuepress/markdown/-/markdown-1.9.10.tgz", + "integrity": "sha512-sXTLjeZzH8SQuAL5AEH0hhsMljjNJbzWbBvzaj5yQCCdf+3sp/dJ0kwnBSnQjFPPnzPg5t3tLKGUYHyW0KiKzA==", + "dependencies": { + "@vuepress/shared-utils": "1.9.10", + "markdown-it": "^8.4.1", + "markdown-it-anchor": "^5.0.2", + "markdown-it-chain": "^1.3.0", + "markdown-it-emoji": "^1.4.0", + "markdown-it-table-of-contents": "^0.4.0", + "prismjs": "^1.13.0" + } + }, + "node_modules/@vuepress/markdown-loader": { + "version": "1.9.10", + "resolved": "https://registry.npmjs.org/@vuepress/markdown-loader/-/markdown-loader-1.9.10.tgz", + "integrity": "sha512-94BlwKc+lOaN/A5DkyA9KWHvMlMC1sWunAXE3Tv0WYzgYLDs9QqCsx7L5kLkpcOOVVm/8kBJumnXvVBwhqJddw==", + "dependencies": { + "@vuepress/markdown": "1.9.10", + "loader-utils": "^1.1.0", + "lru-cache": "^5.1.1" + } + }, + "node_modules/@vuepress/plugin-active-header-links": { + "version": "1.9.10", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-active-header-links/-/plugin-active-header-links-1.9.10.tgz", + "integrity": "sha512-2dRr3DE2UBFXhyMtLR3sGTdRyDM8YStuY6AOoQmoSgwy1IHt7PO7ypOuf1akF+1Nv8Q2aISU06q6TExZouu3Mw==", + "dependencies": { + "@vuepress/types": "1.9.10", + "lodash.debounce": "^4.0.8" + } + }, + "node_modules/@vuepress/plugin-back-to-top": { + "version": "1.9.10", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-back-to-top/-/plugin-back-to-top-1.9.10.tgz", + "integrity": "sha512-iInIp66wu717CAnT2pyd9Bs/vAgrUBOBIQ7WMnfJo07cW/ZIothpyrSHnpCRSsfJ/jLivMPqW0pviqppt64BzQ==", + "dependencies": { + "@vuepress/types": "1.9.10", + "lodash.debounce": "^4.0.8" + } + }, + "node_modules/@vuepress/plugin-blog": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-blog/-/plugin-blog-1.9.4.tgz", + "integrity": "sha512-7A4Y3mYrSOUKdzsTjeVOKt0XgZ0m1Iqq7BeZn7y9YeZfDcZ4Fx6UldsPfK2+THwtYwGzQ7Not3zO8djyk7z3ew==", + "dependencies": { + "@vssue/api-github-v3": "^1.1.2", + "@vssue/vuepress-plugin-vssue": "^1.2.0", + "dayjs": "^1.10.3", + "vuejs-paginate": "^2.1.0", + "vuepress-plugin-disqus": "^0.2.0", + "vuepress-plugin-feed": "^0.1.8", + "vuepress-plugin-mailchimp": "^1.4.1", + "vuepress-plugin-sitemap": "^2.3.1" + } + }, + "node_modules/@vuepress/plugin-last-updated": { + "version": "1.9.10", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-last-updated/-/plugin-last-updated-1.9.10.tgz", + "integrity": "sha512-YxzWGF/OfU6WsHSynZFn74NGGp7dY27Bjy9JyyFo8wF5+2V1gpyDjveHKHGKugS/pMXlxfjzhv9E2Wmy9R7Iog==", + "dependencies": { + "@vuepress/types": "1.9.10", + "cross-spawn": "^6.0.5" + } + }, + "node_modules/@vuepress/plugin-last-updated/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==", + "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": ">=18" + "node": ">=4.8" + } + }, + "node_modules/@vuepress/plugin-last-updated/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@vuepress/plugin-last-updated/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@vuepress/plugin-last-updated/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@vuepress/plugin-last-updated/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@vuepress/plugin-last-updated/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/@vuepress/plugin-medium-zoom": { + "version": "1.9.10", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-medium-zoom/-/plugin-medium-zoom-1.9.10.tgz", + "integrity": "sha512-/MsICWZ/mUTs+ZdqqA1AVtWAtNL5ksgnnGR2X24LnXaPJp+M1IB2ETcyNKh264YVODSrmVsS/Y+kbCRK0qKkdg==", + "dependencies": { + "@vuepress/types": "1.9.10", + "medium-zoom": "^1.0.4" + } + }, + "node_modules/@vuepress/plugin-nprogress": { + "version": "1.9.10", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-nprogress/-/plugin-nprogress-1.9.10.tgz", + "integrity": "sha512-I1kkm6yWUQd7vwiV3lEDVpVP0Lr04K0zlczU502lDUa1RufSZ7vt+mlF5fOM28GqT+pKTEToWmm+VNT/R3qvMQ==", + "dependencies": { + "@vuepress/types": "1.9.10", + "nprogress": "^0.2.0" + } + }, + "node_modules/@vuepress/plugin-pwa": { + "version": "1.9.10", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-pwa/-/plugin-pwa-1.9.10.tgz", + "integrity": "sha512-pP3CUYKyIpnePswZGj9sBHJUzOczSmWSkmdoJftEnsBQT10YycJ81khS9WKEGPbTurbCOCCXsOzaEqCLysyYaA==", + "dependencies": { + "@vuepress/shared-utils": "1.9.10", + "@vuepress/types": "1.9.10", + "register-service-worker": "^1.7.0", + "workbox-build": "^4.3.1" + } + }, + "node_modules/@vuepress/plugin-register-components": { + "version": "1.9.10", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-register-components/-/plugin-register-components-1.9.10.tgz", + "integrity": "sha512-sgdJ5OydTPZAoTkselpvVP3Xsd6bfZ0FpaxOTinal0gJ99h49lvLu9bvzMx13rdGRFO/kRXn0qQQpwKTAfTPqA==", + "dependencies": { + "@vuepress/shared-utils": "1.9.10", + "@vuepress/types": "1.9.10" + } + }, + "node_modules/@vuepress/plugin-search": { + "version": "1.9.10", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-search/-/plugin-search-1.9.10.tgz", + "integrity": "sha512-bn2XJikaRgQZXvu8upCjOWrxbLHIRTqnJ3w7G0mo6jCYWGVsHNo6XhVpqylpLR2PWnHT/ImO2bGo38/5Bag/tQ==", + "dependencies": { + "@vuepress/types": "1.9.10" + } + }, + "node_modules/@vuepress/shared-utils": { + "version": "1.9.10", + "resolved": "https://registry.npmjs.org/@vuepress/shared-utils/-/shared-utils-1.9.10.tgz", + "integrity": "sha512-M9A3DocPih+V8dKK2Zg9FJQ/f3JZrYsdaM/vQ9F48l8bPlzxw5NvqXIYMK4kKcGEyerQNTWCudoCpLL5uiU0hg==", + "dependencies": { + "chalk": "^2.3.2", + "escape-html": "^1.0.3", + "fs-extra": "^7.0.1", + "globby": "^9.2.0", + "gray-matter": "^4.0.1", + "hash-sum": "^1.0.2", + "semver": "^6.0.0", + "toml": "^3.0.0", + "upath": "^1.1.0" + } + }, + "node_modules/@vuepress/theme-blog": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@vuepress/theme-blog/-/theme-blog-2.3.3.tgz", + "integrity": "sha512-t/xx/LmevJVxX8xeBE3FG6FrzBlT0t72K7yNNlrWoiNCHcPuXYSBUg2H933f3w+9qPB+YyxGmzwRVNBUSnzNdw==", + "dependencies": { + "@vuepress/plugin-blog": "^1.9.2", + "@vuepress/plugin-medium-zoom": "^1.5.4", + "@vuepress/plugin-nprogress": "^1.5.4", + "@vuepress/plugin-pwa": "^1.5.4", + "@vuepress/plugin-search": "^1.5.4", + "dayjs": "^1.8.19", + "remove-markdown": "^0.3.0", + "vue-feather-icons": "^4.21.0", + "vuepress-plugin-smooth-scroll": "^0.0.9" }, "peerDependencies": { - "postcss": "^8.4" + "vuepress": "^1.5.4" + } + }, + "node_modules/@vuepress/theme-default": { + "version": "1.9.10", + "resolved": "https://registry.npmjs.org/@vuepress/theme-default/-/theme-default-1.9.10.tgz", + "integrity": "sha512-XnXn9t+pYCIhWi3cZXJlighuy93FFm5yXdISAAlFlcNkshuGtqamkjacHV8q/QZMfOhSIs6wX7Hj88u2IsT5mw==", + "dependencies": { + "@vuepress/plugin-active-header-links": "1.9.10", + "@vuepress/plugin-nprogress": "1.9.10", + "@vuepress/plugin-search": "1.9.10", + "@vuepress/types": "1.9.10", + "docsearch.js": "^2.5.2", + "lodash": "^4.17.15", + "stylus": "^0.54.8", + "stylus-loader": "^3.0.2", + "vuepress-plugin-container": "^2.0.2", + "vuepress-plugin-smooth-scroll": "^0.0.3" + } + }, + "node_modules/@vuepress/theme-default/node_modules/vuepress-plugin-smooth-scroll": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/vuepress-plugin-smooth-scroll/-/vuepress-plugin-smooth-scroll-0.0.3.tgz", + "integrity": "sha512-qsQkDftLVFLe8BiviIHaLV0Ea38YLZKKonDGsNQy1IE0wllFpFIEldWD8frWZtDFdx6b/O3KDMgVQ0qp5NjJCg==", + "dependencies": { + "smoothscroll-polyfill": "^0.4.3" + } + }, + "node_modules/@vuepress/types": { + "version": "1.9.10", + "resolved": "https://registry.npmjs.org/@vuepress/types/-/types-1.9.10.tgz", + "integrity": "sha512-TDNQn4og85onmBpLTTXXmncW3rUnYGr2MkuI8OIFJZetDNM49t1WbjNVlrT+kx7C6qXi6okDQgrHGYXajHZWfg==", + "dependencies": { + "@types/markdown-it": "^10.0.0", + "@types/webpack-dev-server": "^3", + "webpack-chain": "^6.0.0" + } + }, + "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==", + "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==" + }, + "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==" + }, + "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==" + }, + "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==", + "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==" + }, + "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==", + "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==" + }, + "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==", + "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==", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" } }, - "node_modules/@csstools/postcss-is-pseudo-class": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-5.0.1.tgz", - "integrity": "sha512-JLp3POui4S1auhDR0n8wHd/zTOWmMsmK3nQd3hhL6FhWPaox5W7j1se6zXOG/aP07wV2ww0lxbKYGwbBszOtfQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "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==", "dependencies": { - "@csstools/selector-specificity": "^5.0.0", - "postcss-selector-parser": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "@xtuc/long": "4.2.2" } }, - "node_modules/@csstools/postcss-is-pseudo-class/node_modules/@csstools/selector-specificity": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", - "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss-selector-parser": "^7.0.0" + "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==" + }, + "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==", + "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/@csstools/postcss-is-pseudo-class/node_modules/postcss-selector-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", - "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "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==", "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" + "@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/@csstools/postcss-light-dark-function": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@csstools/postcss-light-dark-function/-/postcss-light-dark-function-2.0.7.tgz", - "integrity": "sha512-ZZ0rwlanYKOHekyIPaU+sVm3BEHCe+Ha0/px+bmHe62n0Uc1lL34vbwrLYn6ote8PHlsqzKeTQdIejQCJ05tfw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "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==", + "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==", + "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==", + "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==", + "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==" + }, + "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==" + }, + "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/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dependencies": { - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "@csstools/postcss-progressive-custom-properties": "^4.0.0", - "@csstools/utilities": "^2.0.0" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" }, "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">= 0.6" } }, - "node_modules/@csstools/postcss-logical-float-and-clear": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-float-and-clear/-/postcss-logical-float-and-clear-3.0.0.tgz", - "integrity": "sha512-SEmaHMszwakI2rqKRJgE+8rpotFfne1ZS6bZqBoQIicFyV+xT1UF42eORPxJkVJVrH9C0ctUgwMSn3BLOIZldQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "engines": { - "node": ">=18" + "node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "bin": { + "acorn": "bin/acorn" }, - "peerDependencies": { - "postcss": "^8.4" + "engines": { + "node": ">=0.4.0" } }, - "node_modules/@csstools/postcss-logical-overflow": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overflow/-/postcss-logical-overflow-2.0.0.tgz", - "integrity": "sha512-spzR1MInxPuXKEX2csMamshR4LRaSZ3UXVaRGjeQxl70ySxOhMpP2252RAFsg8QyyBXBzuVOOdx1+bVO5bPIzA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "node_modules/agentkeepalive": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-2.2.0.tgz", + "integrity": "sha512-TnB6ziK363p7lR8QpeLC8aMr8EGYBKZTpgzQLfqTs3bR0Oo5VbKdwKf8h0dSzsYrB7lSCgfJnMZKqShvlq5Oyg==", "engines": { - "node": ">=18" + "node": ">= 0.10.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "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==", "peerDependencies": { - "postcss": "^8.4" + "ajv": ">=5.0.0" } }, - "node_modules/@csstools/postcss-logical-overscroll-behavior": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overscroll-behavior/-/postcss-logical-overscroll-behavior-2.0.0.tgz", - "integrity": "sha512-e/webMjoGOSYfqLunyzByZj5KKe5oyVg/YSbie99VEaSDE2kimFm0q1f6t/6Jo+VVCQ/jbe2Xy+uX+C4xzWs4w==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "engines": { - "node": ">=18" - }, + "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==", "peerDependencies": { - "postcss": "^8.4" + "ajv": "^6.9.1" } }, - "node_modules/@csstools/postcss-logical-resize": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-resize/-/postcss-logical-resize-3.0.0.tgz", - "integrity": "sha512-DFbHQOFW/+I+MY4Ycd/QN6Dg4Hcbb50elIJCfnwkRTCX05G11SwViI5BbBlg9iHRl4ytB7pmY5ieAFk3ws7yyg==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "dependencies": { - "postcss-value-parser": "^4.2.0" + "node_modules/algoliasearch": { + "version": "3.35.1", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-3.35.1.tgz", + "integrity": "sha512-K4yKVhaHkXfJ/xcUnil04xiSrB8B8yHZoFEhWNpXg23eiCnqvTZw1tn/SqvdsANlYHLJlKl0qi3I/Q2Sqo7LwQ==", + "dependencies": { + "agentkeepalive": "^2.2.0", + "debug": "^2.6.9", + "envify": "^4.0.0", + "es6-promise": "^4.1.0", + "events": "^1.1.0", + "foreach": "^2.0.5", + "global": "^4.3.2", + "inherits": "^2.0.1", + "isarray": "^2.0.1", + "load-script": "^1.0.0", + "object-keys": "^1.0.11", + "querystring-es3": "^0.2.1", + "reduce": "^1.0.1", + "semver": "^5.1.0", + "tunnel-agent": "^0.6.0" }, "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">=0.8" } }, - "node_modules/@csstools/postcss-logical-viewport-units": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-viewport-units/-/postcss-logical-viewport-units-3.0.3.tgz", - "integrity": "sha512-OC1IlG/yoGJdi0Y+7duz/kU/beCwO+Gua01sD6GtOtLi7ByQUpcIqs7UE/xuRPay4cHgOMatWdnDdsIDjnWpPw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "node_modules/algoliasearch/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { - "@csstools/css-tokenizer": "^3.0.3", - "@csstools/utilities": "^2.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "ms": "2.0.0" } }, - "node_modules/@csstools/postcss-media-minmax": { + "node_modules/algoliasearch/node_modules/isarray": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@csstools/postcss-media-minmax/-/postcss-media-minmax-2.0.5.tgz", - "integrity": "sha512-sdh5i5GToZOIAiwhdntRWv77QDtsxP2r2gXW/WbLSCoLr00KTq/yiF1qlQ5XX2+lmiFa8rATKMcbwl3oXDMNew==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "node_modules/algoliasearch/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/algoliasearch/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha512-0FcBfdcmaumGPQ0qPn7Q5qTgz/ooXgIyp1rf8ik5bGX8mpE2YHjC0P/eyQvxu1GURYQgq9ozf2mteQ5ZD9YiyQ==" + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", "dependencies": { - "@csstools/css-calc": "^2.1.0", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "@csstools/media-query-list-parser": "^4.0.2" - }, + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">=6" } }, - "node_modules/@csstools/postcss-media-queries-aspect-ratio-number-values": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@csstools/postcss-media-queries-aspect-ratio-number-values/-/postcss-media-queries-aspect-ratio-number-values-3.0.4.tgz", - "integrity": "sha512-AnGjVslHMm5xw9keusQYvjVWvuS7KWK+OJagaG0+m9QnIjZsrysD2kJP/tr/UJIyYtMCtu8OkUd+Rajb4DqtIQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } + "node_modules/ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "engines": [ + "node >= 0.8.0" ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "engines": { + "node": ">=0.10.0" + } + }, + "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": { - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "@csstools/media-query-list-parser": "^4.0.2" + "color-convert": "^1.9.0" }, "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">=4" + } + }, + "node_modules/any-observable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz", + "integrity": "sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==", + "dev": true, + "engines": { + "node": ">=6" } }, - "node_modules/@csstools/postcss-nested-calc": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-4.0.0.tgz", - "integrity": "sha512-jMYDdqrQQxE7k9+KjstC3NbsmC063n1FTPLCgCRS2/qHUbHM0mNy9pIn4QIiQGs9I/Bg98vMqw7mJXBxa0N88A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dependencies": { - "@csstools/utilities": "^2.0.0", - "postcss-value-parser": "^4.2.0" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" }, "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">= 8" } }, - "node_modules/@csstools/postcss-normalize-display-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.0.tgz", - "integrity": "sha512-HlEoG0IDRoHXzXnkV4in47dzsxdsjdz6+j7MLjaACABX2NfvjFS6XVAnpaDyGesz9gK2SC7MbNwdCHusObKJ9Q==", + "node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true, "funding": [ { "type": "github", - "url": "https://github.com/sponsors/csstools" + "url": "https://github.com/sponsors/feross" }, { - "type": "opencollective", - "url": "https://opencollective.com/csstools" + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" } - ], + ] + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dependencies": { - "postcss-value-parser": "^4.2.0" - }, + "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": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">=0.10.0" } }, - "node_modules/@csstools/postcss-oklab-function": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-4.0.6.tgz", - "integrity": "sha512-Hptoa0uX+XsNacFBCIQKTUBrFKDiplHan42X73EklG6XmQLG7/aIvxoNhvZ7PvOWMt67Pw3bIlUY2nD6p5vL8A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "dependencies": { - "@csstools/css-color-parser": "^3.0.6", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "@csstools/postcss-progressive-custom-properties": "^4.0.0", - "@csstools/utilities": "^2.0.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": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">=0.10.0" } }, - "node_modules/@csstools/postcss-progressive-custom-properties": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-4.0.0.tgz", - "integrity": "sha512-XQPtROaQjomnvLUSy/bALTR5VCtTVUFwYs1SblvYgLSeTo2a/bMNwUwo2piXw5rTv/FEYiy5yPSXBqg9OKUx7Q==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">=0.10.0" } }, - "node_modules/@csstools/postcss-random-function": { + "node_modules/array-buffer-byte-length": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-random-function/-/postcss-random-function-1.0.1.tgz", - "integrity": "sha512-Ab/tF8/RXktQlFwVhiC70UNfpFQRhtE5fQQoP2pO+KCPGLsLdWFiOuHgSRtBOqEshCVAzR4H6o38nhvRZq8deA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", "dependencies": { - "@csstools/css-calc": "^2.1.0", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3" + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" }, "engines": { - "node": ">=18" + "node": ">= 0.4" }, - "peerDependencies": { - "postcss": "^8.4" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@csstools/postcss-relative-color-syntax": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-3.0.6.tgz", - "integrity": "sha512-yxP618Xb+ji1I624jILaYM62uEmZcmbdmFoZHoaThw896sq0vU39kqTTF+ZNic9XyPtPMvq0vyvbgmHaszq8xg==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "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==" + }, + "node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", "dependencies": { - "@csstools/css-color-parser": "^3.0.6", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "@csstools/postcss-progressive-custom-properties": "^4.0.0", - "@csstools/utilities": "^2.0.0" + "array-uniq": "^1.0.1" }, "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">=0.10.0" } }, - "node_modules/@csstools/postcss-scope-pseudo-class": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-scope-pseudo-class/-/postcss-scope-pseudo-class-4.0.1.tgz", - "integrity": "sha512-IMi9FwtH6LMNuLea1bjVMQAsUhFxJnyLSgOp/cpv5hrzWmrUYU5fm0EguNDIIOHUqzXode8F/1qkC/tEo/qN8Q==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "dependencies": { - "postcss-selector-parser": "^7.0.0" - }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">=0.10.0" } }, - "node_modules/@csstools/postcss-scope-pseudo-class/node_modules/postcss-selector-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", - "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/@csstools/postcss-sign-functions": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-sign-functions/-/postcss-sign-functions-1.1.0.tgz", - "integrity": "sha512-SLcc20Nujx/kqbSwDmj6oaXgpy3UjFhBy1sfcqPgDkHfOIfUtUVH7OXO+j7BU4v/At5s61N5ZX6shvgPwluhsA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "node_modules/array.prototype.reduce": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz", + "integrity": "sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==", "dependencies": { - "@csstools/css-calc": "^2.1.0", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" }, "engines": { - "node": ">=18" + "node": ">= 0.4" }, - "peerDependencies": { - "postcss": "^8.4" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@csstools/postcss-stepped-value-functions": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-4.0.5.tgz", - "integrity": "sha512-G6SJ6hZJkhxo6UZojVlLo14MohH4J5J7z8CRBrxxUYy9JuZiIqUo5TBYyDGcE0PLdzpg63a7mHSJz3VD+gMwqw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", "dependencies": { - "@csstools/css-calc": "^2.1.0", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3" + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" }, "engines": { - "node": ">=18" + "node": ">= 0.4" }, - "peerDependencies": { - "postcss": "^8.4" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@csstools/postcss-text-decoration-shorthand": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-4.0.1.tgz", - "integrity": "sha512-xPZIikbx6jyzWvhms27uugIc0I4ykH4keRvoa3rxX5K7lEhkbd54rjj/dv60qOCTisoS+3bmwJTeyV1VNBrXaw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", "dependencies": { - "@csstools/color-helpers": "^5.0.1", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "safer-buffer": "~2.1.0" } }, - "node_modules/@csstools/postcss-trigonometric-functions": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-4.0.5.tgz", - "integrity": "sha512-/YQThYkt5MLvAmVu7zxjhceCYlKrYddK6LEmK5I4ojlS6BmO9u2yO4+xjXzu2+NPYmHSTtP4NFSamBCMmJ1NJA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "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==", "dependencies": { - "@csstools/css-calc": "^2.1.0", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, - "node_modules/@csstools/postcss-unset-value": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-4.0.0.tgz", - "integrity": "sha512-cBz3tOCI5Fw6NIFEwU3RiwK6mn3nKegjpJuzCndoGq3BZPkUjnsq7uQmIeMNeMbMk7YD2MfKcgCpZwX5jyXqCA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" }, - "node_modules/@csstools/utilities": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@csstools/utilities/-/utilities-2.0.0.tgz", - "integrity": "sha512-5VdOr0Z71u+Yp3ozOx8T11N703wIFGVRgOWbOZMKgglPJsWA54MRIoMNVMa7shUToIhx5J8vX4sOZgD2XiihiQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "node_modules/assert": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.1.tgz", + "integrity": "sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==", + "dependencies": { + "object.assign": "^4.1.4", + "util": "^0.10.4" } }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", "engines": { - "node": ">=10.0.0" + "node": ">=0.8" } }, - "node_modules/@docsearch/css": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.8.0.tgz", - "integrity": "sha512-pieeipSOW4sQ0+bE5UFC51AOZp9NGxg89wAlZ1BAQFaiRAGK1IKUaPQ0UGZeNctJXyqZ1UvBtOQh2HH+U5GtmA==" + "node_modules/assert/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" }, - "node_modules/@docsearch/react": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.8.0.tgz", - "integrity": "sha512-WnFK720+iwTVt94CxY3u+FgX6exb3BfN5kE9xUY6uuAH/9W/UFboBZFLlrw/zxFRHoHZCOXRtOylsXF+6LHI+Q==", + "node_modules/assert/node_modules/util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", "dependencies": { - "@algolia/autocomplete-core": "1.17.7", - "@algolia/autocomplete-preset-algolia": "1.17.7", - "@docsearch/css": "3.8.0", - "algoliasearch": "^5.12.0" - }, - "peerDependencies": { - "@types/react": ">= 16.8.0 < 19.0.0", - "react": ">= 16.8.0 < 19.0.0", - "react-dom": ">= 16.8.0 < 19.0.0", - "search-insights": ">= 1 < 3" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "react": { - "optional": true - }, - "react-dom": { - "optional": true - }, - "search-insights": { - "optional": true - } + "inherits": "2.0.3" } }, - "node_modules/@docsearch/react/node_modules/@algolia/client-analytics": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.15.0.tgz", - "integrity": "sha512-lho0gTFsQDIdCwyUKTtMuf9nCLwq9jOGlLGIeQGKDxXF7HbiAysFIu5QW/iQr1LzMgDyM9NH7K98KY+BiIFriQ==", - "dependencies": { - "@algolia/client-common": "5.15.0", - "@algolia/requester-browser-xhr": "5.15.0", - "@algolia/requester-fetch": "5.15.0", - "@algolia/requester-node-http": "5.15.0" - }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", "engines": { - "node": ">= 14.0.0" + "node": ">=0.10.0" } }, - "node_modules/@docsearch/react/node_modules/@algolia/client-personalization": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.15.0.tgz", - "integrity": "sha512-LfaZqLUWxdYFq44QrasCDED5bSYOswpQjSiIL7Q5fYlefAAUO95PzBPKCfUhSwhb4rKxigHfDkd81AvEicIEoA==", - "dependencies": { - "@algolia/client-common": "5.15.0", - "@algolia/requester-browser-xhr": "5.15.0", - "@algolia/requester-fetch": "5.15.0", - "@algolia/requester-node-http": "5.15.0" - }, + "node_modules/async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", + "dev": true + }, + "node_modules/async-each": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", + "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ] + }, + "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==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "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": ">= 14.0.0" + "node": ">= 4.0.0" } }, - "node_modules/@docsearch/react/node_modules/@algolia/recommend": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.15.0.tgz", - "integrity": "sha512-5eupMwSqMLDObgSMF0XG958zR6GJP3f7jHDQ3/WlzCM9/YIJiWIUoJFGsko9GYsA5xbLDHE/PhWtq4chcCdaGQ==", - "dependencies": { - "@algolia/client-common": "5.15.0", - "@algolia/requester-browser-xhr": "5.15.0", - "@algolia/requester-fetch": "5.15.0", - "@algolia/requester-node-http": "5.15.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==", + "bin": { + "atob": "bin/atob.js" }, "engines": { - "node": ">= 14.0.0" + "node": ">= 4.5.0" } }, - "node_modules/@docsearch/react/node_modules/algoliasearch": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.15.0.tgz", - "integrity": "sha512-Yf3Swz1s63hjvBVZ/9f2P1Uu48GjmjCN+Esxb6MAONMGtZB1fRX8/S1AhUTtsuTlcGovbYLxpHgc7wEzstDZBw==", + "node_modules/autocomplete.js": { + "version": "0.36.0", + "resolved": "https://registry.npmjs.org/autocomplete.js/-/autocomplete.js-0.36.0.tgz", + "integrity": "sha512-jEwUXnVMeCHHutUt10i/8ZiRaCb0Wo+ZyKxeGsYwBDtw6EJHqEeDrq4UwZRD8YBSvp3g6klP678il2eeiVXN2Q==", "dependencies": { - "@algolia/client-abtesting": "5.15.0", - "@algolia/client-analytics": "5.15.0", - "@algolia/client-common": "5.15.0", - "@algolia/client-insights": "5.15.0", - "@algolia/client-personalization": "5.15.0", - "@algolia/client-query-suggestions": "5.15.0", - "@algolia/client-search": "5.15.0", - "@algolia/ingestion": "1.15.0", - "@algolia/monitoring": "1.15.0", - "@algolia/recommend": "5.15.0", - "@algolia/requester-browser-xhr": "5.15.0", - "@algolia/requester-fetch": "5.15.0", - "@algolia/requester-node-http": "5.15.0" - }, - "engines": { - "node": ">= 14.0.0" + "immediate": "^3.2.3" } }, - "node_modules/@docusaurus/babel": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/babel/-/babel-3.6.3.tgz", - "integrity": "sha512-7dW9Hat9EHYCVicFXYA4hjxBY38+hPuCURL8oRF9fySRm7vzNWuEOghA1TXcykuXZp0HLG2td4RhDxCvGG7tNw==", + "node_modules/autoprefixer": { + "version": "9.8.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", + "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", "dependencies": { - "@babel/core": "^7.25.9", - "@babel/generator": "^7.25.9", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-transform-runtime": "^7.25.9", - "@babel/preset-env": "^7.25.9", - "@babel/preset-react": "^7.25.9", - "@babel/preset-typescript": "^7.25.9", - "@babel/runtime": "^7.25.9", - "@babel/runtime-corejs3": "^7.25.9", - "@babel/traverse": "^7.25.9", - "@docusaurus/logger": "3.6.3", - "@docusaurus/utils": "3.6.3", - "babel-plugin-dynamic-import-node": "^2.3.3", - "fs-extra": "^11.1.1", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=18.0" - } - }, - "node_modules/@docusaurus/bundler": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/bundler/-/bundler-3.6.3.tgz", - "integrity": "sha512-47JLuc8D4wA+6VOvmMd5fUC9rFppBQpQOnxDYiVXffm/DeV/wmm3sbpNd5Y+O+G2+nevLTRnvCm/qyancv0Y3A==", - "dependencies": { - "@babel/core": "^7.25.9", - "@docusaurus/babel": "3.6.3", - "@docusaurus/cssnano-preset": "3.6.3", - "@docusaurus/logger": "3.6.3", - "@docusaurus/types": "3.6.3", - "@docusaurus/utils": "3.6.3", - "babel-loader": "^9.2.1", - "clean-css": "^5.3.2", - "copy-webpack-plugin": "^11.0.0", - "css-loader": "^6.8.1", - "css-minimizer-webpack-plugin": "^5.0.1", - "cssnano": "^6.1.2", - "file-loader": "^6.2.0", - "html-minifier-terser": "^7.2.0", - "mini-css-extract-plugin": "^2.9.1", - "null-loader": "^4.0.1", - "postcss": "^8.4.26", - "postcss-loader": "^7.3.3", - "postcss-preset-env": "^10.1.0", - "react-dev-utils": "^12.0.1", - "terser-webpack-plugin": "^5.3.9", - "tslib": "^2.6.0", - "url-loader": "^4.1.1", - "webpack": "^5.95.0", - "webpackbar": "^6.0.1" - }, - "engines": { - "node": ">=18.0" + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "picocolors": "^0.2.1", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" }, - "peerDependencies": { - "@docusaurus/faster": "*" + "bin": { + "autoprefixer": "bin/autoprefixer" }, - "peerDependenciesMeta": { - "@docusaurus/faster": { - "optional": true - } + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" } }, - "node_modules/@docusaurus/bundler/node_modules/@docusaurus/types": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.6.3.tgz", - "integrity": "sha512-xD9oTGDrouWzefkhe9ogB2fDV96/82cRpNGx2HIvI5L87JHNhQVIWimQ/3JIiiX/TEd5S9s+VO6FFguwKNRVow==", - "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.95.0", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } + "node_modules/autoprefixer/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" }, - "node_modules/@docusaurus/bundler/node_modules/webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "node_modules/autoprefixer/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.0" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" }, "engines": { - "node": ">=10.0.0" + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, - "node_modules/@docusaurus/core": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.6.3.tgz", - "integrity": "sha512-xL7FRY9Jr5DWqB6pEnqgKqcMPJOX5V0pgWXi5lCiih11sUBmcFKM7c3+GyxcVeeWFxyYSDP3grLTWqJoP4P9Vw==", + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", "dependencies": { - "@docusaurus/babel": "3.6.3", - "@docusaurus/bundler": "3.6.3", - "@docusaurus/logger": "3.6.3", - "@docusaurus/mdx-loader": "3.6.3", - "@docusaurus/utils": "3.6.3", - "@docusaurus/utils-common": "3.6.3", - "@docusaurus/utils-validation": "3.6.3", - "boxen": "^6.2.1", - "chalk": "^4.1.2", - "chokidar": "^3.5.3", - "cli-table3": "^0.6.3", - "combine-promises": "^1.1.0", - "commander": "^5.1.0", - "core-js": "^3.31.1", - "del": "^6.1.1", - "detect-port": "^1.5.1", - "escape-html": "^1.0.3", - "eta": "^2.2.0", - "eval": "^0.1.8", - "fs-extra": "^11.1.1", - "html-tags": "^3.3.1", - "html-webpack-plugin": "^5.6.0", - "leven": "^3.1.0", - "lodash": "^4.17.21", - "p-map": "^4.0.0", - "prompts": "^2.4.2", - "react-dev-utils": "^12.0.1", - "react-helmet-async": "^1.3.0", - "react-loadable": "npm:@docusaurus/react-loadable@6.0.0", - "react-loadable-ssr-addon-v5-slorber": "^1.0.1", - "react-router": "^5.3.4", - "react-router-config": "^5.1.1", - "react-router-dom": "^5.3.4", - "rtl-detect": "^1.0.4", - "semver": "^7.5.4", - "serve-handler": "^6.1.6", - "shelljs": "^0.8.5", - "tslib": "^2.6.0", - "update-notifier": "^6.0.2", - "webpack": "^5.95.0", - "webpack-bundle-analyzer": "^4.10.2", - "webpack-dev-server": "^4.15.2", - "webpack-merge": "^6.0.1" - }, - "bin": { - "docusaurus": "bin/docusaurus.mjs" + "possible-typed-array-names": "^1.0.0" }, "engines": { - "node": ">=18.0" + "node": ">= 0.4" }, - "peerDependencies": { - "@mdx-js/react": "^3.0.0", - "react": "^18.0.0", - "react-dom": "^18.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@docusaurus/cssnano-preset": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.6.3.tgz", - "integrity": "sha512-qP7SXrwZ+23GFJdPN4aIHQrZW+oH/7tzwEuc/RNL0+BdZdmIjYQqUxdXsjE4lFxLNZjj0eUrSNYIS6xwfij+5Q==", - "dependencies": { - "cssnano-preset-advanced": "^6.1.2", - "postcss": "^8.4.38", - "postcss-sort-media-queries": "^5.2.0", - "tslib": "^2.6.0" - }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", "engines": { - "node": ">=18.0" + "node": "*" } }, - "node_modules/@docusaurus/logger": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.6.3.tgz", - "integrity": "sha512-xSubJixcNyMV9wMV4q0s47CBz3Rlc5jbcCCuij8pfQP8qn/DIpt0ks8W6hQWzHAedg/J/EwxxUOUrnEoKzJo8g==", + "node_modules/aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" + }, + "node_modules/axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", "dependencies": { - "chalk": "^4.1.2", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=18.0" + "follow-redirects": "^1.14.0" } }, - "node_modules/@docusaurus/lqip-loader": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/lqip-loader/-/lqip-loader-3.6.3.tgz", - "integrity": "sha512-GlQIhVpskcD7T1Lm/eYR+T0ZurEly3291t/KIJCRZcl3ggVcpRlPDXVx3X2o6O5ESClEt5V5ev0i1J9UaCw8IQ==", + "node_modules/babel-extract-comments": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz", + "integrity": "sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ==", "dependencies": { - "@docusaurus/logger": "3.6.3", - "file-loader": "^6.2.0", - "lodash": "^4.17.21", - "sharp": "^0.32.3", - "tslib": "^2.6.0" + "babylon": "^6.18.0" }, "engines": { - "node": ">=18.0" + "node": ">=4" } }, - "node_modules/@docusaurus/mdx-loader": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.6.3.tgz", - "integrity": "sha512-3iJdiDz9540ppBseeI93tWTDtUGVkxzh59nMq4ignylxMuXBLK8dFqVeaEor23v1vx6TrGKZ2FuLaTB+U7C0QQ==", + "node_modules/babel-helper-vue-jsx-merge-props": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz", + "integrity": "sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg==" + }, + "node_modules/babel-loader": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", + "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", "dependencies": { - "@docusaurus/logger": "3.6.3", - "@docusaurus/utils": "3.6.3", - "@docusaurus/utils-validation": "3.6.3", - "@mdx-js/mdx": "^3.0.0", - "@slorber/remark-comment": "^1.0.0", - "escape-html": "^1.0.3", - "estree-util-value-to-estree": "^3.0.1", - "file-loader": "^6.2.0", - "fs-extra": "^11.1.1", - "image-size": "^1.0.2", - "mdast-util-mdx": "^3.0.0", - "mdast-util-to-string": "^4.0.0", - "rehype-raw": "^7.0.0", - "remark-directive": "^3.0.0", - "remark-emoji": "^4.0.0", - "remark-frontmatter": "^5.0.0", - "remark-gfm": "^4.0.0", - "stringify-object": "^3.3.0", - "tslib": "^2.6.0", - "unified": "^11.0.3", - "unist-util-visit": "^5.0.0", - "url-loader": "^4.1.1", - "vfile": "^6.0.1", - "webpack": "^5.88.1" + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" }, "engines": { - "node": ">=18.0" + "node": ">= 8.9" }, "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" + "@babel/core": "^7.0.0", + "webpack": ">=2" } }, - "node_modules/@docusaurus/module-type-aliases": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.6.2.tgz", - "integrity": "sha512-NrJkL2rLTCjHtWOqUvWzwqvJrsKLj0gVJeV6q5yeKdKKgItietcTf2fTRkM9LHKSUN8CBDXxwHABeQvTahvmXQ==", - "dev": true, + "node_modules/babel-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dependencies": { - "@docusaurus/types": "3.6.2", - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router-config": "*", - "@types/react-router-dom": "*", - "react-helmet-async": "*", - "react-loadable": "npm:@docusaurus/react-loadable@6.0.0" - }, - "peerDependencies": { - "react": "*", - "react-dom": "*" - } - }, - "node_modules/@docusaurus/plugin-client-redirects": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-3.6.3.tgz", - "integrity": "sha512-fQDCxoJCO1jXNQGQmhgYoX3Yx+Z2xSbrLf3PBET6pHnsRk6gGW/VuCHcfQuZlJzbTxN0giQ5u3XcQQ/LzXftJA==", - "dependencies": { - "@docusaurus/core": "3.6.3", - "@docusaurus/logger": "3.6.3", - "@docusaurus/utils": "3.6.3", - "@docusaurus/utils-common": "3.6.3", - "@docusaurus/utils-validation": "3.6.3", - "eta": "^2.2.0", - "fs-extra": "^11.1.1", - "lodash": "^4.17.21", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@docusaurus/plugin-content-blog": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.6.3.tgz", - "integrity": "sha512-k0ogWwwJU3pFRFfvW1kRVHxzf2DutLGaaLjAnHVEU6ju+aRP0Z5ap/13DHyPOfHeE4WKpn/M0TqjdwZAcY3kAw==", - "dependencies": { - "@docusaurus/core": "3.6.3", - "@docusaurus/logger": "3.6.3", - "@docusaurus/mdx-loader": "3.6.3", - "@docusaurus/theme-common": "3.6.3", - "@docusaurus/types": "3.6.3", - "@docusaurus/utils": "3.6.3", - "@docusaurus/utils-common": "3.6.3", - "@docusaurus/utils-validation": "3.6.3", - "cheerio": "1.0.0-rc.12", - "feed": "^4.2.2", - "fs-extra": "^11.1.1", - "lodash": "^4.17.21", - "reading-time": "^1.5.0", - "srcset": "^4.0.0", - "tslib": "^2.6.0", - "unist-util-visit": "^5.0.0", - "utility-types": "^3.10.0", - "webpack": "^5.88.1" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" }, "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "@docusaurus/plugin-content-docs": "*", - "react": "^18.0.0", - "react-dom": "^18.0.0" + "node": ">=8.9.0" } }, - "node_modules/@docusaurus/plugin-content-blog/node_modules/@docusaurus/types": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.6.3.tgz", - "integrity": "sha512-xD9oTGDrouWzefkhe9ogB2fDV96/82cRpNGx2HIvI5L87JHNhQVIWimQ/3JIiiX/TEd5S9s+VO6FFguwKNRVow==", + "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==", "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.95.0", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" + "object.assign": "^4.1.0" } }, - "node_modules/@docusaurus/plugin-content-blog/node_modules/webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz", + "integrity": "sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==", "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.0" + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.1", + "semver": "^6.3.1" }, - "engines": { - "node": ">=10.0.0" + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@docusaurus/plugin-content-docs": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.6.3.tgz", - "integrity": "sha512-r2wS8y/fsaDcxkm20W5bbYJFPzdWdEaTWVYjNxlHlcmX086eqQR1Fomlg9BHTJ0dLXPzAlbC8EN4XqMr3QzNCQ==", - "dependencies": { - "@docusaurus/core": "3.6.3", - "@docusaurus/logger": "3.6.3", - "@docusaurus/mdx-loader": "3.6.3", - "@docusaurus/module-type-aliases": "3.6.3", - "@docusaurus/theme-common": "3.6.3", - "@docusaurus/types": "3.6.3", - "@docusaurus/utils": "3.6.3", - "@docusaurus/utils-common": "3.6.3", - "@docusaurus/utils-validation": "3.6.3", - "@types/react-router-config": "^5.0.7", - "combine-promises": "^1.1.0", - "fs-extra": "^11.1.1", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "tslib": "^2.6.0", - "utility-types": "^3.10.0", - "webpack": "^5.88.1" - }, - "engines": { - "node": ">=18.0" + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz", + "integrity": "sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.5.0", + "core-js-compat": "^3.34.0" }, "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/@docusaurus/module-type-aliases": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.6.3.tgz", - "integrity": "sha512-MjaXX9PN/k5ugNvfRZdWyKWq4FsrhN4LEXaj0pEmMebJuBNlFeGyKQUa9DRhJHpadNaiMLrbo9m3U7Ig5YlsZg==", + "node_modules/babel-plugin-polyfill-corejs3/node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz", + "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==", "dependencies": { - "@docusaurus/types": "3.6.3", - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router-config": "*", - "@types/react-router-dom": "*", - "react-helmet-async": "*", - "react-loadable": "npm:@docusaurus/react-loadable@6.0.0" + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" }, "peerDependencies": { - "react": "*", - "react-dom": "*" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/@docusaurus/types": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.6.3.tgz", - "integrity": "sha512-xD9oTGDrouWzefkhe9ogB2fDV96/82cRpNGx2HIvI5L87JHNhQVIWimQ/3JIiiX/TEd5S9s+VO6FFguwKNRVow==", + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz", + "integrity": "sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==", "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.95.0", - "webpack-merge": "^5.9.0" + "@babel/helper-define-polyfill-provider": "^0.5.0" }, "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "node_modules/babel-plugin-polyfill-regenerator/node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz", + "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==", "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.0" + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" }, - "engines": { - "node": ">=10.0.0" + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@docusaurus/plugin-content-pages": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.6.3.tgz", - "integrity": "sha512-eHrmTgjgLZsuqfsYr5X2xEwyIcck0wseSofWrjTwT9FLOWp+KDmMAuVK+wRo7sFImWXZk3oV/xX/g9aZrhD7OA==", + "node_modules/babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha512-C4Aq+GaAj83pRQ0EFgTvw5YO6T3Qz2KGrNRwIj9mSoNHVvdZY4KO2uA6HNtNXCw993iSZnckY1aLW8nOi8i4+w==" + }, + "node_modules/babel-plugin-transform-object-rest-spread": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", + "integrity": "sha512-ocgA9VJvyxwt+qJB0ncxV8kb/CjfTcECUY4tQ5VT7nP6Aohzobm8CDFaQ5FHdvZQzLmf0sgDxB8iRXZXxwZcyA==", "dependencies": { - "@docusaurus/core": "3.6.3", - "@docusaurus/mdx-loader": "3.6.3", - "@docusaurus/types": "3.6.3", - "@docusaurus/utils": "3.6.3", - "@docusaurus/utils-validation": "3.6.3", - "fs-extra": "^11.1.1", - "tslib": "^2.6.0", - "webpack": "^5.88.1" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" + "babel-plugin-syntax-object-rest-spread": "^6.8.0", + "babel-runtime": "^6.26.0" } }, - "node_modules/@docusaurus/plugin-content-pages/node_modules/@docusaurus/types": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.6.3.tgz", - "integrity": "sha512-xD9oTGDrouWzefkhe9ogB2fDV96/82cRpNGx2HIvI5L87JHNhQVIWimQ/3JIiiX/TEd5S9s+VO6FFguwKNRVow==", + "node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.95.0", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/babel-runtime/node_modules/core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "hasInstallScript": true + }, + "node_modules/babel-runtime/node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + }, + "node_modules/babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "bin": { + "babylon": "bin/babylon.js" } }, - "node_modules/@docusaurus/plugin-content-pages/node_modules/webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.0" + "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": ">=10.0.0" + "node": ">=0.10.0" } }, - "node_modules/@docusaurus/plugin-debug": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.6.3.tgz", - "integrity": "sha512-zB9GXfIZNPRfzKnNjU6xGVrqn9bPXuGhpjgsuc/YtcTDjnjhasg38NdYd5LEqXex5G/zIorQgWB3n6x/Ut62vQ==", + "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": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dependencies": { - "@docusaurus/core": "3.6.3", - "@docusaurus/types": "3.6.3", - "@docusaurus/utils": "3.6.3", - "fs-extra": "^11.1.1", - "react-json-view-lite": "^1.2.0", - "tslib": "^2.6.0" + "is-descriptor": "^1.0.0" }, "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" + "node": ">=0.10.0" } }, - "node_modules/@docusaurus/plugin-debug/node_modules/@docusaurus/types": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.6.3.tgz", - "integrity": "sha512-xD9oTGDrouWzefkhe9ogB2fDV96/82cRpNGx2HIvI5L87JHNhQVIWimQ/3JIiiX/TEd5S9s+VO6FFguwKNRVow==", - "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.95.0", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/basic-auth": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.1.0.tgz", + "integrity": "sha512-CtGuTyWf3ig+sgRyC7uP6DM3N+5ur/p8L+FPfsd+BbIfIs74TFfCajZTHnCw6K5dqM0bZEbRIqRy1fAdiUJhTA==", + "dev": true, + "engines": { + "node": ">= 0.6" } }, - "node_modules/@docusaurus/plugin-debug/node_modules/webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.0" - }, + "tweetnacl": "^0.14.3" + } + }, + "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==", "engines": { - "node": ">=10.0.0" + "node": "*" } }, - "node_modules/@docusaurus/plugin-google-analytics": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.6.3.tgz", - "integrity": "sha512-rCDNy1QW8Dag7nZq67pcum0bpFLrwvxJhYuVprhFh8BMBDxV0bY+bAkGHbSf68P3Bk9C3hNOAXX1srGLIDvcTA==", - "dependencies": { - "@docusaurus/core": "3.6.3", - "@docusaurus/types": "3.6.3", - "@docusaurus/utils-validation": "3.6.3", - "tslib": "^2.6.0" - }, + "node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" + "node": ">=0.10.0" } }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/types": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.6.3.tgz", - "integrity": "sha512-xD9oTGDrouWzefkhe9ogB2fDV96/82cRpNGx2HIvI5L87JHNhQVIWimQ/3JIiiX/TEd5S9s+VO6FFguwKNRVow==", + "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==", + "optional": true, "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.95.0", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" + "file-uri-to-path": "1.0.0" } }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "node_modules/blob-util": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", + "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", + "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==" + }, + "node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + }, + "node_modules/body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.0" + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "engines": { - "node": ">=10.0.0" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/@docusaurus/plugin-google-gtag": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.6.3.tgz", - "integrity": "sha512-+OyDvhM6rqVkQOmLVkQWVJAizEEfkPzVWtIHXlWPOCFGK9X4/AWeBSrU0WG4iMg9Z4zD4YDRrU+lvI4s6DSC+w==", - "dependencies": { - "@docusaurus/core": "3.6.3", - "@docusaurus/types": "3.6.3", - "@docusaurus/utils-validation": "3.6.3", - "@types/gtag.js": "^0.0.12", - "tslib": "^2.6.0" - }, + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" + "node": ">= 0.8" } }, - "node_modules/@docusaurus/plugin-google-gtag/node_modules/@docusaurus/types": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.6.3.tgz", - "integrity": "sha512-xD9oTGDrouWzefkhe9ogB2fDV96/82cRpNGx2HIvI5L87JHNhQVIWimQ/3JIiiX/TEd5S9s+VO6FFguwKNRVow==", + "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==", "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.95.0", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" + "ms": "2.0.0" } }, - "node_modules/@docusaurus/plugin-google-gtag/node_modules/webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", - "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.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": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, - "node_modules/@docusaurus/plugin-google-tag-manager": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.6.3.tgz", - "integrity": "sha512-1M6UPB13gWUtN2UHX083/beTn85PlRI9ABItTl/JL1FJ5dJTWWFXXsHf9WW/6hrVwthwTeV/AGbGKvLKV+IlCA==", + "node_modules/body-parser/node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", "dependencies": { - "@docusaurus/core": "3.6.3", - "@docusaurus/types": "3.6.3", - "@docusaurus/utils-validation": "3.6.3", - "tslib": "^2.6.0" + "side-channel": "^1.0.4" }, "engines": { - "node": ">=18.0" + "node": ">=0.6" }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@docusaurus/plugin-google-tag-manager/node_modules/@docusaurus/types": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.6.3.tgz", - "integrity": "sha512-xD9oTGDrouWzefkhe9ogB2fDV96/82cRpNGx2HIvI5L87JHNhQVIWimQ/3JIiiX/TEd5S9s+VO6FFguwKNRVow==", + "node_modules/bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha512-RaVTblr+OnEli0r/ud8InrU7D+G0y6aJhlxaLa6Pwty4+xoxboF1BsUI45tujvRpbj9dQVoglChqonGAsjEBYg==", "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.95.0", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" + "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/@docusaurus/plugin-google-tag-manager/node_modules/webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "node_modules/boxen": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz", + "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==", "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.0" + "ansi-align": "^3.0.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "cli-boxes": "^2.2.0", + "string-width": "^4.1.0", + "term-size": "^2.1.0", + "type-fest": "^0.8.1", + "widest-line": "^3.1.0" }, "engines": { - "node": ">=10.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@docusaurus/plugin-ideal-image": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-ideal-image/-/plugin-ideal-image-3.6.3.tgz", - "integrity": "sha512-y5Pi4UH8wsFUEFPzjzo1GEtb9vfi5VfWTH/ONifDW84ldYaZBPzVM4AIVWcuNPlYG+p4eYwHE4eTuJFe2iupKQ==", + "node_modules/boxen/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dependencies": { - "@docusaurus/core": "3.6.3", - "@docusaurus/lqip-loader": "3.6.3", - "@docusaurus/responsive-loader": "^1.7.0", - "@docusaurus/theme-translations": "3.6.3", - "@docusaurus/types": "3.6.3", - "@docusaurus/utils-validation": "3.6.3", - "@slorber/react-ideal-image": "^0.0.12", - "react-waypoint": "^10.3.0", - "sharp": "^0.32.3", - "tslib": "^2.6.0", - "webpack": "^5.88.1" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "jimp": "*", - "react": "^18.0.0", - "react-dom": "^18.0.0" + "node": ">=8" }, - "peerDependenciesMeta": { - "jimp": { - "optional": true - } + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@docusaurus/plugin-ideal-image/node_modules/@docusaurus/types": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.6.3.tgz", - "integrity": "sha512-xD9oTGDrouWzefkhe9ogB2fDV96/82cRpNGx2HIvI5L87JHNhQVIWimQ/3JIiiX/TEd5S9s+VO6FFguwKNRVow==", - "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.95.0", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" + "node_modules/boxen/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "engines": { + "node": ">=6" } }, - "node_modules/@docusaurus/plugin-ideal-image/node_modules/webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "node_modules/boxen/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=10.0.0" + "node": ">=8" } }, - "node_modules/@docusaurus/plugin-sitemap": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.6.3.tgz", - "integrity": "sha512-94qOO4M9Fwv9KfVQJsgbe91k+fPJ4byf1L3Ez8TUa6TAFPo/BrLwQ80zclHkENlL1824TuxkcMKv33u6eydQCg==", + "node_modules/boxen/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==", "dependencies": { - "@docusaurus/core": "3.6.3", - "@docusaurus/logger": "3.6.3", - "@docusaurus/types": "3.6.3", - "@docusaurus/utils": "3.6.3", - "@docusaurus/utils-common": "3.6.3", - "@docusaurus/utils-validation": "3.6.3", - "fs-extra": "^11.1.1", - "sitemap": "^7.1.1", - "tslib": "^2.6.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" + "node": ">=7.0.0" } }, - "node_modules/@docusaurus/plugin-sitemap/node_modules/@docusaurus/types": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.6.3.tgz", - "integrity": "sha512-xD9oTGDrouWzefkhe9ogB2fDV96/82cRpNGx2HIvI5L87JHNhQVIWimQ/3JIiiX/TEd5S9s+VO6FFguwKNRVow==", - "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.95.0", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } + "node_modules/boxen/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==" }, - "node_modules/@docusaurus/plugin-sitemap/node_modules/webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", - "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.0" - }, + "node_modules/boxen/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==", "engines": { - "node": ">=10.0.0" + "node": ">=8" } }, - "node_modules/@docusaurus/preset-classic": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.6.3.tgz", - "integrity": "sha512-VHSYWROT3flvNNI1SrnMOtW1EsjeHNK9dhU6s9eY5hryZe79lUqnZJyze/ymDe2LXAqzyj6y5oYvyBoZZk6ErA==", + "node_modules/boxen/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==", "dependencies": { - "@docusaurus/core": "3.6.3", - "@docusaurus/plugin-content-blog": "3.6.3", - "@docusaurus/plugin-content-docs": "3.6.3", - "@docusaurus/plugin-content-pages": "3.6.3", - "@docusaurus/plugin-debug": "3.6.3", - "@docusaurus/plugin-google-analytics": "3.6.3", - "@docusaurus/plugin-google-gtag": "3.6.3", - "@docusaurus/plugin-google-tag-manager": "3.6.3", - "@docusaurus/plugin-sitemap": "3.6.3", - "@docusaurus/theme-classic": "3.6.3", - "@docusaurus/theme-common": "3.6.3", - "@docusaurus/theme-search-algolia": "3.6.3", - "@docusaurus/types": "3.6.3" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" + "node": ">=8" } }, - "node_modules/@docusaurus/preset-classic/node_modules/@docusaurus/types": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.6.3.tgz", - "integrity": "sha512-xD9oTGDrouWzefkhe9ogB2fDV96/82cRpNGx2HIvI5L87JHNhQVIWimQ/3JIiiX/TEd5S9s+VO6FFguwKNRVow==", + "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": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.95.0", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/@docusaurus/preset-classic/node_modules/webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.0" + "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": ">=10.0.0" + "node": ">=0.10.0" } }, - "node_modules/@docusaurus/remark-plugin-npm2yarn": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/remark-plugin-npm2yarn/-/remark-plugin-npm2yarn-3.6.3.tgz", - "integrity": "sha512-ZF1QM4vULeBi0vqpNI2TLBH9vUB7JkN7aMGPpKy4jM4HvGH3ZM4Rq4xGqpGLL1IsiRtAENyzlTMdcA+q+l4OJg==", + "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": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dependencies": { - "mdast-util-mdx": "^3.0.0", - "npm-to-yarn": "^3.0.0", - "tslib": "^2.6.0", - "unified": "^11.0.3", - "unist-util-visit": "^5.0.0" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">=18.0" + "node": ">=0.10.0" } }, - "node_modules/@docusaurus/responsive-loader": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@docusaurus/responsive-loader/-/responsive-loader-1.7.0.tgz", - "integrity": "sha512-N0cWuVqTRXRvkBxeMQcy/OF2l7GN8rmni5EzR3HpwR+iU2ckYPnziceojcxvvxQ5NqZg1QfEW0tycQgHp+e+Nw==", - "dependencies": { - "loader-utils": "^2.0.0" - }, + "node_modules/braces/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "engines": { - "node": ">=12" - }, - "peerDependencies": { - "jimp": "*", - "sharp": "*" - }, - "peerDependenciesMeta": { - "jimp": { - "optional": true - }, - "sharp": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/@docusaurus/theme-classic": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.6.3.tgz", - "integrity": "sha512-1RRLK1tSArI2c00qugWYO3jRocjOZwGF1mBzPPylDVRwWCS/rnWWR91ChdbbaxIupRJ+hX8ZBYrwr5bbU0oztQ==", - "dependencies": { - "@docusaurus/core": "3.6.3", - "@docusaurus/logger": "3.6.3", - "@docusaurus/mdx-loader": "3.6.3", - "@docusaurus/module-type-aliases": "3.6.3", - "@docusaurus/plugin-content-blog": "3.6.3", - "@docusaurus/plugin-content-docs": "3.6.3", - "@docusaurus/plugin-content-pages": "3.6.3", - "@docusaurus/theme-common": "3.6.3", - "@docusaurus/theme-translations": "3.6.3", - "@docusaurus/types": "3.6.3", - "@docusaurus/utils": "3.6.3", - "@docusaurus/utils-common": "3.6.3", - "@docusaurus/utils-validation": "3.6.3", - "@mdx-js/react": "^3.0.0", - "clsx": "^2.0.0", - "copy-text-to-clipboard": "^3.2.0", - "infima": "0.2.0-alpha.45", - "lodash": "^4.17.21", - "nprogress": "^0.2.0", - "postcss": "^8.4.26", - "prism-react-renderer": "^2.3.0", - "prismjs": "^1.29.0", - "react-router-dom": "^5.3.4", - "rtlcss": "^4.1.0", - "tslib": "^2.6.0", - "utility-types": "^3.10.0" - }, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" }, - "node_modules/@docusaurus/theme-classic/node_modules/@docusaurus/module-type-aliases": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.6.3.tgz", - "integrity": "sha512-MjaXX9PN/k5ugNvfRZdWyKWq4FsrhN4LEXaj0pEmMebJuBNlFeGyKQUa9DRhJHpadNaiMLrbo9m3U7Ig5YlsZg==", + "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==", "dependencies": { - "@docusaurus/types": "3.6.3", - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router-config": "*", - "@types/react-router-dom": "*", - "react-helmet-async": "*", - "react-loadable": "npm:@docusaurus/react-loadable@6.0.0" - }, - "peerDependencies": { - "react": "*", - "react-dom": "*" + "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/@docusaurus/theme-classic/node_modules/@docusaurus/types": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.6.3.tgz", - "integrity": "sha512-xD9oTGDrouWzefkhe9ogB2fDV96/82cRpNGx2HIvI5L87JHNhQVIWimQ/3JIiiX/TEd5S9s+VO6FFguwKNRVow==", + "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==", "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.95.0", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" } }, - "node_modules/@docusaurus/theme-classic/node_modules/webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "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==", "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "node_modules/@docusaurus/theme-common": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.6.3.tgz", - "integrity": "sha512-b8ZkhczXHDxWWyvz+YJy4t/PlPbEogTTbgnHoflYnH7rmRtyoodTsu8WVM12la5LmlMJBclBXFl29OH8kPE7gg==", + "node_modules/browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", "dependencies": { - "@docusaurus/mdx-loader": "3.6.3", - "@docusaurus/module-type-aliases": "3.6.3", - "@docusaurus/utils": "3.6.3", - "@docusaurus/utils-common": "3.6.3", - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router-config": "*", - "clsx": "^2.0.0", - "parse-numeric-range": "^1.3.0", - "prism-react-renderer": "^2.3.0", - "tslib": "^2.6.0", - "utility-types": "^3.10.0" + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/browserify-sign": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.3.tgz", + "integrity": "sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==", + "dependencies": { + "bn.js": "^5.2.1", + "browserify-rsa": "^4.1.0", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.5", + "hash-base": "~3.0", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.7", + "readable-stream": "^2.3.8", + "safe-buffer": "^5.2.1" }, "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "@docusaurus/plugin-content-docs": "*", - "react": "^18.0.0", - "react-dom": "^18.0.0" + "node": ">= 0.12" } }, - "node_modules/@docusaurus/theme-common/node_modules/@docusaurus/module-type-aliases": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.6.3.tgz", - "integrity": "sha512-MjaXX9PN/k5ugNvfRZdWyKWq4FsrhN4LEXaj0pEmMebJuBNlFeGyKQUa9DRhJHpadNaiMLrbo9m3U7Ig5YlsZg==", + "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==", "dependencies": { - "@docusaurus/types": "3.6.3", - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router-config": "*", - "@types/react-router-dom": "*", - "react-helmet-async": "*", - "react-loadable": "npm:@docusaurus/react-loadable@6.0.0" - }, - "peerDependencies": { - "react": "*", - "react-dom": "*" + "pako": "~1.0.5" } }, - "node_modules/@docusaurus/theme-common/node_modules/@docusaurus/types": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.6.3.tgz", - "integrity": "sha512-xD9oTGDrouWzefkhe9ogB2fDV96/82cRpNGx2HIvI5L87JHNhQVIWimQ/3JIiiX/TEd5S9s+VO6FFguwKNRVow==", + "node_modules/browserslist": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.95.0", - "webpack-merge": "^5.9.0" + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/@docusaurus/theme-common/node_modules/webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "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==", "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" } }, - "node_modules/@docusaurus/theme-search-algolia": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.6.3.tgz", - "integrity": "sha512-rt+MGCCpYgPyWCGXtbxlwFbTSobu15jWBTPI2LHsHNa5B0zSmOISX6FWYAPt5X1rNDOqMGM0FATnh7TBHRohVA==", - "dependencies": { - "@docsearch/react": "^3.5.2", - "@docusaurus/core": "3.6.3", - "@docusaurus/logger": "3.6.3", - "@docusaurus/plugin-content-docs": "3.6.3", - "@docusaurus/theme-common": "3.6.3", - "@docusaurus/theme-translations": "3.6.3", - "@docusaurus/utils": "3.6.3", - "@docusaurus/utils-validation": "3.6.3", - "algoliasearch": "^4.18.0", - "algoliasearch-helper": "^3.13.3", - "clsx": "^2.0.0", - "eta": "^2.2.0", - "fs-extra": "^11.1.1", - "lodash": "^4.17.21", - "tslib": "^2.6.0", - "utility-types": "^3.10.0" - }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, "engines": { - "node": ">=18.0" - }, + "node": "*" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "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==" + }, + "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==" + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" + }, + "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": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" + }, + "node_modules/bundle-require": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/bundle-require/-/bundle-require-2.1.8.tgz", + "integrity": "sha512-oOEg3A0hy/YzvNWNowtKD0pmhZKseOFweCbgyMqTIih4gRY1nJWsvrOCT27L9NbIyL5jMjTFrAUpGxxpW68Puw==", "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" + "esbuild": ">=0.13" } }, - "node_modules/@docusaurus/theme-translations": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.6.3.tgz", - "integrity": "sha512-Gb0regclToVlngSIIwUCtBMQBq48qVUaN1XQNKW4XwlsgUyk0vP01LULdqbem7czSwIeBAFXFoORJ0RPX7ht/w==", - "dependencies": { - "fs-extra": "^11.1.1", - "tslib": "^2.6.0" - }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", "engines": { - "node": ">=18.0" + "node": ">= 0.8" } }, - "node_modules/@docusaurus/tsconfig": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/@docusaurus/tsconfig/-/tsconfig-3.6.2.tgz", - "integrity": "sha512-TWLkyYHBYhIJNcXCEc3D1M9R8UFV4IZ82rGef5U9mE1ZrcgDUlZxYaYdoSuHrPrzPRIl3orjmpscO2FAk2gdZw==", - "dev": true + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "engines": { + "node": ">=8" + } }, - "node_modules/@docusaurus/types": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.6.2.tgz", - "integrity": "sha512-117Wsk6xXrWEAsCYCXS3TGJv5tkdIZDcd7T/V0UJvKYmY0gyVPPcEQChy8yTdjbIkbB2q4fa7Jpox72Qv86mqQ==", - "dev": true, + "node_modules/cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.95.0", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" + "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/@docusaurus/types/node_modules/webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", - "dev": true, + "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==", "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.0" + "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": ">=10.0.0" + "node": ">=0.10.0" } }, - "node_modules/@docusaurus/utils": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.6.3.tgz", - "integrity": "sha512-0R/FR3bKVl4yl8QwbL4TYFfR+OXBRpVUaTJdENapBGR3YMwfM6/JnhGilWQO8AOwPJGtGoDK7ib8+8UF9f3OZQ==", - "dependencies": { - "@docusaurus/logger": "3.6.3", - "@docusaurus/types": "3.6.3", - "@docusaurus/utils-common": "3.6.3", - "@svgr/webpack": "^8.1.0", - "escape-string-regexp": "^4.0.0", - "file-loader": "^6.2.0", - "fs-extra": "^11.1.1", - "github-slugger": "^1.5.0", - "globby": "^11.1.0", - "gray-matter": "^4.0.3", - "jiti": "^1.20.0", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "micromatch": "^4.0.5", - "prompts": "^2.4.2", - "resolve-pathname": "^3.0.0", - "shelljs": "^0.8.5", - "tslib": "^2.6.0", - "url-loader": "^4.1.1", - "utility-types": "^3.10.0", - "webpack": "^5.88.1" + "node_modules/cache-loader": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/cache-loader/-/cache-loader-3.0.1.tgz", + "integrity": "sha512-HzJIvGiGqYsFUrMjAJNDbVZoG7qQA+vy9AIoKs7s9DscNfki0I589mf2w6/tW+kkFH3zyiknoWV5Jdynu6b/zw==", + "dependencies": { + "buffer-json": "^2.0.0", + "find-cache-dir": "^2.1.0", + "loader-utils": "^1.2.3", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.1", + "schema-utils": "^1.0.0" }, "engines": { - "node": ">=18.0" + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" } }, - "node_modules/@docusaurus/utils-common": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.6.3.tgz", - "integrity": "sha512-v4nKDaANLgT3pMBewHYEMAl/ufY0LkXao1QkFWzI5huWFOmNQ2UFzv2BiKeHX5Ownis0/w6cAyoxPhVdDonlSQ==", + "node_modules/cache-loader/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==", "dependencies": { - "@docusaurus/types": "3.6.3", - "tslib": "^2.6.0" + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" }, "engines": { - "node": ">=18.0" + "node": ">=6" } }, - "node_modules/@docusaurus/utils-common/node_modules/@docusaurus/types": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.6.3.tgz", - "integrity": "sha512-xD9oTGDrouWzefkhe9ogB2fDV96/82cRpNGx2HIvI5L87JHNhQVIWimQ/3JIiiX/TEd5S9s+VO6FFguwKNRVow==", + "node_modules/cache-loader/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==", "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.95.0", - "webpack-merge": "^5.9.0" + "locate-path": "^3.0.0" }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" + "engines": { + "node": ">=6" } }, - "node_modules/@docusaurus/utils-common/node_modules/webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "node_modules/cache-loader/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==", "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.0" + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" }, "engines": { - "node": ">=10.0.0" + "node": ">=6" } }, - "node_modules/@docusaurus/utils-validation": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.6.3.tgz", - "integrity": "sha512-bhEGGiN5BE38h21vjqD70Gxg++j+PfYVddDUE5UFvLDup68QOcpD33CLr+2knPorlxRbEaNfz6HQDUMQ3HuqKw==", + "node_modules/cache-loader/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==", "dependencies": { - "@docusaurus/logger": "3.6.3", - "@docusaurus/utils": "3.6.3", - "@docusaurus/utils-common": "3.6.3", - "fs-extra": "^11.2.0", - "joi": "^17.9.2", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "tslib": "^2.6.0" + "pify": "^4.0.1", + "semver": "^5.6.0" }, "engines": { - "node": ">=18.0" + "node": ">=6" } }, - "node_modules/@docusaurus/utils/node_modules/@docusaurus/types": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.6.3.tgz", - "integrity": "sha512-xD9oTGDrouWzefkhe9ogB2fDV96/82cRpNGx2HIvI5L87JHNhQVIWimQ/3JIiiX/TEd5S9s+VO6FFguwKNRVow==", + "node_modules/cache-loader/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==", "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.95.0", - "webpack-merge": "^5.9.0" + "p-limit": "^2.0.0" }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" + "engines": { + "node": ">=6" } }, - "node_modules/@docusaurus/utils/node_modules/webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", - "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.0" - }, + "node_modules/cache-loader/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "engines": { - "node": ">=10.0.0" + "node": ">=4" } }, - "node_modules/@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==" - }, - "node_modules/@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", - "dependencies": { - "@hapi/hoek": "^9.0.0" + "node_modules/cache-loader/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "engines": { + "node": ">=6" } }, - "node_modules/@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "node_modules/cache-loader/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==", "dependencies": { - "@sinclair/typebox": "^0.27.8" + "find-up": "^3.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6" } }, - "node_modules/@jest/types": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "node_modules/cache-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==", "dependencies": { - "@jest/schemas": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 4" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "node_modules/cache-loader/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" }, "engines": { - "node": ">=6.0.0" + "node": ">=8" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "node_modules/cacheable-request/node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", "engines": { - "node": ">=6.0.0" + "node": ">=8" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "node_modules/cacheable-request/node_modules/normalize-url": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", "engines": { - "node": ">=6.0.0" + "node": ">=8" } }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", - "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25" + "node_modules/cachedir": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.4.0.tgz", + "integrity": "sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==", + "dev": true, + "engines": { + "node": ">=6" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", - "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==" - }, - "node_modules/@mdx-js/mdx": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.1.0.tgz", - "integrity": "sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdx": "^2.0.0", - "collapse-white-space": "^2.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "estree-util-scope": "^1.0.0", - "estree-walker": "^3.0.0", - "hast-util-to-jsx-runtime": "^2.0.0", - "markdown-extensions": "^2.0.0", - "recma-build-jsx": "^1.0.0", - "recma-jsx": "^1.0.0", - "recma-stringify": "^1.0.0", - "rehype-recma": "^1.0.0", - "remark-mdx": "^3.0.0", - "remark-parse": "^11.0.0", - "remark-rehype": "^11.0.0", - "source-map": "^0.7.0", - "unified": "^11.0.0", - "unist-util-position-from-estree": "^2.0.0", - "unist-util-stringify-position": "^4.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@mdx-js/react": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.1.0.tgz", - "integrity": "sha512-QjHtSaoameoalGnKDT3FoIl4+9RwyTmo9ZJGBdLOks/YOiWHoRDI3PUwEzOE7kEmGcV3AFcp9K6dYu9rEuKLAQ==", + "node_modules/call-me-maybe": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.2.tgz", + "integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==" + }, + "node_modules/caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", "dependencies": { - "@types/mdx": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "callsites": "^2.0.0" }, - "peerDependencies": { - "@types/react": ">=16", - "react": ">=16" + "engines": { + "node": ">=4" } }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "node_modules/caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "caller-callsite": "^2.0.0" }, "engines": { - "node": ">= 8" + "node": ">=4" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "node_modules/callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==", "engines": { - "node": ">= 8" + "node": ">=4" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "node_modules/camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==", "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" + "no-case": "^2.2.0", + "upper-case": "^1.1.1" } }, - "node_modules/@pnpm/config.env-replace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-3.0.0.tgz", - "integrity": "sha512-tV71wOtu8ULW4Fv5c7MWph3Sfle1wkT2q83qF2Cx/0J5E2dpUsClO9evAouL4fbdmPonkXJbRYL5cGHKuqxr4w==", + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "engines": { - "node": ">=18.12" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@pnpm/network.ca-file": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", - "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", + "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==", "dependencies": { - "graceful-fs": "4.2.10" - }, - "engines": { - "node": ">=12.22.0" + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" } }, - "node_modules/@pnpm/network.ca-file/node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + "node_modules/caniuse-lite": { + "version": "1.0.30001597", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001597.tgz", + "integrity": "sha512-7LjJvmQU6Sj7bL0j5b5WY/3n7utXUJvAe1lxhsHDbLmwX9mdL86Yjtr+5SRCyf8qME4M7pU2hswj0FpyBVCv9w==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" }, - "node_modules/@pnpm/npm-conf": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.3.1.tgz", - "integrity": "sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==", + "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": { - "@pnpm/config.env-replace": "^1.1.0", - "@pnpm/network.ca-file": "^1.0.1", - "config-chain": "^1.1.11" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { - "node": ">=12" + "node": ">=4" } }, - "node_modules/@pnpm/npm-conf/node_modules/@pnpm/config.env-replace": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", - "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", + "node_modules/check-more-types": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", + "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", + "dev": true, "engines": { - "node": ">=12.22.0" + "node": ">= 0.8.0" } }, - "node_modules/@polka/url": { - "version": "1.0.0-next.28", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.28.tgz", - "integrity": "sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==" - }, - "node_modules/@sideway/address": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", - "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", - "dependencies": { - "@hapi/hoek": "^9.0.0" + "node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", + "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/@sideway/formula": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", - "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==" - }, - "node_modules/@sideway/pinpoint": { + "node_modules/chokidar/node_modules/anymatch": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" - }, - "node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } }, - "node_modules/@sindresorhus/is": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", - "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", - "engines": { - "node": ">=10" + "node_modules/chokidar/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": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dependencies": { + "remove-trailing-separator": "^1.0.1" }, - "funding": { - "url": "https://github.com/sindresorhus/is?sponsor=1" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@slorber/react-ideal-image": { - "version": "0.0.12", - "resolved": "https://registry.npmjs.org/@slorber/react-ideal-image/-/react-ideal-image-0.0.12.tgz", - "integrity": "sha512-u8KiDTEkMA7/KAeA5ywg/P7YG4zuKhWtswfVZDH8R8HXgQsFcHIYU2WaQnGuK/Du7Wdj90I+SdFmajSGFRvoKA==", + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", "engines": { - "node": ">= 8.9.0", - "npm": "> 3" - }, - "peerDependencies": { - "prop-types": ">=15", - "react": ">=0.14.x", - "react-waypoint": ">=9.0.2" + "node": ">=6.0" } }, - "node_modules/@slorber/remark-comment": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@slorber/remark-comment/-/remark-comment-1.0.0.tgz", - "integrity": "sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==", + "node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + }, + "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==", "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.1.0", - "micromark-util-symbol": "^1.0.1" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, - "node_modules/@svgr/babel-plugin-add-jsx-attribute": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", - "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "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==", + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", - "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "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": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dependencies": { + "is-descriptor": "^0.1.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", - "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">= 0.4" } }, - "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", - "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "node_modules/clean-css": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", + "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", + "dependencies": { + "source-map": "~0.6.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">= 4.0" } }, - "node_modules/@svgr/babel-plugin-svg-dynamic-title": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", - "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", + "node_modules/cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", "engines": { - "node": ">=14" + "node": ">=6" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@svgr/babel-plugin-svg-em-dimensions": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", - "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "node_modules/cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "integrity": "sha512-25tABq090YNKkF6JH7lcwO0zFJTRke4Jcq9iX2nr/Sz0Cjjv4gckmwlW6Ty/aoyFd6z3ysR2hMGC2GFugmBo6A==", + "dev": true, + "dependencies": { + "restore-cursor": "^1.0.1" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@svgr/babel-plugin-transform-react-native-svg": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", - "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", - "engines": { - "node": ">=14" + "node_modules/cli-table3": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", + "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "engines": { + "node": "10.* || >= 12.*" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "optionalDependencies": { + "@colors/colors": "1.5.0" } }, - "node_modules/@svgr/babel-plugin-transform-svg-component": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", - "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", - "engines": { - "node": ">=12" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "node_modules/cli-truncate": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz", + "integrity": "sha512-f4r4yJnbT++qUPI9NR4XLDLq41gQ+uqnPItWG0F5ZkehuNiTTa3EY0S4AqTSUOeJ7/zU41oWPQSNkW5BqPL9bg==", + "dev": true, + "dependencies": { + "slice-ansi": "0.0.4", + "string-width": "^1.0.1" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@svgr/babel-preset": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", - "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", + "node_modules/cli-truncate/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": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "dev": true, "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", - "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0", - "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0", - "@svgr/babel-plugin-svg-dynamic-title": "8.0.0", - "@svgr/babel-plugin-svg-em-dimensions": "8.0.0", - "@svgr/babel-plugin-transform-react-native-svg": "8.1.0", - "@svgr/babel-plugin-transform-svg-component": "8.0.0" + "number-is-nan": "^1.0.0" }, "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=0.10.0" } }, - "node_modules/@svgr/core": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", - "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", + "node_modules/cli-truncate/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "dev": true, "dependencies": { - "@babel/core": "^7.21.3", - "@svgr/babel-preset": "8.1.0", - "camelcase": "^6.2.0", - "cosmiconfig": "^8.1.3", - "snake-case": "^3.0.4" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" }, "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "node": ">=0.10.0" } }, - "node_modules/@svgr/hast-util-to-babel-ast": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", - "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", + "node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", "dependencies": { - "@babel/types": "^7.21.3", - "entities": "^4.4.0" - }, + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "node": ">=6" + } + }, + "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==" + }, + "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": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "engines": { + "node": ">=4" } }, - "node_modules/@svgr/plugin-jsx": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", - "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", + "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==", "dependencies": { - "@babel/core": "^7.21.3", - "@svgr/babel-preset": "8.1.0", - "@svgr/hast-util-to-babel-ast": "8.0.0", - "svg-parser": "^2.0.4" + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" }, "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@svgr/core": "*" + "node": ">=6" } }, - "node_modules/@svgr/plugin-svgo": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz", - "integrity": "sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==", + "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==", "dependencies": { - "cosmiconfig": "^8.1.3", - "deepmerge": "^4.3.1", - "svgo": "^3.0.2" + "ansi-regex": "^4.1.0" }, "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@svgr/core": "*" + "node": ">=6" } }, - "node_modules/@svgr/webpack": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-8.1.0.tgz", - "integrity": "sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==", + "node_modules/cliui/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==", "dependencies": { - "@babel/core": "^7.21.3", - "@babel/plugin-transform-react-constant-elements": "^7.21.3", - "@babel/preset-env": "^7.20.2", - "@babel/preset-react": "^7.18.6", - "@babel/preset-typescript": "^7.21.0", - "@svgr/core": "8.1.0", - "@svgr/plugin-jsx": "8.1.0", - "@svgr/plugin-svgo": "8.1.0" + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" }, "engines": { - "node": ">=14" + "node": ">=6" + } + }, + "node_modules/clone-response": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", + "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "dependencies": { + "mimic-response": "^1.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@szmarczak/http-timer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", - "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", + "node_modules/coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", "dependencies": { - "defer-to-connect": "^2.0.1" + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" }, "engines": { - "node": ">=14.16" + "node": ">= 4.0" } }, - "node_modules/@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "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": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", + "dev": true, "engines": { - "node": ">=10.13.0" + "node": ">=0.10.0" } }, - "node_modules/@types/acorn": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", - "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==", + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", "dependencies": { - "@types/estree": "*" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@types/body-parser": { - "version": "1.19.5", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", - "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "node_modules/color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", "dependencies": { - "@types/connect": "*", - "@types/node": "*" + "color-convert": "^1.9.3", + "color-string": "^1.6.0" } }, - "node_modules/@types/bonjour": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", - "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "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": { - "@types/node": "*" + "color-name": "1.1.3" } }, - "node_modules/@types/connect": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", - "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", - "dependencies": { - "@types/node": "*" - } + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, - "node_modules/@types/connect-history-api-fallback": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", - "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", "dependencies": { - "@types/express-serve-static-core": "*", - "@types/node": "*" + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" } }, - "node_modules/@types/debug": { - "version": "4.1.12", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", - "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "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==", "dependencies": { - "@types/ms": "*" + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "node_modules/@types/eslint": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", - "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } + "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/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "engines": { + "node": ">=4.0.0" } }, - "node_modules/@types/estree": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==" - }, - "node_modules/@types/estree-jsx": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", - "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", - "dependencies": { - "@types/estree": "*" - } + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" }, - "node_modules/@types/express": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", - "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" + "node_modules/component-emitter": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@types/express-serve-static-core": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.1.tgz", - "integrity": "sha512-CRICJIl0N5cXDONAdlTv5ShATZ4HEwk6kDDIW2/w9qOWKg+NU/5F8wYRWCrONad0/UKkloNSmmyN/wX4rtpbVA==", + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" } }, - "node_modules/@types/express/node_modules/@types/express-serve-static-core": { - "version": "4.19.6", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", - "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" + "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/@types/gtag.js": { - "version": "0.0.12", - "resolved": "https://registry.npmjs.org/@types/gtag.js/-/gtag.js-0.0.12.tgz", - "integrity": "sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==" - }, - "node_modules/@types/hast": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", - "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "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==", "dependencies": { - "@types/unist": "*" + "ms": "2.0.0" } }, - "node_modules/@types/history": { - "version": "4.7.11", - "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz", - "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==" - }, - "node_modules/@types/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, - "node_modules/@types/http-cache-semantics": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", - "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==" + "node_modules/compression/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/@types/http-errors": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", - "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==" + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, - "node_modules/@types/http-proxy": { - "version": "1.17.15", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.15.tgz", - "integrity": "sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==", + "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": { - "@types/node": "*" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==" - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "node_modules/configstore": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", + "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", "dependencies": { - "@types/istanbul-lib-coverage": "*" + "dot-prop": "^5.2.0", + "graceful-fs": "^4.1.2", + "make-dir": "^3.0.0", + "unique-string": "^2.0.0", + "write-file-atomic": "^3.0.0", + "xdg-basedir": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", - "dependencies": { - "@types/istanbul-lib-report": "*" + "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==", + "engines": { + "node": ">=0.8" } }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" + "node_modules/consola": { + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" }, - "node_modules/@types/katex": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@types/katex/-/katex-0.16.7.tgz", - "integrity": "sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==" + "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==" }, - "node_modules/@types/mdast": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", - "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "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==", + "deprecated": "Please upgrade to consolidate v1.0.0+ as it has been modernized with several long-awaited fixes implemented. Maintenance is supported by Forward Email at https://forwardemail.net ; follow/watch https://github.com/ladjs/consolidate for updates and release changelog", "dependencies": { - "@types/unist": "*" + "bluebird": "^3.1.1" + }, + "engines": { + "node": ">= 0.10.0" } }, - "node_modules/@types/mdx": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz", - "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==" - }, - "node_modules/@types/mime": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==" - }, - "node_modules/@types/ms": { - "version": "0.7.34", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", - "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==" }, - "node_modules/@types/node": { - "version": "22.9.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.1.tgz", - "integrity": "sha512-p8Yy/8sw1caA8CdRIQBG5tiLHmxtQKObCijiAa9Ez+d4+PRffM4054xbju0msf+cvhJpnFEeNjxmVT/0ipktrg==", + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dependencies": { - "undici-types": "~6.19.8" + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" } }, - "node_modules/@types/node-forge": { - "version": "1.3.11", - "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", - "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", - "dependencies": { - "@types/node": "*" + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "engines": { + "node": ">= 0.6" } }, - "node_modules/@types/parse-json": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", - "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==" + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" }, - "node_modules/@types/prismjs": { - "version": "1.26.5", - "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.5.tgz", - "integrity": "sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==" + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "engines": { + "node": ">= 0.6" + } }, - "node_modules/@types/prop-types": { - "version": "15.7.13", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.13.tgz", - "integrity": "sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==" + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" }, - "node_modules/@types/qs": { - "version": "6.9.17", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.17.tgz", - "integrity": "sha512-rX4/bPcfmvxHDv0XjfJELTTr+iB+tn032nPILqHm5wbthUUUuVtNGGqzhya9XUxjTP8Fpr0qYgSZZKxGY++svQ==" + "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==", + "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/@types/range-parser": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", - "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==" + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/@types/react": { - "version": "18.3.12", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.12.tgz", - "integrity": "sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==", + "node_modules/copy-webpack-plugin": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.2.tgz", + "integrity": "sha512-Uh7crJAco3AjBvgAy9Z75CjK8IG+gxaErro71THQ+vv/bl4HaQcpkexAY8KVW/T6D2W2IRr+couF/knIRkZMIQ==", "dependencies": { - "@types/prop-types": "*", - "csstype": "^3.0.2" + "cacache": "^12.0.3", + "find-cache-dir": "^2.1.0", + "glob-parent": "^3.1.0", + "globby": "^7.1.1", + "is-glob": "^4.0.1", + "loader-utils": "^1.2.3", + "minimatch": "^3.0.4", + "normalize-path": "^3.0.0", + "p-limit": "^2.2.1", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "webpack-log": "^2.0.0" + }, + "engines": { + "node": ">= 6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/@types/react-router": { - "version": "5.1.20", - "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz", - "integrity": "sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==", + "node_modules/copy-webpack-plugin/node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*" + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/@types/react-router-config": { - "version": "5.0.11", - "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.11.tgz", - "integrity": "sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==", + "node_modules/copy-webpack-plugin/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router": "^5.1.0" + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/@types/react-router-dom": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz", - "integrity": "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==", + "node_modules/copy-webpack-plugin/node_modules/globby": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", + "integrity": "sha512-yANWAN2DUcBtuus5Cpd+SKROzXHs2iVXFZt/Ykrfz6SAXqacLX25NZpltE+39ceMexYF4TtEadjuSTw8+3wX4g==", "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router": "*" + "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/@types/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" + "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==" }, - "node_modules/@types/sax": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", - "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", + "node_modules/copy-webpack-plugin/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dependencies": { - "@types/node": "*" + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/@types/send": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", - "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "node_modules/copy-webpack-plugin/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", "dependencies": { - "@types/mime": "^1", - "@types/node": "*" + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/@types/serve-index": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", - "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", - "dependencies": { - "@types/express": "*" + "node_modules/copy-webpack-plugin/node_modules/make-dir/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "engines": { + "node": ">=6" } }, - "node_modules/@types/serve-static": { - "version": "1.15.7", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", - "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", + "node_modules/copy-webpack-plugin/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dependencies": { - "@types/http-errors": "*", - "@types/node": "*", - "@types/send": "*" + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/@types/sockjs": { - "version": "0.3.36", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", - "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", - "dependencies": { - "@types/node": "*" + "node_modules/copy-webpack-plugin/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "engines": { + "node": ">=4" } }, - "node_modules/@types/unist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==" - }, - "node_modules/@types/ws": { - "version": "8.5.13", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.13.tgz", - "integrity": "sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==", - "dependencies": { - "@types/node": "*" + "node_modules/copy-webpack-plugin/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "engines": { + "node": ">=4" } }, - "node_modules/@types/yargs": { - "version": "17.0.33", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", - "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", + "node_modules/copy-webpack-plugin/node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", "dependencies": { - "@types/yargs-parser": "*" + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/@types/yargs-parser": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==" - }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", - "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "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==", "dependencies": { - "@webassemblyjs/helper-numbers": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2" + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" } }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", - "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==" + "node_modules/copy-webpack-plugin/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", - "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==" + "node_modules/copy-webpack-plugin/node_modules/slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", - "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==" + "node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", - "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "node_modules/core-js-compat": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.0.tgz", + "integrity": "sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw==", "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.13.2", - "@webassemblyjs/helper-api-error": "1.13.2", - "@xtuc/long": "4.2.2" + "browserslist": "^4.22.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", - "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==" + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", - "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/wasm-gen": "1.14.1" + "node_modules/corser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz", + "integrity": "sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==", + "dev": true, + "engines": { + "node": ">= 0.4.0" } }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", - "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "node_modules/cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", "dependencies": { - "@xtuc/ieee754": "^1.2.0" + "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/@webassemblyjs/leb128": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", - "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "node_modules/create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", "dependencies": { - "@xtuc/long": "4.2.2" + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" } }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", - "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==" + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", - "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "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==", "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/helper-wasm-section": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-opt": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1", - "@webassemblyjs/wast-printer": "1.14.1" + "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/@webassemblyjs/wasm-gen": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", - "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "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==", "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" + "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/@webassemblyjs/wasm-opt": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", - "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "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": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", - "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "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==", "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-api-error": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" + "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/@webassemblyjs/wast-printer": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", - "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@xtuc/long": "4.2.2" + "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==", + "engines": { + "node": ">=8" } }, - "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==" + "node_modules/css": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", + "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", + "dependencies": { + "inherits": "^2.0.3", + "source-map": "^0.6.1", + "source-map-resolve": "^0.5.2", + "urix": "^0.1.0" + } }, - "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==" + "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": "sha512-zj5D7X1U2h2zsXOAM8EyUREBnnts6H+Jm+d1M2DbiQQcUtnqgQsMrdo8JW9R80YFUmIdBZeMu5wvYM7hcgWP/Q==", + "engines": { + "node": "*" + } }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "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==", "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" + "postcss": "^7.0.1", + "timsort": "^0.3.0" }, "engines": { - "node": ">= 0.6" + "node": ">4" } }, - "node_modules/accepts/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "node_modules/css-declaration-sorter/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/css-declaration-sorter/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, "engines": { - "node": ">= 0.6" + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, - "node_modules/accepts/node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "node_modules/css-loader": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-2.1.1.tgz", + "integrity": "sha512-OcKJU/lt232vl1P9EEDamhoO9iKY3tIjY5GU+XDLblAykTdgs6Ux9P1hTHve8nFKy5KPpOXOsVI/hIwi3841+w==", "dependencies": { - "mime-db": "1.52.0" + "camelcase": "^5.2.0", + "icss-utils": "^4.1.0", + "loader-utils": "^1.2.3", + "normalize-path": "^3.0.0", + "postcss": "^7.0.14", + "postcss-modules-extract-imports": "^2.0.0", + "postcss-modules-local-by-default": "^2.0.6", + "postcss-modules-scope": "^2.1.0", + "postcss-modules-values": "^2.0.0", + "postcss-value-parser": "^3.3.0", + "schema-utils": "^1.0.0" }, "engines": { - "node": ">= 0.6" + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" } }, - "node_modules/accepts/node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "node_modules/css-loader/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "engines": { - "node": ">= 0.6" + "node": ">=6" } }, - "node_modules/acorn": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", - "bin": { - "acorn": "bin/acorn" + "node_modules/css-loader/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/css-loader/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" }, "engines": { - "node": ">=0.4.0" + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } + "node_modules/css-loader/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==" }, - "node_modules/acorn-walk": { - "version": "8.3.4", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", - "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", + "node_modules/css-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==", "dependencies": { - "acorn": "^8.11.0" + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" }, "engines": { - "node": ">=0.4.0" + "node": ">= 4" } }, - "node_modules/address": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", - "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", - "engines": { - "node": ">= 10.0.0" + "node_modules/css-parse": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz", + "integrity": "sha512-UNIFik2RgSbiTwIW1IsFwXWn6vs+bYdq83LKTSOsx7NJR7WII9dxewkHLltfTLVppoUApHV0118a4RZRI9FLwA==", + "dependencies": { + "css": "^2.0.0" + } + }, + "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==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" } }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "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==" + }, + "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==", "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "mdn-data": "2.0.4", + "source-map": "^0.6.1" }, "engines": { - "node": ">=8" + "node": ">=8.0.0" } }, - "node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" + "node_modules/css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "engines": { + "node": ">= 6" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" + "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==", + "bin": { + "cssesc": "bin/cssesc" }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } + "engines": { + "node": ">=4" } }, - "node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "node_modules/cssnano": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.11.tgz", + "integrity": "sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==", "dependencies": { - "fast-deep-equal": "^3.1.3" + "cosmiconfig": "^5.0.0", + "cssnano-preset-default": "^4.0.8", + "is-resolvable": "^1.0.0", + "postcss": "^7.0.0" }, - "peerDependencies": { - "ajv": "^8.8.2" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/algoliasearch": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.24.0.tgz", - "integrity": "sha512-bf0QV/9jVejssFBmz2HQLxUadxk574t4iwjCKp5E7NBzwKkrDEhKPISIIjAU/p6K5qDx3qoeh4+26zWN1jmw3g==", - "dependencies": { - "@algolia/cache-browser-local-storage": "4.24.0", - "@algolia/cache-common": "4.24.0", - "@algolia/cache-in-memory": "4.24.0", - "@algolia/client-account": "4.24.0", - "@algolia/client-analytics": "4.24.0", - "@algolia/client-common": "4.24.0", - "@algolia/client-personalization": "4.24.0", - "@algolia/client-search": "4.24.0", - "@algolia/logger-common": "4.24.0", - "@algolia/logger-console": "4.24.0", - "@algolia/recommend": "4.24.0", - "@algolia/requester-browser-xhr": "4.24.0", - "@algolia/requester-common": "4.24.0", - "@algolia/requester-node-http": "4.24.0", - "@algolia/transporter": "4.24.0" - } - }, - "node_modules/algoliasearch-helper": { - "version": "3.22.5", - "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.22.5.tgz", - "integrity": "sha512-lWvhdnc+aKOKx8jyA3bsdEgHzm/sglC4cYdMG4xSQyRiPLJVJtH/IVYZG3Hp6PkTEhQqhyVYkeP9z2IlcHJsWw==", - "dependencies": { - "@algolia/events": "^4.0.1" + "node_modules/cssnano-preset-default": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz", + "integrity": "sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==", + "dependencies": { + "css-declaration-sorter": "^4.0.1", + "cssnano-util-raw-cache": "^4.0.1", + "postcss": "^7.0.0", + "postcss-calc": "^7.0.1", + "postcss-colormin": "^4.0.3", + "postcss-convert-values": "^4.0.1", + "postcss-discard-comments": "^4.0.2", + "postcss-discard-duplicates": "^4.0.2", + "postcss-discard-empty": "^4.0.1", + "postcss-discard-overridden": "^4.0.1", + "postcss-merge-longhand": "^4.0.11", + "postcss-merge-rules": "^4.0.3", + "postcss-minify-font-values": "^4.0.2", + "postcss-minify-gradients": "^4.0.2", + "postcss-minify-params": "^4.0.2", + "postcss-minify-selectors": "^4.0.2", + "postcss-normalize-charset": "^4.0.1", + "postcss-normalize-display-values": "^4.0.2", + "postcss-normalize-positions": "^4.0.2", + "postcss-normalize-repeat-style": "^4.0.2", + "postcss-normalize-string": "^4.0.2", + "postcss-normalize-timing-functions": "^4.0.2", + "postcss-normalize-unicode": "^4.0.1", + "postcss-normalize-url": "^4.0.1", + "postcss-normalize-whitespace": "^4.0.2", + "postcss-ordered-values": "^4.1.2", + "postcss-reduce-initial": "^4.0.3", + "postcss-reduce-transforms": "^4.0.2", + "postcss-svgo": "^4.0.3", + "postcss-unique-selectors": "^4.0.1" }, - "peerDependencies": { - "algoliasearch": ">= 3.1 < 6" - } - }, - "node_modules/algoliasearch/node_modules/@algolia/client-common": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", - "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", - "dependencies": { - "@algolia/requester-common": "4.24.0", - "@algolia/transporter": "4.24.0" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/algoliasearch/node_modules/@algolia/client-search": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz", - "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==", - "dependencies": { - "@algolia/client-common": "4.24.0", - "@algolia/requester-common": "4.24.0", - "@algolia/transporter": "4.24.0" - } + "node_modules/cssnano-preset-default/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" }, - "node_modules/algoliasearch/node_modules/@algolia/requester-browser-xhr": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.24.0.tgz", - "integrity": "sha512-Z2NxZMb6+nVXSjF13YpjYTdvV3032YTBSGm2vnYvYPA6mMxzM3v5rsCiSspndn9rzIW4Qp1lPHBvuoKJV6jnAA==", + "node_modules/cssnano-preset-default/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dependencies": { - "@algolia/requester-common": "4.24.0" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, - "node_modules/algoliasearch/node_modules/@algolia/requester-node-http": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.24.0.tgz", - "integrity": "sha512-JF18yTjNOVYvU/L3UosRcvbPMGT9B+/GQWNWnenIImglzNVGpyzChkXLnrSf6uxwVNO6ESGu6oN8MqcGQcjQJw==", - "dependencies": { - "@algolia/requester-common": "4.24.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": "sha512-6RIcwmV3/cBMG8Aj5gucQRsJb4vv4I4rn6YjPbVWd5+Pn/fuG+YseGvXGk00XLkoZkaj31QOD7vMUpNPC4FIuw==", + "engines": { + "node": ">=6.9.0" } }, - "node_modules/ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "dependencies": { - "string-width": "^4.1.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": "sha512-JPMZ1TSMRUPVIqEalIBNoBtAYbi8okvcFns4O0YIhcdGebeYZK7dMyHJiQ6GqNBA9kE0Hym4Aqym5rPdsV/4Cw==", + "engines": { + "node": ">=6.9.0" } }, - "node_modules/ansi-align/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==" - }, - "node_modules/ansi-align/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "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==", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "postcss": "^7.0.0" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" } }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "node_modules/cssnano-util-raw-cache/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/cssnano-util-raw-cache/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dependencies": { - "type-fest": "^0.21.3" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" }, "engines": { - "node": ">=8" + "node": ">=6.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "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==", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6.9.0" } }, - "node_modules/ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", - "engines": [ - "node >= 0.8.0" - ], - "bin": { - "ansi-html": "bin/ansi-html" - } + "node_modules/cssnano/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/cssnano/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, "engines": { - "node": ">=8" + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", "dependencies": { - "color-convert": "^2.0.1" + "css-tree": "^1.1.2" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=8.0.0" } }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "node_modules/csso/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "mdn-data": "2.0.14", + "source-map": "^0.6.1" }, "engines": { - "node": ">= 8" + "node": ">=8.0.0" } }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + "node_modules/cyclist": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz", + "integrity": "sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==" }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "node_modules/cypress": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-6.9.1.tgz", + "integrity": "sha512-/RVx6sOhsyTR9sd9v0BHI4tnDZAhsH9rNat7CIKCUEr5VPWxyfGH0EzK4IHhAqAH8vjFcD4U14tPiJXshoUrmQ==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@cypress/listr-verbose-renderer": "^0.4.1", + "@cypress/request": "^2.88.5", + "@cypress/xvfb": "^1.2.4", + "@types/node": "12.12.50", + "@types/sinonjs__fake-timers": "^6.0.1", + "@types/sizzle": "^2.3.2", + "arch": "^2.1.2", + "blob-util": "2.0.2", + "bluebird": "^3.7.2", + "cachedir": "^2.3.0", + "chalk": "^4.1.0", + "check-more-types": "^2.24.0", + "cli-table3": "~0.6.0", + "commander": "^5.1.0", + "common-tags": "^1.8.0", + "dayjs": "^1.9.3", + "debug": "4.3.2", + "eventemitter2": "^6.4.2", + "execa": "^4.0.2", + "executable": "^4.1.1", + "extract-zip": "^1.7.0", + "fs-extra": "^9.0.1", + "getos": "^3.2.1", + "is-ci": "^2.0.0", + "is-installed-globally": "^0.3.2", + "lazy-ass": "^1.6.0", + "listr": "^0.14.3", + "lodash": "^4.17.19", + "log-symbols": "^4.0.0", + "minimist": "^1.2.5", + "moment": "^2.29.1", + "ospath": "^1.2.2", + "pretty-bytes": "^5.4.1", + "ramda": "~0.27.1", + "request-progress": "^3.0.0", + "supports-color": "^7.2.0", + "tmp": "~0.2.1", + "untildify": "^4.0.0", + "url": "^0.11.0", + "yauzl": "^2.10.0" + }, + "bin": { + "cypress": "bin/cypress" + }, "engines": { - "node": ">=8" + "node": ">=10.0.0" } }, - "node_modules/astring": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/astring/-/astring-1.9.0.tgz", - "integrity": "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==", - "bin": { - "astring": "bin/astring" - } + "node_modules/cypress/node_modules/@types/node": { + "version": "12.12.50", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.50.tgz", + "integrity": "sha512-5ImO01Fb8YsEOYpV+aeyGYztcYcjGsBvN4D7G5r1ef2cuQOpymjWNQi5V0rKHE6PC2ru3HkoUr/Br2/8GUA84w==", + "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==", + "node_modules/cypress/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">= 4.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/autoprefixer": { - "version": "10.4.20", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", - "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "node_modules/cypress/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "dependencies": { - "browserslist": "^4.23.3", - "caniuse-lite": "^1.0.30001646", - "fraction.js": "^4.3.7", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.1", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^10 || ^12 || >=14" + "node": ">=10" }, - "peerDependencies": { - "postcss": "^8.1.0" + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/b4a": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.7.tgz", - "integrity": "sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==" - }, - "node_modules/babel-loader": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.2.1.tgz", - "integrity": "sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==", + "node_modules/cypress/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": { - "find-cache-dir": "^4.0.0", - "schema-utils": "^4.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 14.15.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0", - "webpack": ">=5" + "node": ">=7.0.0" } }, - "node_modules/babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dependencies": { - "object.assign": "^4.1.0" + "node_modules/cypress/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/cypress/node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true, + "engines": { + "node": ">= 6" } }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.12", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz", - "integrity": "sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==", + "node_modules/cypress/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": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.6.3", - "semver": "^6.3.1" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" + "node_modules/cypress/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" } }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.10.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", - "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", + "node_modules/cypress/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": { - "@babel/helper-define-polyfill-provider": "^0.6.2", - "core-js-compat": "^3.38.0" + "universalify": "^2.0.0" }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz", - "integrity": "sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==", + "node_modules/cypress/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": { - "@babel/helper-define-polyfill-provider": "^0.6.3" + "has-flag": "^4.0.0" }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "engines": { + "node": ">=8" } }, - "node_modules/bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/cypress/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "engines": { + "node": ">= 10.0.0" } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "node_modules/bare-events": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.5.0.tgz", - "integrity": "sha512-/E8dDe9dsbLyh2qrZ64PEPadOQ0F4gbl1sUJOrmph7xOiIxfY8vwab/4bFLh4Y88/Hk/ujKcrQKc+ps0mv873A==", - "optional": true - }, - "node_modules/bare-fs": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-2.3.5.tgz", - "integrity": "sha512-SlE9eTxifPDJrT6YgemQ1WGFleevzwY+XAP1Xqgl56HtcrisC2CHCZ2tq6dBpcH2TnNxwUEUGhweo+lrQtYuiw==", - "optional": true, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", "dependencies": { - "bare-events": "^2.0.0", - "bare-path": "^2.0.0", - "bare-stream": "^2.0.0" + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" } }, - "node_modules/bare-os": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-2.4.4.tgz", - "integrity": "sha512-z3UiI2yi1mK0sXeRdc4O1Kk8aOa/e+FNWZcTiPB/dfTWyLypuE99LibgRaQki914Jq//yAWylcAt+mknKdixRQ==", - "optional": true + "node_modules/date-fns": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", + "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==" }, - "node_modules/bare-path": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-2.1.3.tgz", - "integrity": "sha512-lh/eITfU8hrj9Ru5quUp0Io1kJWIk1bTjzo7JH1P5dWmQ2EL4hFUlfI8FonAhSlgIfhn63p84CDY/x+PisgcXA==", - "optional": true, - "dependencies": { - "bare-os": "^2.1.0" - } + "node_modules/dayjs": { + "version": "1.11.10", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" }, - "node_modules/bare-stream": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.3.2.tgz", - "integrity": "sha512-EFZHSIBkDgSHIwj2l2QZfP4U5OcD4xFAOwhSb/vlr9PIqyGJGvB/nfClJbcnh3EY4jtPE4zsb5ztae96bVF79A==", - "optional": true, - "dependencies": { - "streamx": "^2.20.0" - } + "node_modules/de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==" }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" + "node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true } - ] - }, - "node_modules/batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + } }, - "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==", + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "engines": { - "node": "*" + "node": ">=0.10.0" } }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10" } }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "node_modules/decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" + "mimic-response": "^1.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/body-parser": { - "version": "1.20.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", - "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "node_modules/deep-equal": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.2.tgz", + "integrity": "sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg==", "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.13.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" + "is-arguments": "^1.1.1", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.5.1" }, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/body-parser/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "engines": { - "node": ">= 0.8" + "node": ">=4.0.0" } }, - "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==", - "dependencies": { - "ms": "2.0.0" + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/bonjour-service": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz", - "integrity": "sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==", + "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==", "dependencies": { - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" - }, - "node_modules/boxen": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz", - "integrity": "sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==", + "node_modules/default-gateway/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==", "dependencies": { - "ansi-align": "^3.0.1", - "camelcase": "^6.2.0", - "chalk": "^4.1.2", - "cli-boxes": "^3.0.0", - "string-width": "^5.0.1", - "type-fest": "^2.5.0", - "widest-line": "^4.0.1", - "wrap-ansi": "^8.0.1" + "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": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4.8" } }, - "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==", + "node_modules/default-gateway/node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "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/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "node_modules/default-gateway/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==", "dependencies": { - "fill-range": "^7.1.1" + "pump": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/browserslist": { - "version": "4.24.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", - "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "node_modules/default-gateway/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway/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": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", "dependencies": { - "caniuse-lite": "^1.0.30001669", - "electron-to-chromium": "^1.5.41", - "node-releases": "^2.0.18", - "update-browserslist-db": "^1.1.1" - }, - "bin": { - "browserslist": "cli.js" + "path-key": "^2.0.0" }, "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "node": ">=4" } }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "node_modules/default-gateway/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "engines": { + "node": ">=4" } }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + "node_modules/default-gateway/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } }, - "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "node_modules/default-gateway/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dependencies": { + "shebang-regex": "^1.0.0" + }, "engines": { - "node": ">= 0.8" + "node": ">=0.10.0" } }, - "node_modules/cacheable-lookup": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", - "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", + "node_modules/default-gateway/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", "engines": { - "node": ">=14.16" + "node": ">=0.10.0" } }, - "node_modules/cacheable-request": { - "version": "10.2.14", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz", - "integrity": "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==", + "node_modules/default-gateway/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dependencies": { - "@types/http-cache-semantics": "^4.0.2", - "get-stream": "^6.0.1", - "http-cache-semantics": "^4.1.1", - "keyv": "^4.5.3", - "mimic-response": "^4.0.0", - "normalize-url": "^8.0.0", - "responselike": "^3.0.0" + "isexe": "^2.0.0" }, - "engines": { - "node": ">=14.16" + "bin": { + "which": "bin/which" } }, - "node_modules/cacheable-request/node_modules/mimic-response": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", - "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", + "node_modules/defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" }, "engines": { "node": ">= 0.4" @@ -6288,2745 +6293,2962 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "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==", + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/del": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "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/camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "node_modules/del/node_modules/globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", "dependencies": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" + "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/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "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": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "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==", - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" + "node_modules/del/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "engines": { + "node": ">=6" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001680", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001680.tgz", - "integrity": "sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } }, - "node_modules/ccount": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", - "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" } }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/des.js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "engines": { - "node": ">=10" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/character-entities": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", - "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + }, + "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==", + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" } }, - "node_modules/character-entities-html4": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", - "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/diffie-hellman/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "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==", + "dependencies": { + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/character-entities-legacy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", - "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" + }, + "node_modules/dns-packet": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", + "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", + "dependencies": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" } }, - "node_modules/character-reference-invalid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", - "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha512-Ix5PrWjphuSoUXV/Zv5gaFHjnaJtb02F2+Si3Ht9dyJ87+Z/lMmy+dpNHtTGraNK958ndXq2i+GLkWsWHcKaBQ==", + "dependencies": { + "buffer-indexof": "^1.0.0" } }, - "node_modules/cheerio": { - "version": "1.0.0-rc.12", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", - "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", + "node_modules/docsearch.js": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/docsearch.js/-/docsearch.js-2.6.3.tgz", + "integrity": "sha512-GN+MBozuyz664ycpZY0ecdQE0ND/LSgJKhTLA0/v3arIS3S1Rpf2OJz6A35ReMsm91V5apcmzr5/kM84cvUg+A==", + "deprecated": "This package has been deprecated and is no longer maintained. Please use @docsearch/js.", "dependencies": { - "cheerio-select": "^2.1.0", - "dom-serializer": "^2.0.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "htmlparser2": "^8.0.1", - "parse5": "^7.0.0", - "parse5-htmlparser2-tree-adapter": "^7.0.0" - }, - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + "algoliasearch": "^3.24.5", + "autocomplete.js": "0.36.0", + "hogan.js": "^3.0.2", + "request": "^2.87.0", + "stack-utils": "^1.0.1", + "to-factory": "^1.0.0", + "zepto": "^1.2.0" } }, - "node_modules/cheerio-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", - "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "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==", "dependencies": { - "boolbase": "^1.0.0", - "css-select": "^5.1.0", - "css-what": "^6.1.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "utila": "~0.4" } }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "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": { - "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" - }, + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/dom-serializer/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + "node_modules/dom-walk": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", + "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" }, - "node_modules/chrome-trace-event": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", - "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "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==", "engines": { - "node": ">=6.0" + "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": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "node_modules/domhandler/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", "funding": [ { "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" + "url": "https://github.com/sponsors/fb55" } - ], - "engines": { - "node": ">=8" + ] + }, + "node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" } }, - "node_modules/clean-css": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", - "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", + "node_modules/dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", "dependencies": { - "source-map": "~0.6.0" + "is-obj": "^2.0.0" }, "engines": { - "node": ">= 10.0" + "node": ">=8" } }, - "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==", + "node_modules/duplexer3": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz", + "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==" + }, + "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/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/electron-to-chromium": { + "version": "1.4.702", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.702.tgz", + "integrity": "sha512-LYLXyEUsZ3nNSwiOWjI88N1PJUAMU2QphQSgGLVkFnb3FxZxNui2Vzi2PaKPgPWbsWbZstZnh6BMf/VQJamjiQ==" + }, + "node_modules/elegant-spinner": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz", + "integrity": "sha512-B+ZM+RXvRqQaAmkMlO/oSe5nMUOaUnyfGYCEHoR8wrXsZR2mA0XVibsxV1bvTwxdRWah1PkQqso2EzhILGHtEQ==", + "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "engines": { - "node": ">=6" + "node_modules/elliptic": { + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.5.tgz", + "integrity": "sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==", + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" } }, - "node_modules/cli-boxes": { + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "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==" + }, + "node_modules/emojis-list": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", - "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 4" } }, - "node_modules/cli-table3": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz", - "integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==", + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "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": { - "string-width": "^4.2.0" + "once": "^1.4.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "dependencies": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" }, "engines": { - "node": "10.* || >= 12.*" + "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==", + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" }, - "optionalDependencies": { - "@colors/colors": "1.5.0" + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" } }, - "node_modules/cli-table3/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==" + "node_modules/entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" }, - "node_modules/cli-table3/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/envify": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/envify/-/envify-4.1.0.tgz", + "integrity": "sha512-IKRVVoAYr4pIx4yIWNsz9mOsboxlNXiu7TNBnem/K/uTHdkyzXWDzHCK7UTolqBbgaBz0tQHsD3YNls0uIIjiw==", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "esprima": "^4.0.0", + "through": "~2.3.4" + }, + "bin": { + "envify": "bin/envify" + } + }, + "node_modules/envinfo": { + "version": "7.11.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.11.1.tgz", + "integrity": "sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg==", + "bin": { + "envinfo": "dist/cli.js" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "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==", + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" + "prr": "~1.0.1" }, - "engines": { - "node": ">=6" + "bin": { + "errno": "cli.js" } }, - "node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "engines": { - "node": ">=6" + "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/collapse-white-space": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", - "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", + "node_modules/es-abstract": { + "version": "1.22.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.5.tgz", + "integrity": "sha512-oW69R+4q2wG+Hc3KZePPZxOiisRIqfKBVo/HLx94QcJeWGU/8sZhCvc829rd1kS366vlJbzBfXf9yWwf0+Ko7w==", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "hasown": "^2.0.1", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.0", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.5", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/color": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", - "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "node_modules/es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", "dependencies": { - "color-convert": "^2.0.1", - "color-string": "^1.9.0" + "get-intrinsic": "^1.2.4" }, "engines": { - "node": ">=12.5.0" + "node": ">= 0.4" } }, - "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==", + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", "dependencies": { - "color-name": "~1.1.4" + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" }, "engines": { - "node": ">=7.0.0" + "node": ">= 0.4" } }, - "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==" - }, - "node_modules/color-string": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "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": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/colord": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + "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/esbuild": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.7.tgz", + "integrity": "sha512-+u/msd6iu+HvfysUPkZ9VHm83LImmSNnecYPfFI01pQ7TTcsFR+V0BkybZX7mPtIaI7LCrse6YRj+v3eraJSgw==", + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "optionalDependencies": { + "esbuild-android-arm64": "0.14.7", + "esbuild-darwin-64": "0.14.7", + "esbuild-darwin-arm64": "0.14.7", + "esbuild-freebsd-64": "0.14.7", + "esbuild-freebsd-arm64": "0.14.7", + "esbuild-linux-32": "0.14.7", + "esbuild-linux-64": "0.14.7", + "esbuild-linux-arm": "0.14.7", + "esbuild-linux-arm64": "0.14.7", + "esbuild-linux-mips64le": "0.14.7", + "esbuild-linux-ppc64le": "0.14.7", + "esbuild-netbsd-64": "0.14.7", + "esbuild-openbsd-64": "0.14.7", + "esbuild-sunos-64": "0.14.7", + "esbuild-windows-32": "0.14.7", + "esbuild-windows-64": "0.14.7", + "esbuild-windows-arm64": "0.14.7" + } + }, + "node_modules/esbuild-android-arm64": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.7.tgz", + "integrity": "sha512-9/Q1NC4JErvsXzJKti0NHt+vzKjZOgPIjX/e6kkuCzgfT/GcO3FVBcGIv4HeJG7oMznE6KyKhvLrFgt7CdU2/w==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/esbuild-darwin-64": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.7.tgz", + "integrity": "sha512-Z9X+3TT/Xj+JiZTVlwHj2P+8GoiSmUnGVz0YZTSt8WTbW3UKw5Pw2ucuJ8VzbD2FPy0jbIKJkko/6CMTQchShQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/esbuild-darwin-arm64": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.7.tgz", + "integrity": "sha512-68e7COhmwIiLXBEyxUxZSSU0akgv8t3e50e2QOtKdBUE0F6KIRISzFntLe2rYlNqSsjGWsIO6CCc9tQxijjSkw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/esbuild-freebsd-64": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.7.tgz", + "integrity": "sha512-76zy5jAjPiXX/S3UvRgG85Bb0wy0zv/J2lel3KtHi4V7GUTBfhNUPt0E5bpSXJ6yMT7iThhnA5rOn+IJiUcslQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/esbuild-freebsd-arm64": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.7.tgz", + "integrity": "sha512-lSlYNLiqyzd7qCN5CEOmLxn7MhnGHPcu5KuUYOG1i+t5A6q7LgBmfYC9ZHJBoYyow3u4CNu79AWHbvVLpE/VQQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/esbuild-linux-32": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.7.tgz", + "integrity": "sha512-Vk28u409wVOXqTaT6ek0TnfQG4Ty1aWWfiysIaIRERkNLhzLhUf4i+qJBN8mMuGTYOkE40F0Wkbp6m+IidOp2A==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/esbuild-linux-64": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.7.tgz", + "integrity": "sha512-+Lvz6x+8OkRk3K2RtZwO+0a92jy9si9cUea5Zoru4yJ/6EQm9ENX5seZE0X9DTwk1dxJbjmLsJsd3IoowyzgVg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/esbuild-linux-arm": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.7.tgz", + "integrity": "sha512-OzpXEBogbYdcBqE4uKynuSn5YSetCvK03Qv1HcOY1VN6HmReuatjJ21dCH+YPHSpMEF0afVCnNfffvsGEkxGJQ==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/esbuild-linux-arm64": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.7.tgz", + "integrity": "sha512-kJd5beWSqteSAW086qzCEsH6uwpi7QRIpzYWHzEYwKKu9DiG1TwIBegQJmLpPsLp4v5RAFjea0JAmAtpGtRpqg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/esbuild-linux-mips64le": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.7.tgz", + "integrity": "sha512-mFWpnDhZJmj/h7pxqn1GGDsKwRfqtV7fx6kTF5pr4PfXe8pIaTERpwcKkoCwZUkWAOmUEjMIUAvFM72A6hMZnA==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/esbuild-linux-ppc64le": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.7.tgz", + "integrity": "sha512-wM7f4M0bsQXfDL4JbbYD0wsr8cC8KaQ3RPWc/fV27KdErPW7YsqshZZSjDV0kbhzwpNNdhLItfbaRT8OE8OaKA==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/esbuild-netbsd-64": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.7.tgz", + "integrity": "sha512-J/afS7woKyzGgAL5FlgvMyqgt5wQ597lgsT+xc2yJ9/7BIyezeXutXqfh05vszy2k3kSvhLesugsxIA71WsqBw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ] + }, + "node_modules/esbuild-openbsd-64": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.7.tgz", + "integrity": "sha512-7CcxgdlCD+zAPyveKoznbgr3i0Wnh0L8BDGRCjE/5UGkm5P/NQko51tuIDaYof8zbmXjjl0OIt9lSo4W7I8mrw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ] }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" + "node_modules/esbuild-sunos-64": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.7.tgz", + "integrity": "sha512-GKCafP2j/KUljVC3nesw1wLFSZktb2FGCmoT1+730zIF5O6hNroo0bSEofm6ZK5mNPnLiSaiLyRB9YFgtkd5Xg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ] }, - "node_modules/combine-promises": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/combine-promises/-/combine-promises-1.2.0.tgz", - "integrity": "sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==", - "engines": { - "node": ">=10" - } + "node_modules/esbuild-windows-32": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.7.tgz", + "integrity": "sha512-5I1GeL/gZoUUdTPA0ws54bpYdtyeA2t6MNISalsHpY269zK8Jia/AXB3ta/KcDHv2SvNwabpImeIPXC/k0YW6A==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/comma-separated-tokens": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", - "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } + "node_modules/esbuild-windows-64": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.7.tgz", + "integrity": "sha512-CIGKCFpQOSlYsLMbxt8JjxxvVw9MlF1Rz2ABLVfFyHUF5OeqHD5fPhGrCVNaVrhO8Xrm+yFmtjcZudUGr5/WYQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "node_modules/esbuild-windows-arm64": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.7.tgz", + "integrity": "sha512-eOs1eSivOqN7cFiRIukEruWhaCf75V0N8P0zP7dh44LIhLl8y6/z++vv9qQVbkBm5/D7M7LfCfCTmt1f1wHOCw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", "engines": { - "node": ">= 6" + "node": ">=6" } }, - "node_modules/common-path-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, + "node_modules/escape-goat": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", + "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/compressible/node_modules/mime-db": { - "version": "1.53.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.53.0.tgz", - "integrity": "sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg==", + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "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": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "engines": { - "node": ">= 0.6" + "node": ">=0.8.0" } }, - "node_modules/compression": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.5.tgz", - "integrity": "sha512-bQJ0YRck5ak3LgtnpKkiabX5pNF7tMUh1BSy2ZBOTh0Dim0BUu6aPPwByIns6/A5Prh8PufSPerMDUklpzes2Q==", + "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==", "dependencies": { - "bytes": "3.1.2", - "compressible": "~2.0.18", - "debug": "2.6.9", - "negotiator": "~0.6.4", - "on-headers": "~1.0.2", - "safe-buffer": "5.2.1", - "vary": "~1.1.2" + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" }, "engines": { - "node": ">= 0.8.0" + "node": ">=4.0.0" } }, - "node_modules/compression/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "node_modules/esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", + "peer": 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==", - "dependencies": { - "ms": "2.0.0" + "node": ">=6" } }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "node_modules/config-chain": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", - "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", - "dependencies": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" + "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/configstore": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-6.0.0.tgz", - "integrity": "sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==", + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dependencies": { - "dot-prop": "^6.0.1", - "graceful-fs": "^4.2.6", - "unique-string": "^3.0.0", - "write-file-atomic": "^3.0.3", - "xdg-basedir": "^5.0.1" + "estraverse": "^5.2.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/yeoman/configstore?sponsor=1" + "node": ">=4.0" } }, - "node_modules/connect-history-api-fallback": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", - "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "engines": { - "node": ">=0.8" + "node": ">=4.0" } }, - "node_modules/consola": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz", - "integrity": "sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==", + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "engines": { - "node": "^14.18.0 || >=16.10.0" + "node": ">=4.0" } }, - "node_modules/consolidated-events": { + "node_modules/estree-walker": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/consolidated-events/-/consolidated-events-2.0.2.tgz", - "integrity": "sha512-2/uRVMdRypf5z/TW/ncD/66l75P5hH2vM/GR8Jf8HLc2xnfJtmina6F6du8+v4Z2vTrMo7jC+W1tmEEuuELgkQ==" + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" }, - "node_modules/content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", + "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.6" + "node": ">=0.10.0" } }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "engines": { "node": ">= 0.6" } }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" - }, - "node_modules/cookie": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", - "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", - "engines": { - "node": ">= 0.6" - } + "node_modules/eventemitter2": { + "version": "6.4.9", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.9.tgz", + "integrity": "sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg==", + "dev": true }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" }, - "node_modules/copy-text-to-clipboard": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz", - "integrity": "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==", + "node_modules/events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.4.x" } }, - "node_modules/copy-webpack-plugin": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", - "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", - "dependencies": { - "fast-glob": "^3.2.11", - "glob-parent": "^6.0.1", - "globby": "^13.1.1", - "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0" - }, + "node_modules/eventsource": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-2.0.2.tgz", + "integrity": "sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA==", "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" + "node": ">=12.0.0" } }, - "node_modules/copy-webpack-plugin/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "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==", "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" } }, - "node_modules/copy-webpack-plugin/node_modules/globby": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", - "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, "dependencies": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.3.0", - "ignore": "^5.2.4", - "merge2": "^1.4.1", - "slash": "^4.0.0" + "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", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/copy-webpack-plugin/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "engines": { - "node": ">=12" + "node_modules/executable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", + "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "dev": true, + "dependencies": { + "pify": "^2.2.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=4" } }, - "node_modules/core-js": { - "version": "3.39.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.39.0.tgz", - "integrity": "sha512-raM0ew0/jJUqkJ0E6e8UDtl+y/7ktFivgWvqw8dNSQeNWoSDLvQ1H/RN3aPXB9tBd4/FhyR4RDPGhsNIMsAn7g==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "node_modules/exit-hook": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", + "integrity": "sha512-MsG3prOVw1WtLXAZbM3KiYtooKR1LvxHh3VHsVtIy0uiUu8usxgB/94DP2HxtD/661lLdB6yzQ09lGJSQr6nkg==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/core-js-compat": { - "version": "3.39.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.39.0.tgz", - "integrity": "sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==", + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", "dependencies": { - "browserslist": "^4.24.2" + "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" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/core-js-pure": { - "version": "3.39.0", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.39.0.tgz", - "integrity": "sha512-7fEcWwKI4rJinnK+wLTezeg2smbFFdSBP6E2kQZNbnzM2s1rpKQ6aaRteZSSg7FLU3P0HGGVo/gbpfanU36urg==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "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==", + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "node_modules/cosmiconfig": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", - "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "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": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dependencies": { - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0", - "path-type": "^4.0.0" + "is-descriptor": "^0.1.0" }, "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/d-fischer" - }, - "peerDependencies": { - "typescript": ">=4.9.5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "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": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">= 8" + "node": ">=0.10.0" } }, - "node_modules/crypto-random-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", - "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", + "node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", "dependencies": { - "type-fest": "^1.0.1" + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.4" } }, - "node_modules/crypto-random-string/node_modules/type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "node_modules/expand-brackets/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/css-blank-pseudo": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-7.0.1.tgz", - "integrity": "sha512-jf+twWGDf6LDoXDUode+nc7ZlrqfaNphrBIBrcmeP3D8yw1uPaix1gCC8LUQUGQ6CycuK2opkbFFWFuq/a94ag==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/express": { + "version": "4.18.3", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.3.tgz", + "integrity": "sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==", "dependencies": { - "postcss-selector-parser": "^7.0.0" + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" }, "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">= 0.10.0" } }, - "node_modules/css-blank-pseudo/node_modules/postcss-selector-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", - "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "node_modules/express/node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "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==", "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" + "ms": "2.0.0" } }, - "node_modules/css-declaration-sorter": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz", - "integrity": "sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==", - "engines": { - "node": "^14 || ^16 || >=18" - }, - "peerDependencies": { - "postcss": "^8.0.9" - } + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, - "node_modules/css-has-pseudo": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-7.0.1.tgz", - "integrity": "sha512-EOcoyJt+OsuKfCADgLT7gADZI5jMzIe/AeI6MeAYKiFBDmNmM7kk46DtSfMj5AohUJisqVzopBpnQTlvbyaBWg==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "node_modules/express/node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", "dependencies": { - "@csstools/selector-specificity": "^5.0.0", - "postcss-selector-parser": "^7.0.0", - "postcss-value-parser": "^4.2.0" + "side-channel": "^1.0.4" }, "engines": { - "node": ">=18" + "node": ">=0.6" }, - "peerDependencies": { - "postcss": "^8.4" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/css-has-pseudo/node_modules/@csstools/selector-specificity": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", - "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "engines": { - "node": ">=18" + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, - "peerDependencies": { - "postcss-selector-parser": "^7.0.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/css-has-pseudo/node_modules/postcss-selector-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", - "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" + "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": ">=4" + "node": ">=0.10.0" } }, - "node_modules/css-loader": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz", - "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==", + "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": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dependencies": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.33", - "postcss-modules-extract-imports": "^3.1.0", - "postcss-modules-local-by-default": "^4.0.5", - "postcss-modules-scope": "^3.2.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.5.4" + "is-descriptor": "^1.0.0" }, "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "webpack": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/css-minimizer-webpack-plugin": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz", - "integrity": "sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==", + "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": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.18", - "cssnano": "^6.0.1", - "jest-worker": "^29.4.3", - "postcss": "^8.4.24", - "schema-utils": "^4.0.1", - "serialize-javascript": "^6.0.1" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@parcel/css": { - "optional": true - }, - "@swc/css": { - "optional": true - }, - "clean-css": { - "optional": true - }, - "csso": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "lightningcss": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/css-prefers-color-scheme": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-10.0.0.tgz", - "integrity": "sha512-VCtXZAWivRglTZditUfB4StnsWr6YVZ2PRtuxQLKTNRdtAf8tpzaVPE9zXIF3VaSc7O70iK/j1+NXxyQCqdPjQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "node_modules/extglob/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">=0.10.0" } }, - "node_modules/css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "node_modules/extract-zip": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", + "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", + "dev": true, "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" + "concat-stream": "^1.6.2", + "debug": "^2.6.9", + "mkdirp": "^0.5.4", + "yauzl": "^2.10.0" }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "bin": { + "extract-zip": "cli.js" } }, - "node_modules/css-tree": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", - "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "node_modules/extract-zip/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": { - "mdn-data": "2.0.30", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + "ms": "2.0.0" } }, - "node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } + "node_modules/extract-zip/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true }, - "node_modules/cssdb": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-8.2.2.tgz", - "integrity": "sha512-Z3kpWyvN68aKyeMxOUGmffQeHjvrzDxbre2B2ikr/WqQ4ZMkhHu2nOD6uwSeq3TpuOYU7ckvmJRAUIt6orkYUg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - } + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "engines": [ + "node >=0.6.0" ] }, - "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==", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } + "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==" }, - "node_modules/cssnano": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.1.2.tgz", - "integrity": "sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==", + "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==", "dependencies": { - "cssnano-preset-default": "^6.1.2", - "lilconfig": "^3.1.1" + "@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": "^14 || ^16 || >=18.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/cssnano" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">=4.0.0" } }, - "node_modules/cssnano-preset-advanced": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-6.1.2.tgz", - "integrity": "sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==", + "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==" + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", "dependencies": { - "autoprefixer": "^10.4.19", - "browserslist": "^4.23.0", - "cssnano-preset-default": "^6.1.2", - "postcss-discard-unused": "^6.0.5", - "postcss-merge-idents": "^6.0.3", - "postcss-reduce-idents": "^6.0.3", - "postcss-zindex": "^6.0.2" + "websocket-driver": ">=0.5.1" }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">=0.8.0" } }, - "node_modules/cssnano-preset-default": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz", - "integrity": "sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==", - "dependencies": { - "browserslist": "^4.23.0", - "css-declaration-sorter": "^7.2.0", - "cssnano-utils": "^4.0.2", - "postcss-calc": "^9.0.1", - "postcss-colormin": "^6.1.0", - "postcss-convert-values": "^6.1.0", - "postcss-discard-comments": "^6.0.2", - "postcss-discard-duplicates": "^6.0.3", - "postcss-discard-empty": "^6.0.3", - "postcss-discard-overridden": "^6.0.2", - "postcss-merge-longhand": "^6.0.5", - "postcss-merge-rules": "^6.1.1", - "postcss-minify-font-values": "^6.1.0", - "postcss-minify-gradients": "^6.0.3", - "postcss-minify-params": "^6.1.0", - "postcss-minify-selectors": "^6.0.4", - "postcss-normalize-charset": "^6.0.2", - "postcss-normalize-display-values": "^6.0.2", - "postcss-normalize-positions": "^6.0.2", - "postcss-normalize-repeat-style": "^6.0.2", - "postcss-normalize-string": "^6.0.2", - "postcss-normalize-timing-functions": "^6.0.2", - "postcss-normalize-unicode": "^6.1.0", - "postcss-normalize-url": "^6.0.2", - "postcss-normalize-whitespace": "^6.0.2", - "postcss-ordered-values": "^6.0.2", - "postcss-reduce-initial": "^6.1.0", - "postcss-reduce-transforms": "^6.0.2", - "postcss-svgo": "^6.0.3", - "postcss-unique-selectors": "^6.0.4" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "dependencies": { + "pend": "~1.2.0" } }, - "node_modules/cssnano-utils": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.2.tgz", - "integrity": "sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==", - "engines": { - "node": "^14 || ^16 || >=18.0" + "node_modules/feed": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/feed/-/feed-2.0.4.tgz", + "integrity": "sha512-sWatfulDP6d18qVaWcu34qmq9ml6UeN6nHSBJpNZ2muBqxjPAdT375whPYAHP+gqLfyabtYU5qf2Dv4nqtlp0w==", + "dependencies": { + "luxon": "^1.3.3", + "xml": "^1.0.1" }, - "peerDependencies": { - "postcss": "^8.4.31" + "engines": { + "node": ">=0.4.0" } }, - "node_modules/csso": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", - "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "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==", + "deprecated": "This module is no longer supported." + }, + "node_modules/figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==", + "dev": true, "dependencies": { - "css-tree": "~2.2.0" + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" }, "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" + "node": ">=0.10.0" } }, - "node_modules/csso/node_modules/css-tree": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", - "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "node_modules/file-loader": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-3.0.1.tgz", + "integrity": "sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw==", "dependencies": { - "mdn-data": "2.0.28", - "source-map-js": "^1.0.1" + "loader-utils": "^1.0.2", + "schema-utils": "^1.0.0" }, "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" } }, - "node_modules/csso/node_modules/mdn-data": { - "version": "2.0.28", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", - "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==" - }, - "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" - }, - "node_modules/debounce": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", - "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==" - }, - "node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "node_modules/file-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==", "dependencies": { - "ms": "^2.1.3" + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">= 4" } }, - "node_modules/decode-named-character-reference": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", - "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "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==", + "optional": true + }, + "node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dependencies": { - "character-entities": "^2.0.0" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "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": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dependencies": { - "mimic-response": "^3.1.0" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "node_modules/fill-range/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "engines": { - "node": ">=4.0.0" + "node": ">=0.10.0" } }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "node_modules/filter-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==", "engines": { "node": ">=0.10.0" } }, - "node_modules/default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "dependencies": { - "execa": "^5.0.0" + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" }, "engines": { - "node": ">= 10" + "node": ">= 0.8" } }, - "node_modules/defer-to-connect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", - "engines": { - "node": ">=10" + "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==", + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" }, "engines": { - "node": ">= 0.4" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "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==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "node_modules/flexsearch": { + "version": "0.6.32", + "resolved": "https://registry.npmjs.org/flexsearch/-/flexsearch-0.6.32.tgz", + "integrity": "sha512-EF1BWkhwoeLtbIlDbY/vDSLBen/E5l/f1Vg7iX5CDymQCamcx1vhlc3tIZxIDplPjgi0jhG37c67idFbjg+v+Q==" + }, + "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==", "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], "engines": { - "node": ">= 0.4" + "node": ">=4.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependenciesMeta": { + "debug": { + "optional": true + } } }, - "node_modules/del": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", - "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", + "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": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "is-callable": "^1.1.3" } }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", "engines": { - "node": ">= 0.8" + "node": ">=0.10.0" } }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "node_modules/foreach": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.6.tgz", + "integrity": "sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg==" + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", "engines": { - "node": ">=6" + "node": "*" } }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "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==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">= 0.12" } }, - "node_modules/detect-libc": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", - "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" - }, - "node_modules/detect-port": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.6.1.tgz", - "integrity": "sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==", + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", "dependencies": { - "address": "^1.0.1", - "debug": "4" - }, - "bin": { - "detect": "bin/detect-port.js", - "detect-port": "bin/detect-port.js" + "map-cache": "^0.2.2" }, "engines": { - "node": ">= 4.0.0" + "node": ">=0.10.0" } }, - "node_modules/detect-port-alt": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", - "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", - "dependencies": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, - "bin": { - "detect": "bin/detect-port", - "detect-port": "bin/detect-port" - }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "engines": { - "node": ">= 4.2.1" + "node": ">= 0.6" } }, - "node_modules/detect-port-alt/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", "dependencies": { - "ms": "2.0.0" + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" } }, - "node_modules/detect-port-alt/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/devlop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", - "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "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==", "dependencies": { - "dequal": "^2.0.0" + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "engines": { + "node": ">=6 <7 || >=8" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "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": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" } }, - "node_modules/dns-packet": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", - "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "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": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], "dependencies": { - "@leichtgewicht/ip-codec": "^2.0.1" + "bindings": "^1.5.0", + "nan": "^2.12.1" }, "engines": { - "node": ">=6" + "node": ">= 4.0" } }, - "node_modules/dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "dependencies": { - "utila": "~0.4" + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dependencies": { - "domelementtype": "^2.3.0" + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" }, "engines": { - "node": ">= 4" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/domutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "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==" + }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" }, "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/dot-prop": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", - "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", + "node_modules/get-symbol-description": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", "dependencies": { - "is-obj": "^2.0.0" + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/dot-prop/node_modules/is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - }, - "node_modules/electron-to-chromium": { - "version": "1.5.63", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.63.tgz", - "integrity": "sha512-ddeXKuY9BHo/mw145axlyWjlJ1UBt4WK3AlvkT7W2AbqfRQoacVoRUCF6wL3uIx/8wT9oLKXzI+rFqHHscByaA==" - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "node_modules/emojilib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz", - "integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==" + "node_modules/getos": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", + "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", + "dev": true, + "dependencies": { + "async": "^3.2.0" + } }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "engines": { - "node": ">= 4" + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dependencies": { + "assert-plus": "^1.0.0" } }, - "node_modules/emoticon": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/emoticon/-/emoticon-4.1.0.tgz", - "integrity": "sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/github-markdown-css": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/github-markdown-css/-/github-markdown-css-3.0.1.tgz", + "integrity": "sha512-9G5CIPsHoyk5ObDsb/H4KTi23J8KE1oDd4KYU51qwqeM+lKWAiO7abpSgCkyWswgmSKBiuE7/4f8xUz7f2qAiQ==", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, "engines": { - "node": ">= 0.8" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "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==", + "node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", "dependencies": { - "once": "^1.4.0" + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" } }, - "node_modules/enhanced-resolve": { - "version": "5.17.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", - "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", + "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": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "is-extglob": "^2.1.0" }, "engines": { - "node": ">=10.13.0" + "node": ">=0.10.0" } }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } + "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": "sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig==" }, - "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==", + "node_modules/global": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", "dependencies": { - "is-arrayish": "^0.2.1" + "min-document": "^2.19.0", + "process": "^0.11.10" } }, - "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "node_modules/global-dirs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-2.1.0.tgz", + "integrity": "sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ==", "dependencies": { - "get-intrinsic": "^1.2.4" + "ini": "1.3.7" }, "engines": { - "node": ">= 0.4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "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": ">= 0.4" + "node": ">=4" } }, - "node_modules/es-module-lexer": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", - "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==" - }, - "node_modules/esast-util-from-estree": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz", - "integrity": "sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==", + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", "dependencies": { - "@types/estree-jsx": "^1.0.0", - "devlop": "^1.0.0", - "estree-util-visit": "^2.0.0", - "unist-util-position-from-estree": "^2.0.0" + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/esast-util-from-js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/esast-util-from-js/-/esast-util-from-js-2.0.1.tgz", - "integrity": "sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==", + "node_modules/globby": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", + "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", "dependencies": { - "@types/estree-jsx": "^1.0.0", - "acorn": "^8.0.0", - "esast-util-from-estree": "^2.0.0", - "vfile-message": "^4.0.0" + "@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" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=6" } }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "node_modules/globby/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "engines": { "node": ">=6" } }, - "node_modules/escape-goat": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-4.0.0.tgz", - "integrity": "sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==", - "engines": { - "node": ">=12" + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "node_modules/got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "dependencies": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + }, "engines": { - "node": ">=10" + "node": ">=8.6" + } + }, + "node_modules/got/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==", + "dependencies": { + "pump": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=6" } }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" }, "engines": { - "node": ">=8.0.0" + "node": ">=6.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" - }, + "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==" + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", "engines": { "node": ">=4" } }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", "dependencies": { - "estraverse": "^5.2.0" + "ajv": "^6.12.3", + "har-schema": "^2.0.0" }, "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "engines": { - "node": ">=4.0" + "node": ">=6" } }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "node_modules/has": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", + "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", "engines": { - "node": ">=4.0" + "node": ">= 0.4.0" } }, - "node_modules/estree-util-attach-comments": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", - "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "dev": true, "dependencies": { - "@types/estree": "^1.0.0" + "ansi-regex": "^2.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/estree-util-build-jsx": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", - "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "estree-walker": "^3.0.0" - }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/estree-util-is-identifier-name": { + "node_modules/has-flag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", - "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" } }, - "node_modules/estree-util-scope": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/estree-util-scope/-/estree-util-scope-1.0.0.tgz", - "integrity": "sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==", + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dependencies": { - "@types/estree": "^1.0.0", - "devlop": "^1.0.0" + "es-define-property": "^1.0.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/estree-util-to-js": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", - "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "astring": "^1.8.0", - "source-map": "^0.7.0" + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "engines": { + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/estree-util-value-to-estree": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/estree-util-value-to-estree/-/estree-util-value-to-estree-3.2.1.tgz", - "integrity": "sha512-Vt2UOjyPbNQQgT5eJh+K5aATti0OjCIAGc9SgMdOFYbohuifsWclR74l0iZTJwePMgWYdX1hlVS+dedH9XV8kw==", - "dependencies": { - "@types/estree": "^1.0.0" + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/remcohaszing" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/estree-util-visit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", - "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/unist": "^3.0.0" + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", "dependencies": { - "@types/estree": "^1.0.0" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/eta": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/eta/-/eta-2.2.0.tgz", - "integrity": "sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==", - "engines": { - "node": ">=6.0.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": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "dependencies": { + "is-buffer": "^1.1.5" }, - "funding": { - "url": "https://github.com/eta-dev/eta?sponsor=1" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "node_modules/has-yarn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", + "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/eval": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.8.tgz", - "integrity": "sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==", + "node_modules/hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==", "dependencies": { - "@types/node": "*", - "require-like": ">= 0.1.1" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" }, "engines": { - "node": ">= 0.8" + "node": ">=4" } }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + "node_modules/hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==" }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "engines": { - "node": ">=0.8.x" + "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==", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" } }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" + "function-bind": "^1.1.2" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "node": ">= 0.4" } }, - "node_modules/expand-template": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "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==", + "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==" + }, + "node_modules/highlight.js": { + "version": "9.18.5", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.18.5.tgz", + "integrity": "sha512-a5bFyofd/BHCX52/8i8uJkjr9DYwXIPnM/plwI6W7ezItLGqzt7X2G2nXuYSfsIJdkwwj/g9DG1LkcGJI/dDoA==", + "deprecated": "Support has ended for 9.x series. Upgrade to @latest", + "hasInstallScript": true, "engines": { - "node": ">=6" + "node": "*" } }, - "node_modules/express": { - "version": "4.21.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz", - "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==", + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.3", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.7.1", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.3.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.3", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.10", - "proxy-addr": "~2.0.7", - "qs": "6.13.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.19.0", - "serve-static": "1.16.2", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" } }, - "node_modules/express/node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "node_modules/hogan.js": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/hogan.js/-/hogan.js-3.0.2.tgz", + "integrity": "sha512-RqGs4wavGYJWE07t35JQccByczmNUXQT0E12ZYV1VKYu5UiAU9lsos/yBAcf840+zrUQQxgVduCR5/B8nNtibg==", "dependencies": { - "safe-buffer": "5.2.1" + "mkdirp": "0.3.0", + "nopt": "1.0.10" }, + "bin": { + "hulk": "bin/hulk" + } + }, + "node_modules/hogan.js/node_modules/mkdirp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz", + "integrity": "sha512-OHsdUcVAQ6pOtg5JYWpCBo9W/GySVuwvP9hueRMW7UqshC0tbfzLv8wjySTPm3tfUZ/21CE9E1pJagOA91Pxew==", + "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", "engines": { - "node": ">= 0.6" + "node": "*" } }, - "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==", + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", "dependencies": { - "ms": "2.0.0" + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" } }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/express/node_modules/path-to-regexp": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", - "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==" - }, - "node_modules/express/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==", - "engines": { - "node": ">= 0.6" - } + "node_modules/hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha512-M5ezZw4LzXbBKMruP+BNANf0k+19hDQMgpzBIYnya//Al+fjNct9Wf3b1WedLqdEs2hKBvxq/jh+DsHJLj0F9A==" }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + "node_modules/hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha512-7Wn5GMLuHBjZCb2bTmnDOycho0p/7UVaAeqXZGbHrBCl6Yd/xDhQJAXe6Ga9AXJH2I5zY1dEdYw2u1UptnSBJA==" }, - "node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dependencies": { - "is-extendable": "^0.1.0" + "node_modules/html-entities": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", + "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==" + }, + "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==", + "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": ">=0.10.0" + "node": ">=4" } }, - "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==" + "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==" }, - "node_modules/fast-fifo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", - "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" + "node_modules/html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "node_modules/html-to-text": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/html-to-text/-/html-to-text-7.1.3.tgz", + "integrity": "sha512-bnQRVDGgprdYkDRme4BH5xTxFo9ESorrfMHBWjtdgNVGkthXXQIGbmp3PRIjJVcaCP4mJMSuXtBi/lHqUCHUzw==", "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "deepmerge": "^4.2.2", + "he": "^1.2.0", + "htmlparser2": "^6.1.0", + "minimist": "^1.2.6" + }, + "bin": { + "html-to-text": "bin/cli.js" }, "engines": { - "node": ">=8.6.0" + "node": ">=10.23.2" } }, - "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==" - }, - "node_modules/fast-uri": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.3.tgz", - "integrity": "sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==" - }, - "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], "dependencies": { - "reusify": "^1.0.4" + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" } }, - "node_modules/fault": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fault/-/fault-2.0.1.tgz", - "integrity": "sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==", + "node_modules/htmlparser2/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", "dependencies": { - "format": "^0.2.0" + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "node_modules/htmlparser2/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/htmlparser2/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", "dependencies": { - "websocket-driver": ">=0.5.1" + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" }, - "engines": { - "node": ">=0.8.0" + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "node_modules/feed": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz", - "integrity": "sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==", + "node_modules/htmlparser2/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dependencies": { - "xml-js": "^1.6.11" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, "engines": { - "node": ">=0.4.0" + "node": ">= 0.8" } }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + }, + "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==", "dependencies": { - "escape-string-regexp": "^1.0.5" + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8.0.0" } }, - "node_modules/figures/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": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "node_modules/http-proxy-middleware": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-1.3.1.tgz", + "integrity": "sha512-13eVVDYS4z79w7f1+NPllJtOQFx/FdUW4btIvVRMaRlUY9VGstAbo5MOhLEuUgZFRHn3x50ufn25zkj/boZnEg==", + "dependencies": { + "@types/http-proxy": "^1.17.5", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, "engines": { - "node": ">=0.8.0" + "node": ">=8.0.0" } }, - "node_modules/file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "node_modules/http-proxy-middleware/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" + "fill-range": "^7.0.1" }, "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "node": ">=8" } }, - "node_modules/file-loader/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/http-proxy-middleware/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==", "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" + "to-regex-range": "^5.0.1" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">=8" } }, - "node_modules/file-loader/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==", - "peerDependencies": { - "ajv": "^6.9.1" + "node_modules/http-proxy-middleware/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==", + "engines": { + "node": ">=0.12.0" } }, - "node_modules/file-loader/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==" - }, - "node_modules/file-loader/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "node_modules/http-proxy-middleware/node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" + "braces": "^3.0.2", + "picomatch": "^2.3.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/filesize": { - "version": "8.0.7", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", - "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", "engines": { - "node": ">= 0.4.0" + "node": ">=8.6" } }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "node_modules/http-proxy-middleware/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==", "dependencies": { - "to-regex-range": "^5.0.1" + "is-number": "^7.0.0" }, "engines": { - "node": ">=8" + "node": ">=8.0" } }, - "node_modules/finalhandler": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", - "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "node_modules/http-server": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/http-server/-/http-server-13.1.0.tgz", + "integrity": "sha512-MLqBMXeY/YN0FYMz4ifeOQCcg8pKj8YdmzX1pr/Vb2VrNnbxHN1s4K9BuZRVSyK/j3DQ8UVrrABb8m6EmFjWog==", + "dev": true, "dependencies": { - "debug": "2.6.9", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" + "basic-auth": "^1.0.3", + "chalk": "^4.1.2", + "corser": "^2.0.1", + "he": "^1.1.0", + "http-proxy": "^1.18.0", + "mime": "^1.6.0", + "minimist": "^1.2.5", + "opener": "^1.5.1", + "portfinder": "^1.0.25", + "secure-compare": "3.0.1", + "union": "~0.5.0", + "url-join": "^2.0.5" + }, + "bin": { + "http-server": "bin/http-server" }, "engines": { - "node": ">= 0.8" + "node": ">=6" } }, - "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==", + "node_modules/http-server/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "dependencies": { - "ms": "2.0.0" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/find-cache-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", - "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", + "node_modules/http-server/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "dependencies": { - "common-path-prefix": "^3.0.0", - "pkg-dir": "^7.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=14.16" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/chalk?sponsor=1" } - }, - "node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + }, + "node_modules/http-server/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": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=7.0.0" } }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "bin": { - "flat": "cli.js" - } + "node_modules/http-server/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/follow-redirects": { - "version": "1.15.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", - "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], + "node_modules/http-server/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": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } + "node": ">=8" } }, - "node_modules/fork-ts-checker-webpack-plugin": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", - "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", + "node_modules/http-server/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": { - "@babel/code-frame": "^7.8.3", - "@types/json-schema": "^7.0.5", - "chalk": "^4.1.0", - "chokidar": "^3.4.2", - "cosmiconfig": "^6.0.0", - "deepmerge": "^4.2.2", - "fs-extra": "^9.0.0", - "glob": "^7.1.6", - "memfs": "^3.1.2", - "minimatch": "^3.0.4", - "schema-utils": "2.7.0", - "semver": "^7.3.2", - "tapable": "^1.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=10", - "yarn": ">=1.0.0" - }, - "peerDependencies": { - "eslint": ">= 6", - "typescript": ">= 2.7", - "vue-template-compiler": "*", - "webpack": ">= 4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - }, - "vue-template-compiler": { - "optional": true - } + "node": ">=8" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/http-signature": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", + "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", + "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" + "assert-plus": "^1.0.0", + "jsprim": "^2.0.2", + "sshpk": "^1.14.1" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">=0.10" } }, - "node_modules/fork-ts-checker-webpack-plugin/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==", - "peerDependencies": { - "ajv": "^6.9.1" + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==" + }, + "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/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "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==", "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" + "safer-buffer": ">= 2.1.2 < 3" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/fork-ts-checker-webpack-plugin/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==", + "node_modules/icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==" + }, + "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==", "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "postcss": "^7.0.14" }, "engines": { - "node": ">=10" + "node": ">= 6" } }, - "node_modules/fork-ts-checker-webpack-plugin/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==" + "node_modules/icss-utils/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" }, - "node_modules/fork-ts-checker-webpack-plugin/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==", + "node_modules/icss-utils/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dependencies": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" }, "engines": { - "node": ">= 8.9.0" + "node": ">=6.0.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://opencollective.com/postcss/" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==" + }, + "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==", "engines": { - "node": ">=6" + "node": ">= 4" } }, - "node_modules/form-data-encoder": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", - "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==", + "node_modules/immediate": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz", + "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==" + }, + "node_modules/import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha512-Ew5AZzJQFqrOV5BTW3EIoHAnoie1LojZLXKcCQ/yTRyVZosBhK1x1ViYjHGf5pAFOq8ZyChZp6m/fSN7pJyZtg==", + "dependencies": { + "import-from": "^2.1.0" + }, "engines": { - "node": ">= 14.17" + "node": ">=4" } }, - "node_modules/format": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", - "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", + "node_modules/import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", + "dependencies": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, "engines": { - "node": ">=0.4.x" + "node": ">=4" } }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "node_modules/import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha512-0vdnLL2wSGnhlRmzHJAg5JHjt1l2vYhzJ7tNLGbeVg0fse56tpGaH0uzH+r9Slej+BSXXEHvBKDEnVSLLE9/+w==", + "dependencies": { + "resolve-from": "^3.0.0" + }, "engines": { - "node": ">= 0.6" + "node": ">=4" } }, - "node_modules/fraction.js": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", - "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "node_modules/import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==", "engines": { - "node": "*" - }, - "funding": { - "type": "patreon", - "url": "https://github.com/sponsors/rawify" + "node": ">=4" } }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "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==", + "dependencies": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, "engines": { - "node": ">= 0.6" + "node": ">=6" } }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "node_modules/fs-extra": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", - "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "node_modules/import-local/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==", "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "locate-path": "^3.0.0" }, "engines": { - "node": ">=14.14" + "node": ">=6" } }, - "node_modules/fs-monkey": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.6.tgz", - "integrity": "sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==" - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], + "node_modules/import-local/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==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node": ">=6" } }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/import-local/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==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" } }, - "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==", + "node_modules/import-local/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "engines": { - "node": ">=6.9.0" + "node": ">=4" } }, - "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "node_modules/import-local/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==", "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" + "find-up": "^3.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=6" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "engines": { + "node": ">=0.8.19" } }, - "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==" - }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "node_modules/indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==", + "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/github-from-package": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" + "node_modules/indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha512-bup+4tap3Hympa+JBJUG7XuOsdNQ6fxt0MHyXMKuLBKn0OqsTfvUxkUrroEX1+B2VsSHvCjiIcZVxRtYa4nllA==" }, - "node_modules/github-slugger": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz", - "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==" + "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==" }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", "once": "^1.3.0", - "path-is-absolute": "^1.0.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.7", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz", + "integrity": "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==" + }, + "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==", + "dependencies": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=6" } }, - "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==", + "node_modules/internal-slot": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", "dependencies": { - "is-glob": "^4.0.1" + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" }, "engines": { - "node": ">= 6" + "node": ">= 0.4" } }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + "node_modules/ip": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.9.tgz", + "integrity": "sha512-cyRxvOEpNHNtchU3Ln9KC/auJgup87llfQpQ+t5ghoC/UhL16SWzbueiCsdTnWmqAWl7LadfuwhlqmtOaqMHdQ==" }, - "node_modules/global-dirs": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", - "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", - "dependencies": { - "ini": "2.0.0" - }, + "node_modules/ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/global-dirs/node_modules/ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "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==", "engines": { - "node": ">=10" + "node": ">= 0.10" } }, - "node_modules/global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dependencies": { - "global-prefix": "^3.0.0" - }, + "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": "sha512-vOx7VprsKyllwjSkLV79NIhpyLfr3jAp7VaTCMXOJHu4m0Ew1CZ2fcjASwmV1jI3BWuWHB013M48eyeldk9gYg==", "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "node_modules/is-accessor-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz", + "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==", "dependencies": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" + "hasown": "^2.0.0" }, "engines": { - "node": ">=6" + "node": ">= 0.10" } }, - "node_modules/global-prefix/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", "dependencies": { - "isexe": "^2.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, - "bin": { - "which": "bin/which" - } - }, - "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": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "node_modules/is-array-buffer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "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": { - "get-intrinsic": "^1.1.3" + "has-bigints": "^1.0.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/got": { - "version": "12.6.1", - "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", - "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", + "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": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", "dependencies": { - "@sindresorhus/is": "^5.2.0", - "@szmarczak/http-timer": "^5.0.1", - "cacheable-lookup": "^7.0.0", - "cacheable-request": "^10.2.8", - "decompress-response": "^6.0.0", - "form-data-encoder": "^2.1.2", - "get-stream": "^6.0.1", - "http2-wrapper": "^2.1.10", - "lowercase-keys": "^3.0.0", - "p-cancelable": "^3.0.0", - "responselike": "^3.0.0" + "binary-extensions": "^1.0.0" }, "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sindresorhus/got?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/got/node_modules/@sindresorhus/is": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", - "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", + "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": ">=14.16" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sindresorhus/is?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + "node_modules/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/gray-matter": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", - "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", - "dependencies": { - "js-yaml": "^3.13.1", - "kind-of": "^6.0.2", - "section-matter": "^1.0.0", - "strip-bom-string": "^1.0.0" - }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "engines": { - "node": ">=6.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/gray-matter/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", "dependencies": { - "sprintf-js": "~1.0.2" + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" } }, - "node_modules/gray-matter/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "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": "sha512-H1U8Vz0cfXNujrJzEcvvwMDW9Ra+biSYA3ThdQvAnMLJkEHQXn6bWzLkxHtVYJ+Sdbx0b6finn3jZiaVe7MAHA==", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "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/gzip-size": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", - "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", "dependencies": { - "duplexer": "^0.1.2" - }, - "engines": { - "node": ">=10" + "hasown": "^2.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "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==" - }, - "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==", + "node_modules/is-data-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz", + "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==", + "dependencies": { + "hasown": "^2.0.0" + }, "engines": { - "node": ">=8" + "node": ">= 0.4" } }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dependencies": { - "es-define-property": "^1.0.0" + "has-tostringtag": "^1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", "engines": { "node": ">= 0.4" }, @@ -9034,493 +9256,326 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-symbols": { + "node_modules/is-descriptor": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", + "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-yarn": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-3.0.0.tgz", - "integrity": "sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==", + "node_modules/is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==", "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "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==", "dependencies": { - "function-bind": "^1.1.2" + "is-plain-object": "^2.0.4" }, "engines": { - "node": ">= 0.4" + "node": ">=0.10.0" } }, - "node_modules/hast-util-from-parse5": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.2.tgz", - "integrity": "sha512-SfMzfdAi/zAoZ1KkFEyyeXBn7u/ShQrfd675ZEE9M3qj+PMFX05xubzRyF76CCSJu8au9jgVxDV1+okFvgZU4A==", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "devlop": "^1.0.0", - "hastscript": "^9.0.0", - "property-information": "^6.0.0", - "vfile": "^6.0.0", - "vfile-location": "^5.0.0", - "web-namespaces": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/hast-util-parse-selector": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", - "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "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==", + "engines": { + "node": ">=8" } }, - "node_modules/hast-util-raw": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz", - "integrity": "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "@ungap/structured-clone": "^1.0.0", - "hast-util-from-parse5": "^8.0.0", - "hast-util-to-parse5": "^8.0.0", - "html-void-elements": "^3.0.0", - "mdast-util-to-hast": "^13.0.0", - "parse5": "^7.0.0", - "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0", - "web-namespaces": "^2.0.0", - "zwitch": "^2.0.0" + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/hast-util-to-estree": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.0.tgz", - "integrity": "sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "devlop": "^1.0.0", - "estree-util-attach-comments": "^3.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "hast-util-whitespace": "^3.0.0", - "mdast-util-mdx-expression": "^2.0.0", - "mdast-util-mdx-jsx": "^3.0.0", - "mdast-util-mdxjs-esm": "^2.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0", - "style-to-object": "^0.4.0", - "unist-util-position": "^5.0.0", - "zwitch": "^2.0.0" + "node_modules/is-installed-globally": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz", + "integrity": "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==", + "dependencies": { + "global-dirs": "^2.0.1", + "is-path-inside": "^3.0.1" + }, + "engines": { + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-estree/node_modules/inline-style-parser": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", - "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" - }, - "node_modules/hast-util-to-estree/node_modules/style-to-object": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz", - "integrity": "sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==", - "dependencies": { - "inline-style-parser": "0.1.1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/hast-util-to-jsx-runtime": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.2.tgz", - "integrity": "sha512-1ngXYb+V9UT5h+PxNRa1O1FYguZK/XL+gkeqvp7EdHlB9oHUG0eYRo/vY5inBdcqo3RkPMC58/H94HvkbfGdyg==", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "hast-util-whitespace": "^3.0.0", - "mdast-util-mdx-expression": "^2.0.0", - "mdast-util-mdx-jsx": "^3.0.0", - "mdast-util-mdxjs-esm": "^2.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0", - "style-to-object": "^1.0.0", - "unist-util-position": "^5.0.0", - "vfile-message": "^4.0.0" + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "engines": { + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/hast-util-to-parse5": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz", - "integrity": "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==", - "dependencies": { - "@types/hast": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "devlop": "^1.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0", - "web-namespaces": "^2.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "node_modules/is-npm": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz", + "integrity": "sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==", + "engines": { + "node": ">=8" } }, - "node_modules/hast-util-whitespace": { + "node_modules/is-number": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", - "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dependencies": { - "@types/hast": "^3.0.0" + "kind-of": "^3.0.2" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/hastscript": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.0.tgz", - "integrity": "sha512-jzaLBGavEDKHrc5EfFImKN7nZKKBdSLIdGvCwDZ9TfzbF2ffXiov8CKE445L2Z1Ek2t/m4SKQ2j6Ipv7NyUolw==", + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dependencies": { - "@types/hast": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "hast-util-parse-selector": "^4.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0" + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "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==", - "bin": { - "he": "bin/he" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/history": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", - "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dependencies": { - "@babel/runtime": "^7.1.2", - "loose-envify": "^1.2.0", - "resolve-pathname": "^3.0.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0", - "value-equal": "^1.0.1" + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" } }, - "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/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "engines": { + "node": ">=8" } }, - "node_modules/hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "node_modules/is-observable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz", + "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", + "dev": true, "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" + "symbol-observable": "^1.1.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/hpack.js/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "node_modules/hpack.js/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "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/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==", + "engines": { + "node": ">=6" } }, - "node_modules/hpack.js/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/hpack.js/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==", + "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==", "dependencies": { - "safe-buffer": "~5.1.0" + "is-path-inside": "^2.1.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/html-entities": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", - "integrity": "sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/mdevils" - }, - { - "type": "patreon", - "url": "https://patreon.com/mdevils" - } - ] - }, - "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==" - }, - "node_modules/html-minifier-terser": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz", - "integrity": "sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==", + "node_modules/is-path-in-cwd/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==", "dependencies": { - "camel-case": "^4.1.2", - "clean-css": "~5.3.2", - "commander": "^10.0.0", - "entities": "^4.4.0", - "param-case": "^3.0.4", - "relateurl": "^0.2.7", - "terser": "^5.15.1" - }, - "bin": { - "html-minifier-terser": "cli.js" + "path-is-inside": "^1.0.2" }, "engines": { - "node": "^14.13.1 || >=16.0.0" + "node": ">=6" } }, - "node_modules/html-minifier-terser/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "engines": { - "node": ">=14" + "node": ">=8" } }, - "node_modules/html-tags": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", - "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/html-void-elements": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", - "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "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==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/html-webpack-plugin": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.3.tgz", - "integrity": "sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg==", + "node_modules/is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", + "dev": true + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dependencies": { - "@types/html-minifier-terser": "^6.0.0", - "html-minifier-terser": "^6.0.2", - "lodash": "^4.17.21", - "pretty-error": "^4.0.0", - "tapable": "^2.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=10.13.0" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/html-webpack-plugin" - }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "webpack": "^5.20.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "webpack": { - "optional": true - } + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/html-webpack-plugin/node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "node_modules/is-regexp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz", + "integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==", "engines": { - "node": ">= 12" + "node": ">=6" } }, - "node_modules/html-webpack-plugin/node_modules/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "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==" + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", "dependencies": { - "camel-case": "^4.1.2", - "clean-css": "^5.2.2", - "commander": "^8.3.0", - "he": "^1.2.0", - "param-case": "^3.0.4", - "relateurl": "^0.2.7", - "terser": "^5.10.0" - }, - "bin": { - "html-minifier-terser": "cli.js" + "call-bind": "^1.0.7" }, "engines": { - "node": ">=12" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/htmlparser2": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", - "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "entities": "^4.4.0" + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" - }, - "node_modules/http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "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": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/http-parser-js": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" - }, - "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==", + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" + "has-symbols": "^1.0.2" }, "engines": { - "node": ">=8.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/http-proxy-middleware": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz", - "integrity": "sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==", + "node_modules/is-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", "dependencies": { - "@types/http-proxy": "^1.17.8", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" + "which-typed-array": "^1.1.14" }, "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "@types/express": "^4.17.13" + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "@types/express": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, "engines": { "node": ">=10" }, @@ -9528,8034 +9583,7071 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/http2-wrapper": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz", - "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==", + "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": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.2.0" + "call-bind": "^1.0.2" }, - "engines": { - "node": ">=10.19.0" - } - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "engines": { - "node": ">=10.17.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, + "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==", "engines": { "node": ">=0.10.0" } }, - "node_modules/icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=4" } }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "node_modules/is-yarn-global": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", + "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==" }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "engines": { - "node": ">= 4" + "node": ">=0.10.0" } }, - "node_modules/image-size": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.1.1.tgz", - "integrity": "sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==", + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + }, + "node_modules/javascript-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz", + "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dependencies": { - "queue": "6.0.2" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, "bin": { - "image-size": "bin/image-size.js" - }, - "engines": { - "node": ">=16.x" + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/immer": { - "version": "9.0.21", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", - "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/immer" - } + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "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": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/import-lazy": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", - "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", - "engines": { - "node": ">=8" - } + "node_modules/json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==" }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "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.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "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==" + }, + "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": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, "engines": { - "node": ">=0.8.19" + "node": ">=6" } }, - "node_modules/indent-string": { + "node_modules/jsonfile": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "engines": { - "node": ">=8" + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/infima": { - "version": "0.2.0-alpha.45", - "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.45.tgz", - "integrity": "sha512-uyH0zfr1erU1OohLk0fT4Rrb94AOhguWNOcD9uGrSpRvNB+6gZXUoJX5J0NtvzBO10YZ9PgvA4NFgt+fYg8ojw==", - "engines": { - "node": ">=12" + "node_modules/jsonp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/jsonp/-/jsonp-0.2.1.tgz", + "integrity": "sha512-pfog5gdDxPdV4eP7Kg87M8/bHgshlZ5pybl+yKxAnCZ5O7lCIn7Ixydj03wOlnDQesky2BPyA91SQ+5Y/mNwzw==", + "dependencies": { + "debug": "^2.1.3" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "node_modules/jsonp/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "ms": "2.0.0" } }, - "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.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "node_modules/inline-style-parser": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.4.tgz", - "integrity": "sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==" + "node_modules/jsonp/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "engines": { - "node": ">= 0.10" + "node_modules/jsprim": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" } }, - "node_modules/invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "node_modules/keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", "dependencies": { - "loose-envify": "^1.0.0" + "json-buffer": "3.0.0" } }, - "node_modules/ipaddr.js": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", - "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", - "engines": { - "node": ">= 10" - } + "node_modules/killable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==" }, - "node_modules/is-alphabetical": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", - "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "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==", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/is-alphanumerical": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", - "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "node_modules/last-call-webpack-plugin": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz", + "integrity": "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==", "dependencies": { - "is-alphabetical": "^2.0.0", - "is-decimal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "lodash": "^4.17.5", + "webpack-sources": "^1.1.0" } }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - }, - "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==", + "node_modules/latest-version": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", + "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", "dependencies": { - "binary-extensions": "^2.0.0" + "package-json": "^6.3.0" }, "engines": { "node": ">=8" } }, - "node_modules/is-ci": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", - "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "node_modules/lazy-ass": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", + "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", + "dev": true, + "engines": { + "node": "> 0.8" + } + }, + "node_modules/linkify-it": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", + "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", "dependencies": { - "ci-info": "^3.2.0" - }, - "bin": { - "is-ci": "bin.js" + "uc.micro": "^1.0.1" } }, - "node_modules/is-core-module": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", - "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "node_modules/listr": { + "version": "0.14.3", + "resolved": "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz", + "integrity": "sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==", + "dev": true, "dependencies": { - "hasown": "^2.0.2" + "@samverschueren/stream-to-observable": "^0.3.0", + "is-observable": "^1.1.0", + "is-promise": "^2.1.0", + "is-stream": "^1.1.0", + "listr-silent-renderer": "^1.1.1", + "listr-update-renderer": "^0.5.0", + "listr-verbose-renderer": "^0.5.0", + "p-map": "^2.0.0", + "rxjs": "^6.3.3" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=6" } }, - "node_modules/is-decimal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", - "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/listr-silent-renderer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz", + "integrity": "sha512-L26cIFm7/oZeSNVhWB6faeorXhMg4HNlb/dS/7jHhr708jxlXrtrBWo4YUxZQkc6dGoxEAe6J/D3juTRBUzjtA==", + "dev": true, + "engines": { + "node": ">=4" } }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "bin": { - "is-docker": "cli.js" + "node_modules/listr-update-renderer": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz", + "integrity": "sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==", + "dev": true, + "dependencies": { + "chalk": "^1.1.3", + "cli-truncate": "^0.2.1", + "elegant-spinner": "^1.0.1", + "figures": "^1.7.0", + "indent-string": "^3.0.0", + "log-symbols": "^1.0.2", + "log-update": "^2.3.0", + "strip-ansi": "^3.0.1" }, "engines": { - "node": ">=8" + "node": ">=6" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "listr": "^0.14.2" } }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "node_modules/listr-update-renderer/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "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": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "node_modules/listr-update-renderer/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "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/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==", + "node_modules/listr-update-renderer/node_modules/log-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", + "integrity": "sha512-mmPrW0Fh2fxOzdBbFv4g1m6pR72haFLPJ2G5SJEELf1y+iaQrDG6cWCPjy54RHYbZAt7X+ls690Kw62AdWXBzQ==", + "dev": true, + "dependencies": { + "chalk": "^1.0.0" + }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "node_modules/listr-update-renderer/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/listr-verbose-renderer": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz", + "integrity": "sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==", + "dev": true, "dependencies": { - "is-extglob": "^2.1.1" + "chalk": "^2.4.1", + "cli-cursor": "^2.1.0", + "date-fns": "^1.27.2", + "figures": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/is-hexadecimal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", - "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/listr-verbose-renderer/node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", + "dev": true, + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/is-installed-globally": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", - "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "node_modules/listr-verbose-renderer/node_modules/figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", + "dev": true, "dependencies": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" + "escape-string-regexp": "^1.0.5" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/is-npm": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-6.0.0.tgz", - "integrity": "sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==", + "node_modules/listr-verbose-renderer/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": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=4" + } + }, + "node_modules/listr-verbose-renderer/node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=4" } }, - "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==", + "node_modules/listr-verbose-renderer/node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "dev": true, + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, "engines": { - "node": ">=0.12.0" + "node": ">=4" } }, - "node_modules/is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "node_modules/listr/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, "engines": { "node": ">=0.10.0" } }, - "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==", + "node_modules/load-script": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/load-script/-/load-script-1.0.0.tgz", + "integrity": "sha512-kPEjMFtZvwL9TaZo0uZ2ml+Ye9HUMmPwbYRJ324qF9tqMejwykJ5ggTyvzmrbBeapCAbk98BSbTeovHEEP1uCA==" + }, + "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==", "engines": { - "node": ">=6" + "node": ">=4.3.0 <5.0.0 || >=5.10" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "node_modules/loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, "engines": { - "node": ">=8" + "node": ">=4.0.0" } }, - "node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "engines": { - "node": ">=12" + "node_modules/loader-utils/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dependencies": { + "minimist": "^1.2.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "json5": "lib/cli.js" } }, - "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==", + "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==", "dependencies": { - "isobject": "^3.0.1" + "p-locate": "^4.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", - "engines": { - "node": ">=0.10.0" + "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._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==" + }, + "node_modules/lodash.chunk": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.chunk/-/lodash.chunk-4.2.0.tgz", + "integrity": "sha512-ZzydJKfUHJwHa+hF5X66zLFCBrWn5GeF28OHEr4WVWtNDXlQ/IjWKPBiikqKo2ne0+v6JgCgJ0GzJp8k8bHC7w==" + }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "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==" + }, + "node_modules/lodash.isempty": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz", + "integrity": "sha512-oKMuF3xEeqDltrGMfDxAPGIVMSSRv8tbRSODbrs4KGsRRLEhrW8N8Rd4DRgB2+621hY8A8XwwrTVhXWpxFvMzg==" + }, + "node_modules/lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "dev": true + }, + "node_modules/lodash.padstart": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz", + "integrity": "sha512-sW73O6S8+Tg66eY56DBk85aQzzUJDtpoXFBgELMd5P/SotAguo+1kYO6RuYgXxA4HJH3LFTFPASX6ET6bjfriw==" + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" + }, + "node_modules/lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "dependencies": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" } }, - "node_modules/is-root": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", - "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", - "engines": { - "node": ">=6" + "node_modules/lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "dependencies": { + "lodash._reinterpolate": "^3.0.0" } }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "node_modules/lodash.trimend": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/lodash.trimend/-/lodash.trimend-4.5.1.tgz", + "integrity": "sha512-lsD+k73XztDsMBKPKvzHXRKFNMohTjoTKIIo4ADLn5dA65LZ1BqlAvSXhR2rPEC3BgAUQnzMnorqDtqn2z4IHA==" + }, + "node_modules/lodash.trimstart": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/lodash.trimstart/-/lodash.trimstart-4.5.1.tgz", + "integrity": "sha512-b/+D6La8tU76L/61/aN0jULWHkT0EeJCmVstPBn/K9MtD2qBW83AsBNrr63dKuWYwVMO7ucv13QNO/Ek/2RKaQ==" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - }, - "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==", + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "dependencies": { - "is-docker": "^2.0.0" + "color-convert": "^2.0.1" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/is-yarn-global": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.4.1.tgz", - "integrity": "sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==", + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=12" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + "node_modules/log-symbols/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/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + "node_modules/log-symbols/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/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "node_modules/log-symbols/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": ">=0.10.0" + "node": ">=8" } }, - "node_modules/jest-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "node_modules/log-symbols/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": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "has-flag": "^4.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "node_modules/log-update": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz", + "integrity": "sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==", + "dev": true, "dependencies": { - "@types/node": "*", - "jest-util": "^29.7.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "ansi-escapes": "^3.0.0", + "cli-cursor": "^2.0.0", + "wrap-ansi": "^3.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=4" } }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/log-update/node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "restore-cursor": "^2.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/jiti": { - "version": "1.21.6", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", - "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", - "bin": { - "jiti": "bin/jiti.js" + "node": ">=4" } }, - "node_modules/joi": { - "version": "17.13.3", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.3.tgz", - "integrity": "sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==", - "dependencies": { - "@hapi/hoek": "^9.3.0", - "@hapi/topo": "^5.1.0", - "@sideway/address": "^4.1.5", - "@sideway/formula": "^3.0.1", - "@sideway/pinpoint": "^2.0.0" + "node_modules/log-update/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/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": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "node_modules/log-update/node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "dev": true, "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", - "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", - "bin": { - "jsesc": "bin/jsesc" + "mimic-fn": "^1.0.0" }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "bin": { - "json5": "lib/cli.js" + "node_modules/log-update/node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "dev": true, + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dependencies": { - "universalify": "^2.0.0" + "node_modules/loglevel": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.9.1.tgz", + "integrity": "sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==", + "engines": { + "node": ">= 0.6.0" }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/loglevel" } }, - "node_modules/katex": { - "version": "0.16.11", - "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.11.tgz", - "integrity": "sha512-RQrI8rlHY92OLf3rho/Ts8i/XvjgguEjOkO1BEXcU3N8BqPpSzBNwV/G0Ukr+P/l3ivvJUE/Fa/CwbS6HesGNQ==", - "funding": [ - "https://opencollective.com/katex", - "https://github.com/sponsors/katex" - ], - "dependencies": { - "commander": "^8.3.0" - }, - "bin": { - "katex": "cli.js" - } + "node_modules/lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==" }, - "node_modules/katex/node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "node_modules/lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", "engines": { - "node": ">= 12" + "node": ">=0.10.0" } }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "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==", "dependencies": { - "json-buffer": "3.0.1" + "yallist": "^3.0.2" } }, - "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==", + "node_modules/luxon": { + "version": "1.28.1", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-1.28.1.tgz", + "integrity": "sha512-gYHAa180mKrNIUJCbwpmD0aTu9kV0dREDrwNnuyFAsO1Wt0EVYSZelPnJlbj9HplzXX/YWXHFTL45kvZ53M0pw==", "engines": { - "node": ">=0.10.0" + "node": "*" } }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "node_modules/magic-string": { + "version": "0.30.8", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.8.tgz", + "integrity": "sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, "engines": { - "node": ">=6" + "node": ">=12" } }, - "node_modules/latest-version": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-7.0.0.tgz", - "integrity": "sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==", + "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==", "dependencies": { - "package-json": "^8.1.0" + "semver": "^6.0.0" }, "engines": { - "node": ">=14.16" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/launch-editor": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.9.1.tgz", - "integrity": "sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==", - "dependencies": { - "picocolors": "^1.0.0", - "shell-quote": "^1.8.1" + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "dependencies": { + "object-visit": "^1.0.0" + }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/lilconfig": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", - "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", - "engines": { - "node": ">=14" + "node_modules/markdown-it": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz", + "integrity": "sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==", + "dependencies": { + "argparse": "^1.0.7", + "entities": "~1.1.1", + "linkify-it": "^2.0.0", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" }, - "funding": { - "url": "https://github.com/sponsors/antonk52" + "bin": { + "markdown-it": "bin/markdown-it.js" } }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" - }, - "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "engines": { - "node": ">=6.11.5" + "node_modules/markdown-it-anchor": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-5.3.0.tgz", + "integrity": "sha512-/V1MnLL/rgJ3jkMWo84UR+K+jF1cxNG1a+KwqeXqTIJ+jtA8aWSHuigx8lTzauiIjBDbwF3NcWQMotd0Dm39jA==", + "peerDependencies": { + "markdown-it": "*" } }, - "node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "node_modules/markdown-it-chain": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/markdown-it-chain/-/markdown-it-chain-1.3.0.tgz", + "integrity": "sha512-XClV8I1TKy8L2qsT9iX3qiV+50ZtcInGXI80CA+DP62sMs7hXlyV/RM3hfwy5O3Ad0sJm9xIwQELgANfESo8mQ==", "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" + "webpack-chain": "^4.9.0" }, "engines": { - "node": ">=8.9.0" + "node": ">=6.9" + }, + "peerDependencies": { + "markdown-it": ">=5.0.0" } }, - "node_modules/locate-path": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", - "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", - "dependencies": { - "p-locate": "^6.0.0" - }, + "node_modules/markdown-it-chain/node_modules/deepmerge": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", + "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==", "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "node_modules/markdown-it-chain/node_modules/javascript-stringify": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-1.6.0.tgz", + "integrity": "sha512-fnjC0up+0SjEJtgmmG+teeel68kutkvzfctO/KxE3qJlbunkJYAshgH3boU++gSBHP8z5/r0ts0qRIrHf0RTQQ==" }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + "node_modules/markdown-it-chain/node_modules/webpack-chain": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/webpack-chain/-/webpack-chain-4.12.1.tgz", + "integrity": "sha512-BCfKo2YkDe2ByqkEWe1Rw+zko4LsyS75LVr29C6xIrxAg9JHJ4pl8kaIZ396SUSNp6b4815dRZPSTAS8LlURRQ==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dependencies": { + "deepmerge": "^1.5.2", + "javascript-stringify": "^1.6.0" + } }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + "node_modules/markdown-it-container": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-it-container/-/markdown-it-container-2.0.0.tgz", + "integrity": "sha512-IxPOaq2LzrGuFGyYq80zaorXReh2ZHGFOB1/Hen429EJL1XkPI3FJTpx9TsJeua+j2qTru4h3W1TiCRdeivMmA==" }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + "node_modules/markdown-it-emoji": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/markdown-it-emoji/-/markdown-it-emoji-1.4.0.tgz", + "integrity": "sha512-QCz3Hkd+r5gDYtS2xsFXmBYrgw6KuWcJZLCEkdfAuwzZbShCmCfta+hwAMq4NX/4xPzkSHduMKgMkkPUJxSXNg==" }, - "node_modules/longest-streak": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", - "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } + "node_modules/markdown-it-regexp": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/markdown-it-regexp/-/markdown-it-regexp-0.4.0.tgz", + "integrity": "sha512-0XQmr46K/rMKnI93Y3CLXsHj4jIioRETTAiVnJnjrZCEkGaDOmUxTbZj/aZ17G5NlRcVpWBYjqpwSlQ9lj+Kxw==" }, - "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/markdown-it-table-of-contents": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/markdown-it-table-of-contents/-/markdown-it-table-of-contents-0.4.4.tgz", + "integrity": "sha512-TAIHTHPwa9+ltKvKPWulm/beozQU41Ab+FIefRaQV1NRnpzwcV9QOe6wXQS5WLivm5Q/nlo0rl6laGkMDZE7Gw==", + "engines": { + "node": ">6.4.0" } }, - "node_modules/lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "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==", "dependencies": { - "tslib": "^2.0.3" + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "node_modules/lowercase-keys": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", - "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", + "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==" + }, + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.6" } }, - "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==", + "node_modules/medium-zoom": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/medium-zoom/-/medium-zoom-1.1.0.tgz", + "integrity": "sha512-ewyDsp7k4InCUp3jRmwHBRFGyjBimKps/AJLjRSox+2q/2H4p/PNpQf+pwONWlJiOudkBXtbdmVbFjqyybfTmQ==" + }, + "node_modules/memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", "dependencies": { - "yallist": "^3.0.2" + "errno": "^0.1.3", + "readable-stream": "^2.0.1" } }, - "node_modules/markdown-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", - "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" }, - "node_modules/markdown-table": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", - "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "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==", + "dependencies": { + "source-map": "^0.6.1" } }, - "node_modules/mdast-util-directive": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.0.0.tgz", - "integrity": "sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "parse-entities": "^4.0.0", - "stringify-entities": "^4.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "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==", + "engines": { + "node": ">= 8" } }, - "node_modules/mdast-util-find-and-replace": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz", - "integrity": "sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==", - "dependencies": { - "@types/mdast": "^4.0.0", - "escape-string-regexp": "^5.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" } }, - "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "engines": { - "node": ">=12" + "node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "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" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/mdast-util-from-markdown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", - "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark": "^4.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-decode-string": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unist-util-stringify-position": "^4.0.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==", + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "bin": { + "miller-rabin": "bin/miller-rabin" } }, - "node_modules/mdast-util-from-markdown/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" }, - "node_modules/mdast-util-frontmatter": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-2.0.1.tgz", - "integrity": "sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "escape-string-regexp": "^5.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "micromark-extension-frontmatter": "^2.0.0" + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=4" } }, - "node_modules/mdast-util-frontmatter/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.6" } }, - "node_modules/mdast-util-gfm": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz", - "integrity": "sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==", + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dependencies": { - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-gfm-autolink-literal": "^2.0.0", - "mdast-util-gfm-footnote": "^2.0.0", - "mdast-util-gfm-strikethrough": "^2.0.0", - "mdast-util-gfm-table": "^2.0.0", - "mdast-util-gfm-task-list-item": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" + "mime-db": "1.52.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">= 0.6" } }, - "node_modules/mdast-util-gfm-autolink-literal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", - "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", - "dependencies": { - "@types/mdast": "^4.0.0", - "ccount": "^2.0.0", - "devlop": "^1.0.0", - "mdast-util-find-and-replace": "^3.0.0", - "micromark-util-character": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "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/mdast-util-gfm-autolink-literal/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "engines": { + "node": ">=4" } }, - "node_modules/mdast-util-gfm-autolink-literal/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/mdast-util-gfm-footnote": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz", - "integrity": "sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==", + "node_modules/min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==", "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.1.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "dom-walk": "^0.1.0" } }, - "node_modules/mdast-util-gfm-strikethrough": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", - "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "node_modules/mini-css-extract-plugin": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.6.0.tgz", + "integrity": "sha512-79q5P7YGI6rdnVyIAV4NXpBQJFWdkzJxCim3Kog4078fM0piAaFlwocqbejdWtLW1cEzCexPrh6EdyFsPgVdAw==", "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" + "loader-utils": "^1.1.0", + "normalize-url": "^2.0.1", + "schema-utils": "^1.0.0", + "webpack-sources": "^1.1.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^4.4.0" } }, - "node_modules/mdast-util-gfm-table": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", - "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "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==", "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "markdown-table": "^3.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">= 4" } }, - "node_modules/mdast-util-gfm-task-list-item": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", - "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "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==" + }, + "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": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" + "brace-expansion": "^1.1.7" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": "*" } }, - "node_modules/mdast-util-math": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-math/-/mdast-util-math-3.0.0.tgz", - "integrity": "sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w==", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "longest-streak": "^3.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.1.0", - "unist-util-remove-position": "^5.0.0" - }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/mdast-util-mdx": { + "node_modules/mississippi": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", - "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", "dependencies": { - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-mdx-expression": "^2.0.0", - "mdast-util-mdx-jsx": "^3.0.0", - "mdast-util-mdxjs-esm": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" + "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" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=4.0.0" } }, - "node_modules/mdast-util-mdx-expression": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", - "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", + "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==", "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx-jsx": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.1.3.tgz", - "integrity": "sha512-bfOjvNt+1AcbPLTFMFWY149nJz0OjmewJs3LQQ5pIyVGxP4CdOqNVJL6kTaM5c68p8q82Xv3nCyFfUnuEcH3UQ==", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "ccount": "^2.0.0", - "devlop": "^1.1.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "parse-entities": "^4.0.0", - "stringify-entities": "^4.0.0", - "unist-util-stringify-position": "^4.0.0", - "vfile-message": "^4.0.0" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/mdast-util-mdxjs-esm": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", - "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" + "minimist": "^1.2.6" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "bin": { + "mkdirp": "bin/cmd.js" } }, - "node_modules/mdast-util-phrasing": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", - "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", - "dependencies": { - "@types/mdast": "^4.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "node_modules/moment": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", + "dev": true, + "engines": { + "node": "*" } }, - "node_modules/mdast-util-to-hast": { - "version": "13.2.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz", - "integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==", + "node_modules/move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@ungap/structured-clone": "^1.0.0", - "devlop": "^1.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "trim-lines": "^3.0.0", - "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "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/mdast-util-to-markdown": { + "node_modules/ms": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", - "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "longest-streak": "^3.0.0", - "mdast-util-phrasing": "^4.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-decode-string": "^2.0.0", - "unist-util-visit": "^5.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, - "node_modules/mdast-util-to-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", - "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "node_modules/multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", "dependencies": { - "@types/mdast": "^4.0.0" + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "bin": { + "multicast-dns": "cli.js" } }, - "node_modules/mdn-data": { - "version": "2.0.30", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==" + "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": "sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ==" }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "engines": { - "node": ">= 0.6" - } + "node_modules/nan": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.19.0.tgz", + "integrity": "sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw==", + "optional": true }, - "node_modules/memfs": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", - "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", - "dependencies": { - "fs-monkey": "^1.0.4" + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" }, "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", - "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "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==" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "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": ">= 8" + "node": ">=0.10.0" } }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "engines": { "node": ">= 0.6" } }, - "node_modules/micromark": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.1.tgz", - "integrity": "sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-core-commonmark": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.2.tgz", - "integrity": "sha512-FKjQKbxd1cibWMM1P9N+H8TwlgGgSkWZMmfuVucLCHaYqeSvJ0hFeHsIa65pA2nYbes0f8LDHPMrd9X7Ujxg9w==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-factory-destination": "^2.0.0", - "micromark-factory-label": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-factory-title": "^2.0.0", - "micromark-factory-whitespace": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-html-tag-name": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-core-commonmark/node_modules/micromark-factory-space": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", - "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "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==" + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "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==", "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" + "lower-case": "^1.1.1" } }, - "node_modules/micromark-core-commonmark/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "node_modules/node-forge": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", + "engines": { + "node": ">= 6.0.0" } }, - "node_modules/micromark-core-commonmark/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "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==", + "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/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "engines": { + "node": ">=0.8.x" + } }, - "node_modules/micromark-extension-directive": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-3.0.2.tgz", - "integrity": "sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==", + "node_modules/node-libs-browser/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" + }, + "node_modules/nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", "dependencies": { - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-factory-whitespace": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "parse-entities": "^4.0.0" + "abbrev": "1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "*" } }, - "node_modules/micromark-extension-directive/node_modules/micromark-factory-space": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", - "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" + "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==", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/micromark-extension-directive/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/micromark-extension-directive/node_modules/micromark-util-symbol": { + "node_modules/normalize-url": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/micromark-extension-frontmatter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-2.0.0.tgz", - "integrity": "sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", + "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", "dependencies": { - "fault": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "prepend-http": "^2.0.0", + "query-string": "^5.0.1", + "sort-keys": "^2.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=4" } }, - "node_modules/micromark-extension-frontmatter/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "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": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/micromark-extension-frontmatter/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "node_modules/nprogress": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", + "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==" }, - "node_modules/micromark-extension-gfm": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", - "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", - "dependencies": { - "micromark-extension-gfm-autolink-literal": "^2.0.0", - "micromark-extension-gfm-footnote": "^2.0.0", - "micromark-extension-gfm-strikethrough": "^2.0.0", - "micromark-extension-gfm-table": "^2.0.0", - "micromark-extension-gfm-tagfilter": "^2.0.0", - "micromark-extension-gfm-task-list-item": "^2.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "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==", + "dependencies": { + "boolbase": "~1.0.0" } }, - "node_modules/micromark-extension-gfm-autolink-literal": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", - "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "node_modules/num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==" + }, + "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": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/micromark-extension-gfm-autolink-literal/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "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==", + "engines": { + "node": "*" } }, - "node_modules/micromark-extension-gfm-autolink-literal/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/micromark-extension-gfm-footnote": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", - "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", - "dependencies": { - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-factory-space": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", - "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "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": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/micromark-extension-gfm-strikethrough": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", - "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", + "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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dependencies": { - "devlop": "^1.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "is-buffer": "^1.1.5" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/micromark-extension-gfm-strikethrough/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/micromark-extension-gfm-table": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.0.tgz", - "integrity": "sha512-Ub2ncQv+fwD70/l4ou27b4YzfNaCJOvyX4HxXU15m7mpYY+rjuWzsLIPZHJL253Z643RpbcP1oeIJlQ/SKW67g==", + "node_modules/object-is": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", + "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", "dependencies": { - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/micromark-extension-gfm-table/node_modules/micromark-factory-space": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", - "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" + "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/micromark-extension-gfm-table/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/micromark-extension-gfm-table/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/micromark-extension-gfm-tagfilter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", - "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", "dependencies": { - "micromark-util-types": "^2.0.0" + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/micromark-extension-gfm-task-list-item": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", - "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz", + "integrity": "sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==", "dependencies": { - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "array.prototype.reduce": "^1.0.6", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "safe-array-concat": "^1.0.0" + }, + "engines": { + "node": ">= 0.8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-factory-space": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", - "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/object.values": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" }, - "node_modules/micromark-extension-math": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-math/-/micromark-extension-math-3.1.0.tgz", - "integrity": "sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg==", + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dependencies": { - "@types/katex": "^0.16.0", - "devlop": "^1.0.0", - "katex": "^0.16.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "ee-first": "1.1.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">= 0.8" } }, - "node_modules/micromark-extension-math/node_modules/micromark-factory-space": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", - "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" + "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==", + "engines": { + "node": ">= 0.8" } }, - "node_modules/micromark-extension-math/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "wrappy": "1" } }, - "node_modules/micromark-extension-math/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/micromark-extension-mdx-expression": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.0.tgz", - "integrity": "sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, "dependencies": { - "@types/estree": "^1.0.0", - "devlop": "^1.0.0", - "micromark-factory-mdx-expression": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-events-to-acorn": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/micromark-extension-mdx-expression/node_modules/micromark-factory-space": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", - "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" + "node_modules/opencollective-postinstall": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", + "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==", + "bin": { + "opencollective-postinstall": "index.js" } }, - "node_modules/micromark-extension-mdx-expression/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true, + "bin": { + "opener": "bin/opener-bin.js" } }, - "node_modules/micromark-extension-mdx-expression/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/micromark-extension-mdx-jsx": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.1.tgz", - "integrity": "sha512-vNuFb9czP8QCtAQcEJn0UJQJZA8Dk6DXKBqx+bg/w0WGuSxDxNr7hErW89tHUY31dUW4NqEOWwmEUNhjTFmHkg==", - "dependencies": { - "@types/acorn": "^4.0.0", - "@types/estree": "^1.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "micromark-factory-mdx-expression": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-events-to-acorn": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "vfile-message": "^4.0.0" + "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==", + "dependencies": { + "is-wsl": "^1.1.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=4" } }, - "node_modules/micromark-extension-mdx-jsx/node_modules/micromark-factory-space": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", - "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/optimize-css-assets-webpack-plugin": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.8.tgz", + "integrity": "sha512-mgFS1JdOtEGzD8l+EuISqL57cKO+We9GcoiQEmdCWRqqck+FGNmYJtx9qfAPzEz+lRrlThWMuGDaRkI/yWNx/Q==", "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" + "cssnano": "^4.1.10", + "last-call-webpack-plugin": "^3.0.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" } }, - "node_modules/micromark-extension-mdx-jsx/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==" + }, + "node_modules/ospath": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", + "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", + "dev": true + }, + "node_modules/p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "engines": { + "node": ">=6" } }, - "node_modules/micromark-extension-mdx-jsx/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "engines": { + "node": ">=4" + } }, - "node_modules/micromark-extension-mdx-md": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", - "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", + "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==", "dependencies": { - "micromark-util-types": "^2.0.0" + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/micromark-extension-mdxjs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", - "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", - "dependencies": { - "acorn": "^8.0.0", - "acorn-jsx": "^5.0.0", - "micromark-extension-mdx-expression": "^3.0.0", - "micromark-extension-mdx-jsx": "^3.0.0", - "micromark-extension-mdx-md": "^2.0.0", - "micromark-extension-mdxjs-esm": "^3.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-types": "^2.0.0" + "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==", + "dependencies": { + "p-limit": "^2.2.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=8" } }, - "node_modules/micromark-extension-mdxjs-esm": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", - "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", - "dependencies": { - "@types/estree": "^1.0.0", - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-events-to-acorn": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unist-util-position-from-estree": "^2.0.0", - "vfile-message": "^4.0.0" + "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==", + "engines": { + "node": ">=6" + } + }, + "node_modules/p-retry": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", + "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "dependencies": { + "retry": "^0.12.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=6" } }, - "node_modules/micromark-extension-mdxjs-esm/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "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==", + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", + "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "got": "^9.6.0", + "registry-auth-token": "^4.0.0", + "registry-url": "^5.0.0", + "semver": "^6.2.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/micromark-extension-mdxjs-esm/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" }, - "node_modules/micromark-factory-destination": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", - "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "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==", "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" } }, - "node_modules/micromark-factory-destination/node_modules/micromark-util-character": { + "node_modules/param-case": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==", "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "no-case": "^2.2.0" } }, - "node_modules/micromark-factory-destination/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/micromark-factory-label": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", - "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/parse-asn1": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.7.tgz", + "integrity": "sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==", "dependencies": { - "devlop": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "asn1.js": "^4.10.1", + "browserify-aes": "^1.2.0", + "evp_bytestokey": "^1.0.3", + "hash-base": "~3.0", + "pbkdf2": "^3.1.2", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 0.10" } }, - "node_modules/micromark-factory-label/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" } }, - "node_modules/micromark-factory-label/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } }, - "node_modules/micromark-factory-mdx-expression": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.2.tgz", - "integrity": "sha512-5E5I2pFzJyg2CtemqAbcyCktpHXuJbABnsb32wX2U8IQKhhVFBqkcZR5LRm1WVoFqa4kTueZK4abep7wdo9nrw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "@types/estree": "^1.0.0", - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-events-to-acorn": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unist-util-position-from-estree": "^2.0.0", - "vfile-message": "^4.0.0" + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/micromark-factory-mdx-expression/node_modules/micromark-factory-space": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", - "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.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==" + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==" + }, + "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==", + "engines": { + "node": ">=8" } }, - "node_modules/micromark-factory-mdx-expression/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "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": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/micromark-factory-mdx-expression/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "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": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" }, - "node_modules/micromark-factory-space": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz", - "integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-types": "^1.0.0" + "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/micromark-factory-space/node_modules/micromark-util-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", - "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, - "node_modules/micromark-factory-title": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", - "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "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": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "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==", "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/micromark-factory-title/node_modules/micromark-factory-space": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", - "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" + "node_modules/path-type/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "engines": { + "node": ">=4" } }, - "node_modules/micromark-factory-title/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "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/micromark-factory-title/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true }, - "node_modules/micromark-factory-whitespace": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", - "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/micromark-factory-whitespace/node_modules/micromark-factory-space": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", - "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/micromark-factory-whitespace/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/micromark-factory-whitespace/node_modules/micromark-util-symbol": { + "node_modules/pinkie-promise": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/micromark-util-character": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz", - "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "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==", "dependencies": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/micromark-util-character/node_modules/micromark-util-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", - "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "node_modules/portfinder": { + "version": "1.0.32", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", + "integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==", + "dependencies": { + "async": "^2.6.4", + "debug": "^3.2.7", + "mkdirp": "^0.5.6" + }, + "engines": { + "node": ">= 0.12.0" + } }, - "node_modules/micromark-util-chunked": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", - "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/portfinder/node_modules/async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", "dependencies": { - "micromark-util-symbol": "^2.0.0" + "lodash": "^4.17.14" } }, - "node_modules/micromark-util-chunked/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "node_modules/portfinder/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "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": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.4.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", + "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", "funding": [ { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" + "type": "opencollective", + "url": "https://opencollective.com/postcss/" }, { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/micromark-util-classify-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", - "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" }, { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" } }, - "node_modules/micromark-util-classify-character/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/postcss-calc": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", + "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "postcss": "^7.0.27", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" } }, - "node_modules/micromark-util-classify-character/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "node_modules/postcss-calc/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" }, - "node_modules/micromark-util-combine-extensions": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", - "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/postcss-calc/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dependencies": { - "micromark-util-chunked": "^2.0.0", - "micromark-util-types": "^2.0.0" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, - "node_modules/micromark-util-decode-numeric-character-reference": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", - "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "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==", "dependencies": { - "micromark-util-symbol": "^2.0.0" + "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/micromark-util-decode-numeric-character-reference/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "node_modules/postcss-colormin/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" }, - "node_modules/micromark-util-decode-string": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", - "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/postcss-colormin/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-symbol": "^2.0.0" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, - "node_modules/micromark-util-decode-string/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "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==" + }, + "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==", "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/micromark-util-decode-string/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "node_modules/postcss-convert-values/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" }, - "node_modules/micromark-util-encode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", - "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "node_modules/postcss-convert-values/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } }, - "node_modules/micromark-util-events-to-acorn": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.2.tgz", - "integrity": "sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "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==" + }, + "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==", "dependencies": { - "@types/acorn": "^4.0.0", - "@types/estree": "^1.0.0", - "@types/unist": "^3.0.0", - "devlop": "^1.0.0", - "estree-util-visit": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "vfile-message": "^4.0.0" + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/micromark-util-events-to-acorn/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "node_modules/postcss-discard-comments/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" }, - "node_modules/micromark-util-html-tag-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", - "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "node_modules/postcss-discard-comments/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } }, - "node_modules/micromark-util-normalize-identifier": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", - "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "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==", "dependencies": { - "micromark-util-symbol": "^2.0.0" + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/micromark-util-normalize-identifier/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "node_modules/postcss-discard-duplicates/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" }, - "node_modules/micromark-util-resolve-all": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", - "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/postcss-discard-duplicates/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dependencies": { - "micromark-util-types": "^2.0.0" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, - "node_modules/micromark-util-sanitize-uri": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", - "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "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==", "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-symbol": "^2.0.0" + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/micromark-util-sanitize-uri/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/postcss-discard-empty/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/postcss-discard-empty/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, - "node_modules/micromark-util-sanitize-uri/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "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==", + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-discard-overridden/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/postcss-discard-overridden/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } }, - "node_modules/micromark-util-subtokenize": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.3.tgz", - "integrity": "sha512-VXJJuNxYWSoYL6AJ6OQECCFGhIU2GGHMw8tahogePBrjkG8aCCas3ibkp7RnVOSTClg2is05/R7maAhF1XyQMg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/postcss-load-config": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz", + "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==", "dependencies": { - "devlop": "^1.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, - "node_modules/micromark-util-subtokenize/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "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==", + "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/micromark-util-symbol": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz", - "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "node_modules/postcss-loader/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" }, - "node_modules/micromark-util-types": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.1.tgz", - "integrity": "sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "node_modules/postcss-loader/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } }, - "node_modules/micromark/node_modules/micromark-factory-space": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", - "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "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==", "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" } }, - "node_modules/micromark/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "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==", "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "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/micromark/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "node_modules/postcss-merge-longhand/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "node_modules/postcss-merge-longhand/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" }, "engines": { - "node": ">=8.6" + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "bin": { - "mime": "cli.js" + "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==" + }, + "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==", + "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": ">=4" + "node": ">=6.9.0" } }, - "node_modules/mime-db": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "node_modules/postcss-merge-rules/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/postcss-merge-rules/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, "engines": { - "node": ">= 0.6" + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, - "node_modules/mime-types": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "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==", "dependencies": { - "mime-db": "~1.33.0" + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" }, "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "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==", + "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==", + "dependencies": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, "engines": { - "node": ">=6" + "node": ">=6.9.0" } }, - "node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "node_modules/postcss-minify-font-values/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/postcss-minify-font-values/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, "engines": { - "node": ">=10" + "node": ">=6.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, - "node_modules/mini-css-extract-plugin": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.2.tgz", - "integrity": "sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w==", + "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==" + }, + "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==", + "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/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/postcss-minify-gradients/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dependencies": { - "schema-utils": "^4.0.0", - "tapable": "^2.2.1" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" }, "engines": { - "node": ">= 12.13.0" + "node": ">=6.0.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" + "url": "https://opencollective.com/postcss/" } }, - "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==" + "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==" }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "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==", "dependencies": { - "brace-expansion": "^1.1.7" + "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": "*" + "node": ">=6.9.0" } }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "node_modules/postcss-minify-params/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/postcss-minify-params/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, - "node_modules/mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + "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==" }, - "node_modules/mrmime": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", - "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", + "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==", + "dependencies": { + "alphanum-sort": "^1.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, "engines": { - "node": ">=10" + "node": ">=6.9.0" } }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "node_modules/postcss-minify-selectors/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" }, - "node_modules/multicast-dns": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", - "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "node_modules/postcss-minify-selectors/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dependencies": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" }, - "bin": { - "multicast-dns": "cli.js" + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, - "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" + "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==", + "dependencies": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" }, "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node": ">=8" } }, - "node_modules/napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", - "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" + "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==", + "dependencies": { + "postcss": "^7.0.5" + }, + "engines": { + "node": ">= 6" + } }, - "node_modules/negotiator": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", - "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "node_modules/postcss-modules-extract-imports/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/postcss-modules-extract-imports/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, "engines": { - "node": ">= 0.6" + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, - "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==" + "node_modules/postcss-modules-local-by-default": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz", + "integrity": "sha512-oLUV5YNkeIBa0yQl7EYnxMgy4N6noxmiwZStaEJUSe2xPMcdNc8WmBQuQCx18H5psYbVxz8zoHk0RAAYZXP9gA==", + "dependencies": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0", + "postcss-value-parser": "^3.3.1" + }, + "engines": { + "node": ">= 6" + } }, - "node_modules/no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "node_modules/postcss-modules-local-by-default/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/postcss-modules-local-by-default/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, - "node_modules/node-abi": { - "version": "3.71.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.71.0.tgz", - "integrity": "sha512-SZ40vRiy/+wRTf21hxkkEjPJZpARzUMVcJoQse2EF8qkUWbbO2z7vd5oA/H6bVH6SZQ5STGcu0KRDS7biNRfxw==", + "node_modules/postcss-modules-local-by-default/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==" + }, + "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==", "dependencies": { - "semver": "^7.3.5" + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0" }, "engines": { - "node": ">=10" + "node": ">= 6" } }, - "node_modules/node-addon-api": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", - "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==" + "node_modules/postcss-modules-scope/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" }, - "node_modules/node-emoji": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.1.3.tgz", - "integrity": "sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==", + "node_modules/postcss-modules-scope/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dependencies": { - "@sindresorhus/is": "^4.6.0", - "char-regex": "^1.0.2", - "emojilib": "^2.4.0", - "skin-tone": "^2.0.0" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" }, "engines": { - "node": ">=18" + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, - "node_modules/node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "engines": { - "node": ">= 6.13.0" + "node_modules/postcss-modules-values": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz", + "integrity": "sha512-Ki7JZa7ff1N3EIMlPnGTZfUMe69FFwiQPnVSXC9mnn3jozCRBYIxiZd44yJOV2AmabOo4qFf8s0dC/+lweG7+w==", + "dependencies": { + "icss-replace-symbols": "^1.1.0", + "postcss": "^7.0.6" } }, - "node_modules/node-releases": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", - "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==" + "node_modules/postcss-modules-values/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" }, - "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==", + "node_modules/postcss-modules-values/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "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==", + "dependencies": { + "postcss": "^7.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6.9.0" } }, - "node_modules/normalize-url": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.1.tgz", - "integrity": "sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==", + "node_modules/postcss-normalize-charset/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/postcss-normalize-charset/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, "engines": { - "node": ">=14.16" + "node": ">=6.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, - "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==", + "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==", "dependencies": { - "path-key": "^3.0.0" + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" } }, - "node_modules/npm-to-yarn": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/npm-to-yarn/-/npm-to-yarn-3.0.0.tgz", - "integrity": "sha512-76YnmsbfrYp0tMsWxM0RNX0Vs+x8JxpJGu6B/jDn4lW8+laiTcKmKi9MeMh4UikO4RkJ1oqURoDy9bXJmMXS6A==", + "node_modules/postcss-normalize-display-values/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/postcss-normalize-display-values/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=6.0.0" }, "funding": { - "url": "https://github.com/nebrelbug/npm-to-yarn?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, - "node_modules/nprogress": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", - "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==" + "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==" }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "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==", "dependencies": { - "boolbase": "^1.0.0" + "cssnano-util-get-arguments": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/null-loader": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/null-loader/-/null-loader-4.0.1.tgz", - "integrity": "sha512-pxqVbi4U6N26lq+LmgIbB5XATP0VdZKOG25DhHi8btMmJJefGArFyDg1yc4U3hWCJbMqSrw0qyrz1UQX+qYXqg==", + "node_modules/postcss-normalize-positions/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/postcss-normalize-positions/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" }, "engines": { - "node": ">= 10.13.0" + "node": ">=6.0.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://opencollective.com/postcss/" + } + }, + "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==" + }, + "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==", + "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" }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/null-loader/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/postcss-normalize-repeat-style/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/postcss-normalize-repeat-style/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "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" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, - "node_modules/null-loader/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==", - "peerDependencies": { - "ajv": "^6.9.1" + "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==" + }, + "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==", + "dependencies": { + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/null-loader/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==" + "node_modules/postcss-normalize-string/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" }, - "node_modules/null-loader/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "node_modules/postcss-normalize-string/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" }, "engines": { - "node": ">= 10.13.0" + "node": ">=6.0.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://opencollective.com/postcss/" } }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "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==" + }, + "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==", + "dependencies": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6.9.0" } }, - "node_modules/object-inspect": { - "version": "1.13.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", - "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", + "node_modules/postcss-normalize-timing-functions/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/postcss-normalize-timing-functions/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, "engines": { - "node": ">= 0.4" + "node": ">=6.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, - "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==", + "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==" + }, + "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==", + "dependencies": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, "engines": { - "node": ">= 0.4" + "node": ">=6.9.0" } }, - "node_modules/object.assign": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", - "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "node_modules/postcss-normalize-unicode/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/postcss-normalize-unicode/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dependencies": { - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" }, "engines": { - "node": ">= 0.4" + "node": ">=6.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, - "node_modules/obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + "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==" }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "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==", "dependencies": { - "ee-first": "1.1.1" + "is-absolute-url": "^2.0.0", + "normalize-url": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">=6.9.0" } }, - "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==", + "node_modules/postcss-normalize-url/node_modules/normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", + "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", "engines": { - "node": ">= 0.8" + "node": ">=6" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "node_modules/postcss-normalize-url/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/postcss-normalize-url/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dependencies": { - "wrappy": "1" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "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==" + }, + "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==", "dependencies": { - "mimic-fn": "^2.1.0" + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" }, "engines": { - "node": ">=6" + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-whitespace/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/postcss-normalize-whitespace/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "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==" + }, + "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==", + "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/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "node_modules/postcss-ordered-values/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/postcss-ordered-values/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" }, "engines": { - "node": ">=12" + "node": ">=6.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, - "node_modules/opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", - "bin": { - "opener": "bin/opener-bin.js" - } + "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==" }, - "node_modules/p-cancelable": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", - "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", + "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==", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0" + }, "engines": { - "node": ">=12.20" + "node": ">=6.9.0" } }, - "node_modules/p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "node_modules/postcss-reduce-initial/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/postcss-reduce-initial/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dependencies": { - "yocto-queue": "^1.0.0" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=6.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, - "node_modules/p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "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==", "dependencies": { - "p-limit": "^4.0.0" + "cssnano-util-get-match": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6.9.0" } }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "node_modules/postcss-reduce-transforms/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/postcss-reduce-transforms/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dependencies": { - "aggregate-error": "^3.0.0" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" }, "engines": { - "node": ">=10" + "node": ">=6.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, - "node_modules/p-retry": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "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==" + }, + "node_modules/postcss-safe-parser": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz", + "integrity": "sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g==", "dependencies": { - "@types/retry": "0.12.0", - "retry": "^0.13.1" + "postcss": "^7.0.26" }, "engines": { - "node": ">=8" + "node": ">=6.0.0" } }, - "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==", - "engines": { - "node": ">=6" - } + "node_modules/postcss-safe-parser/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" }, - "node_modules/package-json": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-8.1.1.tgz", - "integrity": "sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==", + "node_modules/postcss-safe-parser/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dependencies": { - "got": "^12.1.0", - "registry-auth-token": "^5.0.1", - "registry-url": "^6.0.0", - "semver": "^7.3.7" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" }, "engines": { - "node": ">=14.16" + "node": ">=6.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, - "node_modules/param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "node_modules/postcss-selector-parser": { + "version": "6.0.15", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", + "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" } }, - "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==", + "node_modules/postcss-svgo": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.3.tgz", + "integrity": "sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==", "dependencies": { - "callsites": "^3.0.0" + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" }, "engines": { - "node": ">=6" + "node": ">=6.9.0" } }, - "node_modules/parse-entities": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz", - "integrity": "sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==", - "dependencies": { - "@types/unist": "^2.0.0", - "character-entities": "^2.0.0", - "character-entities-legacy": "^3.0.0", - "character-reference-invalid": "^2.0.0", - "decode-named-character-reference": "^1.0.0", - "is-alphanumerical": "^2.0.0", - "is-decimal": "^2.0.0", - "is-hexadecimal": "^2.0.0" + "node_modules/postcss-svgo/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/postcss-svgo/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, - "node_modules/parse-entities/node_modules/@types/unist": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", - "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==" + "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==" }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "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==", "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" + "alphanum-sort": "^1.0.0", + "postcss": "^7.0.0", + "uniqs": "^2.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6.9.0" } }, - "node_modules/parse-numeric-range": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", - "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==" + "node_modules/postcss-unique-selectors/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" }, - "node_modules/parse5": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.2.1.tgz", - "integrity": "sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==", + "node_modules/postcss-unique-selectors/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dependencies": { - "entities": "^4.5.0" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" }, "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, - "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz", - "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==", - "dependencies": { - "domhandler": "^5.0.3", - "parse5": "^7.0.0" + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "node_modules/prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "optional": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" }, "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" + "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "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==", "engines": { - "node": ">= 0.8" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "node_modules/pretty-error": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", + "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" + "lodash": "^4.17.20", + "renderkid": "^2.0.4" } }, - "node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "node_modules/pretty-time": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", + "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==", "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "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": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "node_modules/prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "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": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" - }, - "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==", + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "engines": { - "node": ">=8" + "node": ">= 0.6.0" } }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + "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/path-to-regexp": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", - "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==", - "dependencies": { - "isarray": "0.0.1" - } + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==" }, - "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==", + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, "engines": { - "node": ">=8" + "node": ">= 0.10" } }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==" }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "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/pkg-dir": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", - "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dependencies": { - "find-up": "^6.3.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "node_modules/pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=8" + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" } }, - "node_modules/pkg-up/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==", + "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==", "dependencies": { - "locate-path": "^3.0.0" - }, + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "engines": { "node": ">=6" } }, - "node_modules/pkg-up/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==", + "node_modules/pupa": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", + "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "escape-goat": "^2.0.0" }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/pkg-up/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==", + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.0.tgz", + "integrity": "sha512-trVZiI6RMOkO476zLGaBIzszOdFPnCCXHPG9kn0yuS1uz6xdVxPfZdB3vUig9pxPFDM9BRAgz/YUIVQ1/vuiUg==", "dependencies": { - "p-try": "^2.0.0" + "side-channel": "^1.0.6" }, "engines": { - "node": ">=6" + "node": ">=0.6" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/pkg-up/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==", + "node_modules/query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", "dependencies": { - "p-limit": "^2.0.0" + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/pkg-up/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", "engines": { - "node": ">=4" + "node": ">=0.4.x" } }, - "node_modules/postcss": { - "version": "8.4.49", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", - "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, + "node_modules/ramda": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.27.2.tgz", + "integrity": "sha512-SbiLPU40JuJniHexQSAgad32hfwd+DRUdwF2PlVuI5RZD0/vahUco7R8vD86J/tcEKKF9vZrUVwgtmGCqlCKyA==", + "dev": true + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" + "safe-buffer": "^5.1.0" } }, - "node_modules/postcss-attribute-case-insensitive": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-7.0.1.tgz", - "integrity": "sha512-Uai+SupNSqzlschRyNx3kbCTWgY/2hcwtHEI/ej2LJWc9JJ77qKgGptd8DHwY1mXtZ7Aoh4z4yxfwMBue9eNgw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "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==", "dependencies": { - "postcss-selector-parser": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" } }, - "node_modules/postcss-attribute-case-insensitive/node_modules/postcss-selector-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", - "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, + "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==", "engines": { - "node": ">=4" + "node": ">= 0.6" } }, - "node_modules/postcss-calc": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz", - "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==", + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dependencies": { - "postcss-selector-parser": "^6.0.11", - "postcss-value-parser": "^4.2.0" + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.2" + "node": ">= 0.8" } }, - "node_modules/postcss-clamp": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", - "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, + "node_modules/raw-body/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "engines": { - "node": ">=7.6.0" - }, - "peerDependencies": { - "postcss": "^8.4.6" + "node": ">= 0.8" } }, - "node_modules/postcss-color-functional-notation": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-7.0.6.tgz", - "integrity": "sha512-wLXvm8RmLs14Z2nVpB4CWlnvaWPRcOZFltJSlcbYwSJ1EDZKsKDhPKIMecCnuU054KSmlmubkqczmm6qBPCBhA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dependencies": { - "@csstools/css-color-parser": "^3.0.6", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "@csstools/postcss-progressive-custom-properties": "^4.0.0", - "@csstools/utilities": "^2.0.0" - }, - "engines": { - "node": ">=18" + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, - "peerDependencies": { - "postcss": "^8.4" + "bin": { + "rc": "cli.js" } }, - "node_modules/postcss-color-hex-alpha": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-10.0.0.tgz", - "integrity": "sha512-1kervM2cnlgPs2a8Vt/Qbe5cQ++N7rkYo/2rz2BkqJZIHQwaVuJgQH38REHrAi4uM0b1fqxMkWYmese94iMp3w==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dependencies": { - "@csstools/utilities": "^2.0.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "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/postcss-color-rebeccapurple": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-10.0.0.tgz", - "integrity": "sha512-JFta737jSP+hdAIEhk1Vs0q0YF5P8fFcj+09pweS8ktuGuZ8pPlykHsk6mPxZ8awDl4TrcxUqJo9l1IhVr/OjQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "node_modules/readable-stream/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/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", "dependencies": { - "@csstools/utilities": "^2.0.0", - "postcss-value-parser": "^4.2.0" + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" }, "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">=0.10" } }, - "node_modules/postcss-colormin": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.1.0.tgz", - "integrity": "sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==", + "node_modules/reduce": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/reduce/-/reduce-1.0.2.tgz", + "integrity": "sha512-xX7Fxke/oHO5IfZSk77lvPa/7bjMh9BuCk4OOoX5XTXrM7s0Z+MkPfSDfz0q7r91BhhGSs8gii/VEN/7zhCPpQ==", "dependencies": { - "browserslist": "^4.23.0", - "caniuse-api": "^3.0.0", - "colord": "^2.9.3", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "object-keys": "^1.1.0" } }, - "node_modules/postcss-convert-values": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz", - "integrity": "sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==", + "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==" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", "dependencies": { - "browserslist": "^4.23.0", - "postcss-value-parser": "^4.2.0" + "regenerate": "^1.4.2" }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">=4" } }, - "node_modules/postcss-custom-media": { - "version": "11.0.5", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-11.0.5.tgz", - "integrity": "sha512-SQHhayVNgDvSAdX9NQ/ygcDQGEY+aSF4b/96z7QUX6mqL5yl/JgG/DywcF6fW9XbnCRE+aVYk+9/nqGuzOPWeQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", "dependencies": { - "@csstools/cascade-layer-name-parser": "^2.0.4", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "@csstools/media-query-list-parser": "^4.0.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "@babel/runtime": "^7.8.4" } }, - "node_modules/postcss-custom-properties": { - "version": "14.0.4", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-14.0.4.tgz", - "integrity": "sha512-QnW8FCCK6q+4ierwjnmXF9Y9KF8q0JkbgVfvQEMa93x1GT8FvOiUevWCN2YLaOWyByeDX8S6VFbZEeWoAoXs2A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "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==", "dependencies": { - "@csstools/cascade-layer-name-parser": "^2.0.4", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "@csstools/utilities": "^2.0.0", - "postcss-value-parser": "^4.2.0" + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" }, "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">=0.10.0" } }, - "node_modules/postcss-custom-selectors": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-8.0.4.tgz", - "integrity": "sha512-ASOXqNvDCE0dAJ/5qixxPeL1aOVGHGW2JwSy7HyjWNbnWTQCl+fDc968HY1jCmZI0+BaYT5CxsOiUhavpG/7eg==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "node_modules/regexp.prototype.flags": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", "dependencies": { - "@csstools/cascade-layer-name-parser": "^2.0.4", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "postcss-selector-parser": "^7.0.0" + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" }, "engines": { - "node": ">=18" + "node": ">= 0.4" }, - "peerDependencies": { - "postcss": "^8.4" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/postcss-custom-selectors/node_modules/postcss-selector-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", - "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" }, "engines": { "node": ">=4" } }, - "node_modules/postcss-dir-pseudo-class": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-9.0.1.tgz", - "integrity": "sha512-tRBEK0MHYvcMUrAuYMEOa0zg9APqirBcgzi6P21OhxtJyJADo/SWBwY1CAwEohQ/6HDaa9jCjLRG7K3PVQYHEA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "node_modules/register-service-worker": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/register-service-worker/-/register-service-worker-1.7.2.tgz", + "integrity": "sha512-CiD3ZSanZqcMPRhtfct5K9f7i3OLCcBBWsJjLh1gW9RO/nS94sVzY59iS+fgYBOBqaBpf4EzfqUF3j9IG+xo8A==" + }, + "node_modules/registry-auth-token": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz", + "integrity": "sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==", "dependencies": { - "postcss-selector-parser": "^7.0.0" + "rc": "1.2.8" }, "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">=6.0.0" } }, - "node_modules/postcss-dir-pseudo-class/node_modules/postcss-selector-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", - "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "node_modules/registry-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", + "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" + "rc": "^1.2.8" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/postcss-discard-comments": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz", - "integrity": "sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==", - "engines": { - "node": "^14 || ^16 || >=18.0" + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dependencies": { + "jsesc": "~0.5.0" }, - "peerDependencies": { - "postcss": "^8.4.31" + "bin": { + "regjsparser": "bin/parser" } }, - "node_modules/postcss-discard-duplicates": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz", - "integrity": "sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "bin": { + "jsesc": "bin/jsesc" } }, - "node_modules/postcss-discard-empty": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz", - "integrity": "sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==", + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">= 0.10" } }, - "node_modules/postcss-discard-overridden": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz", - "integrity": "sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node_modules/remove-markdown": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/remove-markdown/-/remove-markdown-0.3.0.tgz", + "integrity": "sha512-5392eIuy1mhjM74739VunOlsOYKjsH82rQcTBlJ1bkICVC3dQ3ksQzTHh4jGHQFnM+1xzLzcFOMH+BofqXhroQ==" + }, + "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": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==" + }, + "node_modules/renderkid": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", + "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^3.0.1" } }, - "node_modules/postcss-discard-unused": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-6.0.5.tgz", - "integrity": "sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==", + "node_modules/renderkid/node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", "dependencies": { - "postcss-selector-parser": "^6.0.16" + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/renderkid/node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", "engines": { - "node": "^14 || ^16 || >=18.0" + "node": ">= 6" }, - "peerDependencies": { - "postcss": "^8.4.31" + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/postcss-double-position-gradients": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-6.0.0.tgz", - "integrity": "sha512-JkIGah3RVbdSEIrcobqj4Gzq0h53GG4uqDPsho88SgY84WnpkTpI0k50MFK/sX7XqVisZ6OqUfFnoUO6m1WWdg==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "node_modules/renderkid/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^4.0.0", - "@csstools/utilities": "^2.0.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": ">=18" + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" }, - "peerDependencies": { - "postcss": "^8.4" + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/postcss-focus-visible": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-10.0.1.tgz", - "integrity": "sha512-U58wyjS/I1GZgjRok33aE8juW9qQgQUNwTSdxQGuShHzwuYdcklnvK/+qOWX1Q9kr7ysbraQ6ht6r+udansalA==", + "node_modules/renderkid/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", "funding": [ { "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" + "url": "https://github.com/sponsors/fb55" } - ], + ] + }, + "node_modules/renderkid/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", "dependencies": { - "postcss-selector-parser": "^7.0.0" - }, - "engines": { - "node": ">=18" + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" }, - "peerDependencies": { - "postcss": "^8.4" + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "node_modules/postcss-focus-visible/node_modules/postcss-selector-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", - "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "node_modules/renderkid/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" + "boolbase": "^1.0.0" }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/postcss-focus-within": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-9.0.1.tgz", - "integrity": "sha512-fzNUyS1yOYa7mOjpci/bR+u+ESvdar6hk8XNK/TRR0fiGTp2QT5N+ducP0n3rfH/m9I7H/EQU6lsa2BrgxkEjw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "dependencies": { - "postcss-selector-parser": "^7.0.0" - }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">=0.10" } }, - "node_modules/postcss-focus-within/node_modules/postcss-selector-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", - "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "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": ">=4" + "node": ">= 6" } }, - "node_modules/postcss-font-variant": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", - "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", - "peerDependencies": { - "postcss": "^8.1.0" + "node_modules/request-progress": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", + "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", + "dev": true, + "dependencies": { + "throttleit": "^1.0.0" } }, - "node_modules/postcss-gap-properties": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-6.0.0.tgz", - "integrity": "sha512-Om0WPjEwiM9Ru+VhfEDPZJAKWUd0mV1HmNXqp2C29z80aQ2uP9UVhLc7e3aYMIor/S5cVhoPgYQ7RtfeZpYTRw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "engines": { - "node": ">=18" + "node_modules/request/node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" }, - "peerDependencies": { - "postcss": "^8.4" + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" } }, - "node_modules/postcss-image-set-function": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-7.0.0.tgz", - "integrity": "sha512-QL7W7QNlZuzOwBTeXEmbVckNt1FSmhQtbMRvGGqqU4Nf4xk6KUEQhAoWuMzwbSv5jxiRiSZ5Tv7eiDB9U87znA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "node_modules/request/node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", "dependencies": { - "@csstools/utilities": "^2.0.0", - "postcss-value-parser": "^4.2.0" + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" }, "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">=0.6.0" } }, - "node_modules/postcss-lab-function": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-7.0.6.tgz", - "integrity": "sha512-HPwvsoK7C949vBZ+eMyvH2cQeMr3UREoHvbtra76/UhDuiViZH6pir+z71UaJQohd7VDSVUdR6TkWYKExEc9aQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "dependencies": { - "@csstools/css-color-parser": "^3.0.6", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "@csstools/postcss-progressive-custom-properties": "^4.0.0", - "@csstools/utilities": "^2.0.0" - }, + "node_modules/request/node_modules/qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">=0.6" } }, - "node_modules/postcss-loader": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.4.tgz", - "integrity": "sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==", + "node_modules/request/node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "dependencies": { - "cosmiconfig": "^8.3.5", - "jiti": "^1.20.0", - "semver": "^7.5.4" + "psl": "^1.1.28", + "punycode": "^2.1.1" }, "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "postcss": "^7.0.0 || ^8.0.1", - "webpack": "^5.0.0" + "node": ">=0.8" } }, - "node_modules/postcss-logical": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-8.0.0.tgz", - "integrity": "sha512-HpIdsdieClTjXLOyYdUPAX/XQASNIwdKt5hoZW08ZOAiI+tbV0ta1oclkpVkW5ANU+xJvk3KkA0FejkjGLXUkg==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, + "node_modules/request/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">=0.10.0" } }, - "node_modules/postcss-merge-idents": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-6.0.3.tgz", - "integrity": "sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==", + "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==" + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dependencies": { - "cssnano-utils": "^4.0.2", - "postcss-value-parser": "^4.2.0" + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" }, - "engines": { - "node": "^14 || ^16 || >=18.0" + "bin": { + "resolve": "bin/resolve" }, - "peerDependencies": { - "postcss": "^8.4.31" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/postcss-merge-longhand": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz", - "integrity": "sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==", + "node_modules/resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha512-ccu8zQTrzVr954472aUVPLEcB3YpKSYR3cg/3lo1okzobPBM+1INXBbBZlDbnI/hbEocnf8j0QVo43hQKrbchg==", "dependencies": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^6.1.1" + "resolve-from": "^3.0.0" }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">=4" } }, - "node_modules/postcss-merge-rules": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz", - "integrity": "sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==", - "dependencies": { - "browserslist": "^4.23.0", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^4.0.2", - "postcss-selector-parser": "^6.0.16" - }, + "node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">=4" } }, - "node_modules/postcss-minify-font-values": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz", - "integrity": "sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==", + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "deprecated": "https://github.com/lydell/resolve-url#deprecated" + }, + "node_modules/responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "lowercase-keys": "^1.0.0" } }, - "node_modules/postcss-minify-gradients": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz", - "integrity": "sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==", + "node_modules/restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", + "integrity": "sha512-reSjH4HuiFlxlaBaFCiS6O76ZGG2ygKoSlCsipKdaZuKSPx/+bt9mULkn4l0asVzbEfQQmXRg6Wp6gv6m0wElw==", + "dev": true, "dependencies": { - "colord": "^2.9.3", - "cssnano-utils": "^4.0.2", - "postcss-value-parser": "^4.2.0" + "exit-hook": "^1.0.0", + "onetime": "^1.0.0" }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">=0.10.0" } }, - "node_modules/postcss-minify-params": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz", - "integrity": "sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==", - "dependencies": { - "browserslist": "^4.23.0", - "cssnano-utils": "^4.0.2", - "postcss-value-parser": "^4.2.0" - }, + "node_modules/restore-cursor/node_modules/onetime": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha512-GZ+g4jayMqzCRMgB2sol7GiCLjKfS1PINkjmx8spcKce1LiVqcbQreXwqs2YAFXC6R03VIG28ZS31t8M866v6A==", + "dev": true, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">=0.10.0" } }, - "node_modules/postcss-minify-selectors": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz", - "integrity": "sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==", - "dependencies": { - "postcss-selector-parser": "^6.0.16" - }, + "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==", "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">=0.12" } }, - "node_modules/postcss-modules-extract-imports": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", - "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">= 4" } }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.1.0.tgz", - "integrity": "sha512-rm0bdSv4jC3BDma3s9H19ZddW0aHX6EoqwDYU2IfZhRN+53QrufTRo2IdkAbRqLx4R2IYbZnbjKKxg4VN5oU9Q==", + "node_modules/rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha512-gDK5mkALDFER2YLqH6imYvK6g02gpNGM4ILDZ472EwWfXZnC2ZEpoB2ECXTyOVUKuk/bPJZMzwQPBYICzP+D3w==" + }, + "node_modules/rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha512-zgn5OjNQXLUTdq8m17KdaicF6w89TZs8ZU8y0AYENIU6wG8GG6LLm0yLSiPY8DmaYmHdgRW8rnApjoT0fQRfMg==" + }, + "node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^7.0.0", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" + "glob": "^7.1.3" }, - "peerDependencies": { - "postcss": "^8.1.0" + "bin": { + "rimraf": "bin.js" } }, - "node_modules/postcss-modules-local-by-default/node_modules/postcss-selector-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", - "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" + "hash-base": "^3.0.0", + "inherits": "^2.0.1" } }, - "node_modules/postcss-modules-scope": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", - "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", + "node_modules/run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", "dependencies": { - "postcss-selector-parser": "^7.0.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "aproba": "^1.1.1" } }, - "node_modules/postcss-modules-scope/node_modules/postcss-selector-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", - "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" + "tslib": "^1.9.0" }, "engines": { - "node": ">=4" + "npm": ">=2.0.0" } }, - "node_modules/postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "node_modules/safe-array-concat": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", "dependencies": { - "icss-utils": "^5.0.0" + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" }, "engines": { - "node": "^10 || ^12 || >= 14" + "node": ">=0.4" }, - "peerDependencies": { - "postcss": "^8.1.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/postcss-nesting": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-13.0.1.tgz", - "integrity": "sha512-VbqqHkOBOt4Uu3G8Dm8n6lU5+9cJFxiuty9+4rcoyRPO9zZS1JIs6td49VIoix3qYqELHlJIn46Oih9SAKo+yQ==", + "node_modules/safe-array-concat/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/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "funding": [ { "type": "github", - "url": "https://github.com/sponsors/csstools" + "url": "https://github.com/sponsors/feross" }, { - "type": "opencollective", - "url": "https://opencollective.com/csstools" + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" } - ], + ] + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", "dependencies": { - "@csstools/selector-resolve-nested": "^3.0.0", - "@csstools/selector-specificity": "^5.0.0", - "postcss-selector-parser": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "ret": "~0.1.10" } }, - "node_modules/postcss-nesting/node_modules/@csstools/selector-resolve-nested": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@csstools/selector-resolve-nested/-/selector-resolve-nested-3.0.0.tgz", - "integrity": "sha512-ZoK24Yku6VJU1gS79a5PFmC8yn3wIapiKmPgun0hZgEI5AOqgH2kiPRsPz1qkGv4HL+wuDLH83yQyk6inMYrJQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "node_modules/safe-regex-test": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-regex": "^1.1.4" + }, "engines": { - "node": ">=18" + "node": ">= 0.4" }, - "peerDependencies": { - "postcss-selector-parser": "^7.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/postcss-nesting/node_modules/@csstools/selector-specificity": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", - "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dependencies": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, "engines": { - "node": ">=18" + "node": ">= 8.9.0" }, - "peerDependencies": { - "postcss-selector-parser": "^7.0.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/postcss-nesting/node_modules/postcss-selector-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", - "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "node_modules/section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" }, "engines": { "node": ">=4" } }, - "node_modules/postcss-normalize-charset": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz", - "integrity": "sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==", - "engines": { - "node": "^14 || ^16 || >=18.0" + "node_modules/section-matter/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dependencies": { + "is-extendable": "^0.1.0" }, - "peerDependencies": { - "postcss": "^8.4.31" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/postcss-normalize-display-values": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz", - "integrity": "sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, + "node_modules/section-matter/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">=0.10.0" } }, - "node_modules/postcss-normalize-positions": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz", - "integrity": "sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==", + "node_modules/secure-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz", + "integrity": "sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==", + "dev": true + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" + }, + "node_modules/selfsigned": { + "version": "1.10.14", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.14.tgz", + "integrity": "sha512-lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA==", "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node-forge": "^0.10.0" } }, - "node_modules/postcss-normalize-repeat-style": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz", - "integrity": "sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==", + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/semver-diff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", + "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", "dependencies": { - "postcss-value-parser": "^4.2.0" + "semver": "^6.3.0" }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">=8" } }, - "node_modules/postcss-normalize-string": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz", - "integrity": "sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==", + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dependencies": { - "postcss-value-parser": "^4.2.0" + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">= 0.8.0" } }, - "node_modules/postcss-normalize-timing-functions": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz", - "integrity": "sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==", + "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==", "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "ms": "2.0.0" } }, - "node_modules/postcss-normalize-unicode": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz", - "integrity": "sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==", + "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": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "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==", "dependencies": { - "browserslist": "^4.23.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "randombytes": "^2.1.0" } }, - "node_modules/postcss-normalize-url": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz", - "integrity": "sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==", + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", "dependencies": { - "postcss-value-parser": "^4.2.0" + "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": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">= 0.8.0" } }, - "node_modules/postcss-normalize-whitespace": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz", - "integrity": "sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==", + "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==", "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "ms": "2.0.0" } }, - "node_modules/postcss-opacity-percentage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-3.0.0.tgz", - "integrity": "sha512-K6HGVzyxUxd/VgZdX04DCtdwWJ4NGLG212US4/LA1TLAbHgmAsTWVR86o+gGIbFtnTkfOpb9sCRBx8K7HO66qQ==", - "funding": [ - { - "type": "kofi", - "url": "https://ko-fi.com/mrcgrtz" - }, - { - "type": "liberapay", - "url": "https://liberapay.com/mrcgrtz" - } - ], + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">= 0.6" } }, - "node_modules/postcss-ordered-values": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz", - "integrity": "sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==", + "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": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", "dependencies": { - "cssnano-utils": "^4.0.2", - "postcss-value-parser": "^4.2.0" + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">= 0.6" } }, - "node_modules/postcss-overflow-shorthand": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-6.0.0.tgz", - "integrity": "sha512-BdDl/AbVkDjoTofzDQnwDdm/Ym6oS9KgmO7Gr+LHYjNWJ6ExORe4+3pcLQsLA9gIROMkiGVjjwZNoL/mpXHd5Q==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" }, - "node_modules/postcss-page-break": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", - "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", - "peerDependencies": { - "postcss": "^8" - } + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, - "node_modules/postcss-place": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-10.0.0.tgz", - "integrity": "sha512-5EBrMzat2pPAxQNWYavwAfoKfYcTADJ8AXGVPcUZ2UkNloUTWzJQExgrzrDkh3EKzmAx1evfTAzF9I8NGcc+qw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, + "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==" + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">= 0.6" } }, - "node_modules/postcss-preset-env": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-10.1.1.tgz", - "integrity": "sha512-wqqsnBFD6VIwcHHRbhjTOcOi4qRVlB26RwSr0ordPj7OubRRxdWebv/aLjKLRR8zkZrbxZyuus03nOIgC5elMQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dependencies": { - "@csstools/postcss-cascade-layers": "^5.0.1", - "@csstools/postcss-color-function": "^4.0.6", - "@csstools/postcss-color-mix-function": "^3.0.6", - "@csstools/postcss-content-alt-text": "^2.0.4", - "@csstools/postcss-exponential-functions": "^2.0.5", - "@csstools/postcss-font-format-keywords": "^4.0.0", - "@csstools/postcss-gamut-mapping": "^2.0.6", - "@csstools/postcss-gradients-interpolation-method": "^5.0.6", - "@csstools/postcss-hwb-function": "^4.0.6", - "@csstools/postcss-ic-unit": "^4.0.0", - "@csstools/postcss-initial": "^2.0.0", - "@csstools/postcss-is-pseudo-class": "^5.0.1", - "@csstools/postcss-light-dark-function": "^2.0.7", - "@csstools/postcss-logical-float-and-clear": "^3.0.0", - "@csstools/postcss-logical-overflow": "^2.0.0", - "@csstools/postcss-logical-overscroll-behavior": "^2.0.0", - "@csstools/postcss-logical-resize": "^3.0.0", - "@csstools/postcss-logical-viewport-units": "^3.0.3", - "@csstools/postcss-media-minmax": "^2.0.5", - "@csstools/postcss-media-queries-aspect-ratio-number-values": "^3.0.4", - "@csstools/postcss-nested-calc": "^4.0.0", - "@csstools/postcss-normalize-display-values": "^4.0.0", - "@csstools/postcss-oklab-function": "^4.0.6", - "@csstools/postcss-progressive-custom-properties": "^4.0.0", - "@csstools/postcss-random-function": "^1.0.1", - "@csstools/postcss-relative-color-syntax": "^3.0.6", - "@csstools/postcss-scope-pseudo-class": "^4.0.1", - "@csstools/postcss-sign-functions": "^1.1.0", - "@csstools/postcss-stepped-value-functions": "^4.0.5", - "@csstools/postcss-text-decoration-shorthand": "^4.0.1", - "@csstools/postcss-trigonometric-functions": "^4.0.5", - "@csstools/postcss-unset-value": "^4.0.0", - "autoprefixer": "^10.4.19", - "browserslist": "^4.23.1", - "css-blank-pseudo": "^7.0.1", - "css-has-pseudo": "^7.0.1", - "css-prefers-color-scheme": "^10.0.0", - "cssdb": "^8.2.1", - "postcss-attribute-case-insensitive": "^7.0.1", - "postcss-clamp": "^4.1.0", - "postcss-color-functional-notation": "^7.0.6", - "postcss-color-hex-alpha": "^10.0.0", - "postcss-color-rebeccapurple": "^10.0.0", - "postcss-custom-media": "^11.0.5", - "postcss-custom-properties": "^14.0.4", - "postcss-custom-selectors": "^8.0.4", - "postcss-dir-pseudo-class": "^9.0.1", - "postcss-double-position-gradients": "^6.0.0", - "postcss-focus-visible": "^10.0.1", - "postcss-focus-within": "^9.0.1", - "postcss-font-variant": "^5.0.0", - "postcss-gap-properties": "^6.0.0", - "postcss-image-set-function": "^7.0.0", - "postcss-lab-function": "^7.0.6", - "postcss-logical": "^8.0.0", - "postcss-nesting": "^13.0.1", - "postcss-opacity-percentage": "^3.0.0", - "postcss-overflow-shorthand": "^6.0.0", - "postcss-page-break": "^3.0.4", - "postcss-place": "^10.0.0", - "postcss-pseudo-class-any-link": "^10.0.1", - "postcss-replace-overflow-wrap": "^4.0.0", - "postcss-selector-not": "^8.0.1" - }, - "engines": { - "node": ">=18" + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" }, - "peerDependencies": { - "postcss": "^8.4" + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/postcss-pseudo-class-any-link": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-10.0.1.tgz", - "integrity": "sha512-3el9rXlBOqTFaMFkWDOkHUTQekFIYnaQY55Rsp8As8QQkpiSgIYEcF/6Ond93oHiDsGb4kad8zjt+NPlOC1H0Q==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dependencies": { - "postcss-selector-parser": "^7.0.0" + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" }, "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">= 0.4" } }, - "node_modules/postcss-pseudo-class-any-link/node_modules/postcss-selector-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", - "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" }, "engines": { - "node": ">=4" + "node": ">= 0.4" } }, - "node_modules/postcss-reduce-idents": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-6.0.3.tgz", - "integrity": "sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==", + "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==", "dependencies": { - "postcss-value-parser": "^4.2.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">=0.10.0" } }, - "node_modules/postcss-reduce-initial": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz", - "integrity": "sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==", + "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": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dependencies": { - "browserslist": "^4.23.0", - "caniuse-api": "^3.0.0" + "is-extendable": "^0.1.0" }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">=0.10.0" } }, - "node_modules/postcss-reduce-transforms": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz", - "integrity": "sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, + "node_modules/set-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">=0.10.0" } }, - "node_modules/postcss-replace-overflow-wrap": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", - "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", - "peerDependencies": { - "postcss": "^8.0.3" - } + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" }, - "node_modules/postcss-selector-not": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-8.0.1.tgz", - "integrity": "sha512-kmVy/5PYVb2UOhy0+LqUYAhKj7DUGDpSWa5LZqlkWJaaAV+dxxsOG3+St0yNLu6vsKD7Dmqx+nWQt0iil89+WA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "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==", "dependencies": { - "postcss-selector-parser": "^7.0.0" - }, - "engines": { - "node": ">=18" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" }, - "peerDependencies": { - "postcss": "^8.4" + "bin": { + "sha.js": "bin.js" } }, - "node_modules/postcss-selector-not/node_modules/postcss-selector-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", - "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "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": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" + "shebang-regex": "^3.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/postcss-selector-parser": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", - "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, + "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": ">=4" + "node": ">=8" } }, - "node_modules/postcss-sort-media-queries": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-5.2.0.tgz", - "integrity": "sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==", + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dependencies": { - "sort-css-media-queries": "2.2.0" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" }, "engines": { - "node": ">=14.0.0" + "node": ">= 0.4" }, - "peerDependencies": { - "postcss": "^8.4.23" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/postcss-svgo": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.3.tgz", - "integrity": "sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==", + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", "dependencies": { - "postcss-value-parser": "^4.2.0", - "svgo": "^3.2.0" - }, - "engines": { - "node": "^14 || ^16 || >= 18" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "is-arrayish": "^0.3.1" } }, - "node_modules/postcss-unique-selectors": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz", - "integrity": "sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==", + "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==" + }, + "node_modules/sitemap": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-3.2.2.tgz", + "integrity": "sha512-TModL/WU4m2q/mQcrDgNANn0P4LwprM9MMvG4hu5zP4c6IIKs2YLTu6nXXnNr8ODW/WFtxKggiJ1EGn2W0GNmg==", "dependencies": { - "postcss-selector-parser": "^6.0.16" + "lodash.chunk": "^4.2.0", + "lodash.padstart": "^4.6.1", + "whatwg-url": "^7.0.0", + "xmlbuilder": "^13.0.0" }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">=6.0.0", + "npm": ">=4.0.0" } }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + "node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "engines": { + "node": ">=6" + } }, - "node_modules/postcss-zindex": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-6.0.2.tgz", - "integrity": "sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==", + "node_modules/slice-ansi": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", + "integrity": "sha512-up04hB2hR92PgjpyU3y/eg91yIBILyjVY26NvvciY3EVVPjybkMszMpXQ9QAkcS3I5rtJBDLoTxxg+qvW8c7rw==", + "dev": true, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">=0.10.0" } }, - "node_modules/prebuild-install": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz", - "integrity": "sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==", + "node_modules/smoothscroll-polyfill": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/smoothscroll-polyfill/-/smoothscroll-polyfill-0.4.4.tgz", + "integrity": "sha512-TK5ZA9U5RqCwMpfoMq/l1mrH0JAR7y7KRvOBx0n2869aLxch+gT9GhN3yUfjiw+d/DiF1mKo14+hd62JyMmoBg==" + }, + "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==", "dependencies": { - "detect-libc": "^2.0.0", - "expand-template": "^2.0.3", - "github-from-package": "0.0.0", - "minimist": "^1.2.3", - "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", - "node-abi": "^3.3.0", - "pump": "^3.0.0", - "rc": "^1.2.7", - "simple-get": "^4.0.0", - "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0" - }, - "bin": { - "prebuild-install": "bin.js" + "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": ">=10" + "node": ">=0.10.0" } }, - "node_modules/prebuild-install/node_modules/tar-fs": { + "node_modules/snapdragon-node": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/prebuild-install/node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "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": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" + "is-descriptor": "^1.0.0" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/pretty-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", - "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "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==", "dependencies": { - "lodash": "^4.17.20", - "renderkid": "^3.0.0" - } - }, - "node_modules/pretty-time": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", - "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==", + "kind-of": "^3.2.0" + }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/prism-react-renderer": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.4.0.tgz", - "integrity": "sha512-327BsVCD/unU4CNLZTWVHyUHKnsqcvj2qbPlQ8MiBE2eq2rgctjigPA1Gp9HLF83kZ20zNN6jgizHJeEsyFYOw==", + "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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dependencies": { - "@types/prismjs": "^1.26.0", - "clsx": "^2.0.0" + "is-buffer": "^1.1.5" }, - "peerDependencies": { - "react": ">=16.0.0" - } - }, - "node_modules/prismjs": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", - "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", "engines": { - "node": ">=6" + "node": ">=0.10.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/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "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": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" + "is-descriptor": "^0.1.0" }, "engines": { - "node": ">= 6" + "node": ">=0.10.0" } }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "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": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/property-information": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", - "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==" - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" }, "engines": { - "node": ">= 0.10" + "node": ">= 0.4" } }, - "node_modules/proxy-addr/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==", + "node_modules/snapdragon/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "engines": { - "node": ">= 0.10" + "node": ">=0.10.0" } }, - "node_modules/pump": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", - "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/pupa": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-3.1.0.tgz", - "integrity": "sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==", + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/sockjs-client": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.6.1.tgz", + "integrity": "sha512-2g0tjOR+fRs0amxENLi/q5TiJTqY+WXFOzb5UwXndlK6TO3U/mirZznpx6w34HVMoc3g7cY24yC/ZMIYnDlfkw==", "dependencies": { - "escape-goat": "^4.0.0" + "debug": "^3.2.7", + "eventsource": "^2.0.2", + "faye-websocket": "^0.11.4", + "inherits": "^2.0.4", + "url-parse": "^1.5.10" }, "engines": { - "node": ">=12.20" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://tidelift.com/funding/github/npm/sockjs-client" } }, - "node_modules/qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "node_modules/sockjs-client/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dependencies": { - "side-channel": "^1.0.6" + "ms": "^2.1.1" + } + }, + "node_modules/sort-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", + "integrity": "sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==", + "dependencies": { + "is-plain-obj": "^1.0.0" }, "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=4" } }, - "node_modules/queue": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", - "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", - "dependencies": { - "inherits": "~2.0.3" + "node_modules/sort-keys/node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "node_modules/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==" }, - "node_modules/queue-tick": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", - "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==" + "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==", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "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==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", "dependencies": { - "safe-buffer": "^5.1.0" + "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/range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", - "engines": { - "node": ">= 0.6" + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "node_modules/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated" + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" + "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": ">= 0.8" + "node": ">=6.0.0" } }, - "node_modules/raw-body/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" + "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==", + "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/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "node_modules/spdy-transport/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, - "bin": { - "rc": "cli.js" + "engines": { + "node": ">= 6" } }, - "node_modules/rc/node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "node_modules/split-on-first": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/react": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", - "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "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==", "dependencies": { - "loose-envify": "^1.1.0" + "extend-shallow": "^3.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/react-dev-utils": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", - "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", - "dependencies": { - "@babel/code-frame": "^7.16.0", - "address": "^1.1.2", - "browserslist": "^4.18.1", - "chalk": "^4.1.2", - "cross-spawn": "^7.0.3", - "detect-port-alt": "^1.1.6", - "escape-string-regexp": "^4.0.0", - "filesize": "^8.0.6", - "find-up": "^5.0.0", - "fork-ts-checker-webpack-plugin": "^6.5.0", - "global-modules": "^2.0.0", - "globby": "^11.0.4", - "gzip-size": "^6.0.0", - "immer": "^9.0.7", - "is-root": "^2.1.0", - "loader-utils": "^3.2.0", - "open": "^8.4.0", - "pkg-up": "^3.1.0", - "prompts": "^2.4.2", - "react-error-overlay": "^6.0.11", - "recursive-readdir": "^2.2.2", - "shell-quote": "^1.7.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/react-dev-utils/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/sshpk": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", + "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", + "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" }, - "engines": { - "node": ">=10" + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/react-dev-utils/node_modules/loader-utils": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz", - "integrity": "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==", "engines": { - "node": ">= 12.13.0" + "node": ">=0.10.0" } }, - "node_modules/react-dev-utils/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "node_modules/ssri": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "figgy-pudding": "^3.5.1" } }, - "node_modules/react-dev-utils/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" }, - "node_modules/react-dev-utils/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "node_modules/stack-utils": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", + "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", "dependencies": { - "p-limit": "^3.0.2" + "escape-string-regexp": "^2.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/react-dev-utils/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==", + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "engines": { "node": ">=8" } }, - "node_modules/react-dev-utils/node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "engines": { - "node": ">=10" + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/react-dom": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", - "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "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": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.2" + "is-descriptor": "^0.1.0" }, - "peerDependencies": { - "react": "^18.3.1" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/react-error-overlay": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", - "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" - }, - "node_modules/react-fast-compare": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", - "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==" - }, - "node_modules/react-helmet-async": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz", - "integrity": "sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==", + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", "dependencies": { - "@babel/runtime": "^7.12.5", - "invariant": "^2.2.4", - "prop-types": "^15.7.2", - "react-fast-compare": "^3.2.0", - "shallowequal": "^1.1.0" + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" }, - "peerDependencies": { - "react": "^16.6.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" + "engines": { + "node": ">= 0.4" } }, - "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-json-view-lite": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/react-json-view-lite/-/react-json-view-lite-1.5.0.tgz", - "integrity": "sha512-nWqA1E4jKPklL2jvHWs6s+7Na0qNgw9HCP6xehdQJeg6nPBTFZgGwyko9Q0oj+jQWKTTVRS30u0toM5wiuL3iw==", + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "engines": { - "node": ">=14" - }, - "peerDependencies": { - "react": "^16.13.1 || ^17.0.0 || ^18.0.0" + "node": ">= 0.8" } }, - "node_modules/react-loadable": { - "name": "@docusaurus/react-loadable", - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz", - "integrity": "sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==", + "node_modules/std-env": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-2.3.1.tgz", + "integrity": "sha512-eOsoKTWnr6C8aWrqJJ2KAReXoa7Vn5Ywyw6uCXgA/xDhxPoaIsBa5aNJmISY04dLwXPBnDHW4diGM7Sn5K4R/g==", "dependencies": { - "@types/react": "*" - }, - "peerDependencies": { - "react": "*" + "ci-info": "^3.1.1" } }, - "node_modules/react-loadable-ssr-addon-v5-slorber": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz", - "integrity": "sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==", - "dependencies": { - "@babel/runtime": "^7.10.3" - }, + "node_modules/std-env/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], "engines": { - "node": ">=10.13.0" - }, - "peerDependencies": { - "react-loadable": "*", - "webpack": ">=4.41.1 || 5.x" - } - }, - "node_modules/react-router": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", - "integrity": "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==", - "dependencies": { - "@babel/runtime": "^7.12.13", - "history": "^4.9.0", - "hoist-non-react-statics": "^3.1.0", - "loose-envify": "^1.3.1", - "path-to-regexp": "^1.7.0", - "prop-types": "^15.6.2", - "react-is": "^16.6.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" - }, - "peerDependencies": { - "react": ">=15" + "node": ">=8" } }, - "node_modules/react-router-config": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz", - "integrity": "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==", + "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==", "dependencies": { - "@babel/runtime": "^7.1.2" - }, - "peerDependencies": { - "react": ">=15", - "react-router": ">=5" + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" } }, - "node_modules/react-router-dom": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz", - "integrity": "sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==", + "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==", "dependencies": { - "@babel/runtime": "^7.12.13", - "history": "^4.9.0", - "loose-envify": "^1.3.1", - "prop-types": "^15.6.2", - "react-router": "5.3.4", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" - }, - "peerDependencies": { - "react": ">=15" + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" } }, - "node_modules/react-waypoint": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/react-waypoint/-/react-waypoint-10.3.0.tgz", - "integrity": "sha512-iF1y2c1BsoXuEGz08NoahaLFIGI9gTUAAOKip96HUmylRT6DUtpgoBPjk/Y8dfcFVmfVDvUzWjNXpZyKTOV0SQ==", + "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==", "dependencies": { - "@babel/runtime": "^7.12.5", - "consolidated-events": "^1.1.0 || ^2.0.0", - "prop-types": "^15.0.0", - "react-is": "^17.0.1 || ^18.0.0" - }, - "peerDependencies": { - "react": "^15.3.0 || ^16.0.0 || ^17.0.0 || ^18.0.0" + "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/react-waypoint/node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + "node_modules/stream-shift": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", + "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==" }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.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": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==", "engines": { - "node": ">= 6" + "node": ">=0.10.0" } }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "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": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" + "safe-buffer": "~5.1.0" } }, - "node_modules/reading-time": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz", - "integrity": "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==" + "node_modules/string_decoder/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/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dependencies": { - "resolve": "^1.1.6" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">= 0.10" + "node": ">=8" } }, - "node_modules/recma-build-jsx": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz", - "integrity": "sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==", - "dependencies": { - "@types/estree": "^1.0.0", - "estree-util-build-jsx": "^3.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "node_modules/string-width/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" } }, - "node_modules/recma-jsx": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/recma-jsx/-/recma-jsx-1.0.0.tgz", - "integrity": "sha512-5vwkv65qWwYxg+Atz95acp8DMu1JDSqdGkA2Of1j6rCreyFUE/gp15fC8MnGEuG1W68UKjM6x6+YTWIh7hZM/Q==", + "node_modules/string-width/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dependencies": { - "acorn-jsx": "^5.0.0", - "estree-util-to-js": "^2.0.0", - "recma-parse": "^1.0.0", - "recma-stringify": "^1.0.0", - "unified": "^11.0.0" + "ansi-regex": "^5.0.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=8" } }, - "node_modules/recma-parse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/recma-parse/-/recma-parse-1.0.0.tgz", - "integrity": "sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==", + "node_modules/string.prototype.trim": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", "dependencies": { - "@types/estree": "^1.0.0", - "esast-util-from-js": "^2.0.0", - "unified": "^11.0.0", - "vfile": "^6.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/recma-stringify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/recma-stringify/-/recma-stringify-1.0.0.tgz", - "integrity": "sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==", - "dependencies": { - "@types/estree": "^1.0.0", - "estree-util-to-js": "^2.0.0", - "unified": "^11.0.0", - "vfile": "^6.0.0" + "engines": { + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/recursive-readdir": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", - "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "node_modules/string.prototype.trimend": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", "dependencies": { - "minimatch": "^3.0.5" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, - "engines": { - "node": ">=6.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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==" - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", - "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", + "node_modules/string.prototype.trimstart": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", "dependencies": { - "regenerate": "^1.4.2" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" - }, - "node_modules/regenerator-transform": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", - "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", - "dependencies": { - "@babel/runtime": "^7.8.4" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/regexpu-core": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.1.1.tgz", - "integrity": "sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw==", + "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==", "dependencies": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.2.0", - "regjsgen": "^0.8.0", - "regjsparser": "^0.11.0", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" }, "engines": { "node": ">=4" } }, - "node_modules/registry-auth-token": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.2.tgz", - "integrity": "sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==", - "dependencies": { - "@pnpm/npm-conf": "^2.1.0" - }, + "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": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", "engines": { - "node": ">=14" + "node": ">=0.10.0" } }, - "node_modules/registry-url": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz", - "integrity": "sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==", - "dependencies": { - "rc": "1.2.8" - }, + "node_modules/stringify-object/node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==" - }, - "node_modules/regjsparser": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.11.2.tgz", - "integrity": "sha512-3OGZZ4HoLJkkAZx/48mTXJNlmqTGOzc0o9OWQPuWpkOlXXPbyN6OafCcoXUnBqE2D3f/T5L+pWc1kdEmnfnRsA==", + "node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", "dependencies": { - "jsesc": "~3.0.2" + "ansi-regex": "^2.0.0" }, - "bin": { - "regjsparser": "bin/parser" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/rehype-raw": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", - "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-raw": "^9.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "node_modules/strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/rehype-recma": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rehype-recma/-/rehype-recma-1.0.0.tgz", - "integrity": "sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==", + "node_modules/strip-comments": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-1.0.2.tgz", + "integrity": "sha512-kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw==", "dependencies": { - "@types/estree": "^1.0.0", - "@types/hast": "^3.0.0", - "hast-util-to-estree": "^3.0.0" + "babel-extract-comments": "^1.0.0", + "babel-plugin-transform-object-rest-spread": "^6.26.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=4" } }, - "node_modules/relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", "engines": { - "node": ">= 0.10" + "node": ">=0.10.0" } }, - "node_modules/remark-directive": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/remark-directive/-/remark-directive-3.0.0.tgz", - "integrity": "sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA==", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-directive": "^3.0.0", - "micromark-extension-directive": "^3.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "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/remark-emoji": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/remark-emoji/-/remark-emoji-4.0.1.tgz", - "integrity": "sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==", - "dependencies": { - "@types/mdast": "^4.0.2", - "emoticon": "^4.0.1", - "mdast-util-find-and-replace": "^3.0.1", - "node-emoji": "^2.1.0", - "unified": "^11.0.4" - }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=0.10.0" } }, - "node_modules/remark-frontmatter": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-5.0.0.tgz", - "integrity": "sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==", + "node_modules/striptags": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/striptags/-/striptags-3.1.1.tgz", + "integrity": "sha512-3HVl+cOkJOlNUDAYdoCAfGx/fzUzG53YvJAl3RYlTvAcBdPqSp1Uv4wrmHymm7oEypTijSQqcqplW8cz0/r/YA==" + }, + "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==", "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-frontmatter": "^2.0.0", - "micromark-extension-frontmatter": "^2.0.0", - "unified": "^11.0.0" + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/remark-gfm": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz", - "integrity": "sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==", + "node_modules/stylehacks/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/stylehacks/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-gfm": "^3.0.0", - "micromark-extension-gfm": "^3.0.0", - "remark-parse": "^11.0.0", - "remark-stringify": "^11.0.0", - "unified": "^11.0.0" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://opencollective.com/postcss/" } }, - "node_modules/remark-math": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/remark-math/-/remark-math-6.0.0.tgz", - "integrity": "sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA==", + "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==", "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-math": "^3.0.0", - "micromark-extension-math": "^3.0.0", - "unified": "^11.0.0" + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=8" } }, - "node_modules/remark-mdx": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.1.0.tgz", - "integrity": "sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA==", + "node_modules/stylus": { + "version": "0.54.8", + "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.8.tgz", + "integrity": "sha512-vr54Or4BZ7pJafo2mpf0ZcwA74rpuYCZbxrHBsH8kbcXOwSfvBFwsRfpGO5OD5fhG5HDCFW737PKaawI7OqEAg==", "dependencies": { - "mdast-util-mdx": "^3.0.0", - "micromark-extension-mdxjs": "^3.0.0" + "css-parse": "~2.0.0", + "debug": "~3.1.0", + "glob": "^7.1.6", + "mkdirp": "~1.0.4", + "safer-buffer": "^2.1.2", + "sax": "~1.2.4", + "semver": "^6.3.0", + "source-map": "^0.7.3" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "bin": { + "stylus": "bin/stylus" + }, + "engines": { + "node": "*" } }, - "node_modules/remark-parse": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", - "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "node_modules/stylus-loader": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-3.0.2.tgz", + "integrity": "sha512-+VomPdZ6a0razP+zinir61yZgpw2NfljeSsdUF5kJuEzlo3khXhY19Fn6l8QQz1GRJGtMCo8nG5C04ePyV7SUA==", "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-from-markdown": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unified": "^11.0.0" + "loader-utils": "^1.0.2", + "lodash.clonedeep": "^4.5.0", + "when": "~3.6.x" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "peerDependencies": { + "stylus": ">=0.52.4" } }, - "node_modules/remark-rehype": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.1.tgz", - "integrity": "sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==", + "node_modules/stylus/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "mdast-util-to-hast": "^13.0.0", - "unified": "^11.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "ms": "2.0.0" } }, - "node_modules/remark-stringify": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", - "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-to-markdown": "^2.0.0", - "unified": "^11.0.0" + "node_modules/stylus/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=10" } }, - "node_modules/renderkid": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", - "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", - "dependencies": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^6.0.1" - } + "node_modules/stylus/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, - "node_modules/renderkid/node_modules/css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "node_modules/stylus/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "engines": { + "node": ">= 8" } }, - "node_modules/renderkid/node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "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": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" + "has-flag": "^3.0.0" }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + "engines": { + "node": ">=4" } }, - "node_modules/renderkid/node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "dependencies": { - "domelementtype": "^2.2.0" - }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "engines": { - "node": ">= 4" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/renderkid/node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" + "node_modules/svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==" + }, + "node_modules/svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", + "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" }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=4.0.0" } }, - "node_modules/renderkid/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "node_modules/symbol-observable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/renderkid/node_modules/htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" + "node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "engines": { + "node": ">=6" } }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "node_modules/term-size": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", + "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==", "engines": { - "node": ">=0.10" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "node_modules/terser": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", + "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "bin": { + "terser": "bin/terser" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6.0.0" } }, - "node_modules/require-like": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz", - "integrity": "sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==", + "node_modules/terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "dependencies": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, "engines": { - "node": "*" + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" } }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" - }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "node_modules/terser-webpack-plugin/node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" }, - "bin": { - "resolve": "bin/resolve" + "engines": { + "node": ">=6" + } + }, + "node_modules/terser-webpack-plugin/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dependencies": { + "locate-path": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=6" } }, - "node_modules/resolve-alpn": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" - }, - "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==", + "node_modules/terser-webpack-plugin/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/resolve-pathname": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", - "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" + "node_modules/terser-webpack-plugin/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } }, - "node_modules/responselike": { + "node_modules/terser-webpack-plugin/node_modules/p-locate": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", - "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dependencies": { - "lowercase-keys": "^3.0.0" + "p-limit": "^2.0.0" }, "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, - "node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "node_modules/terser-webpack-plugin/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "engines": { - "node": ">= 4" + "node": ">=4" } }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "node_modules/terser-webpack-plugin/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", + "node_modules/terser-webpack-plugin/node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "find-up": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=6" } }, - "node_modules/rtl-detect": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.1.2.tgz", - "integrity": "sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ==" - }, - "node_modules/rtlcss": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-4.3.0.tgz", - "integrity": "sha512-FI+pHEn7Wc4NqKXMXFM+VAYKEj/mRIcW4h24YVwVtyjI+EqGrLc2Hx/Ny0lrZ21cBWU2goLy36eqMcNj3AQJig==", + "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==", "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0", - "postcss": "^8.4.21", - "strip-json-comments": "^3.1.1" - }, - "bin": { - "rtlcss": "bin/rtlcss.js" + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" }, "engines": { - "node": ">=12.0.0" + "node": ">= 4" } }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" + "node_modules/terser-webpack-plugin/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" } }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "node_modules/throttleit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.1.tgz", + "integrity": "sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/sax": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", - "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==" + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" }, - "node_modules/scheduler": { - "version": "0.23.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", - "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "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": { - "loose-envify": "^1.1.0" + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" } }, - "node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + }, + "node_modules/timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" + "setimmediate": "^1.0.4" }, "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">=0.6.0" } }, - "node_modules/search-insights": { - "version": "2.17.3", - "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.17.3.tgz", - "integrity": "sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==", - "peer": true + "node_modules/timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==" }, - "node_modules/section-matter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", - "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", - "dependencies": { - "extend-shallow": "^2.0.1", - "kind-of": "^6.0.0" - }, + "node_modules/tmp": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", + "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", + "dev": true, "engines": { - "node": ">=4" + "node": ">=14.14" } }, - "node_modules/select-hose": { + "node_modules/to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==" + }, + "node_modules/to-factory": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-factory/-/to-factory-1.0.0.tgz", + "integrity": "sha512-JVYrY42wMG7ddf+wBUQR/uHGbjUHZbLisJ8N62AMm0iTZ0p8YTcZLzdtomU0+H+wa99VbkyvQGB3zxB7NDzgIQ==" + }, + "node_modules/to-fast-properties": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "engines": { + "node": ">=4" + } }, - "node_modules/selfsigned": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", - "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "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": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", "dependencies": { - "@types/node-forge": "^1.3.0", - "node-forge": "^1" + "kind-of": "^3.0.2" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "bin": { - "semver": "bin/semver.js" + "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": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dependencies": { + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/semver-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz", - "integrity": "sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==", - "dependencies": { - "semver": "^7.3.5" - }, + "node_modules/to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, - "node_modules/send": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", - "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "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==", "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=0.10.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==", + "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": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "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": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/send/node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, "engines": { - "node": ">= 0.8" + "node": ">=0.10.0" } }, - "node_modules/send/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==", + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dependencies": { - "randombytes": "^2.1.0" + "node": ">=0.6" } }, - "node_modules/serve-handler": { - "version": "6.1.6", - "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.6.tgz", - "integrity": "sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==", - "dependencies": { - "bytes": "3.0.0", - "content-disposition": "0.5.2", - "mime-types": "2.1.18", - "minimatch": "3.1.2", - "path-is-inside": "1.0.2", - "path-to-regexp": "3.3.0", - "range-parser": "1.2.0" - } + "node_modules/toml": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/toml/-/toml-3.0.0.tgz", + "integrity": "sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==" }, - "node_modules/serve-handler/node_modules/path-to-regexp": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.3.0.tgz", - "integrity": "sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==" + "node_modules/toposort": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", + "integrity": "sha512-FclLrw8b9bMWf4QlCJuHBEVhSRsqDj6u3nIjAzPeJvgl//1hBlffdlk0MALceL14+koWEdU4ofRAXofbODxQzg==" }, - "node_modules/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "node_modules/tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "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" + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" }, "engines": { - "node": ">= 0.8.0" + "node": ">=6" } }, - "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==", - "dependencies": { - "ms": "2.0.0" + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" } }, - "node_modules/serve-index/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "engines": { - "node": ">= 0.6" + "node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "dependencies": { + "punycode": "^2.1.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": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==" + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" + "safe-buffer": "^5.0.1" }, "engines": { - "node": ">= 0.6" + "node": "*" } }, - "node_modules/serve-index/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" - }, - "node_modules/serve-index/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "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==" + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" }, - "node_modules/serve-index/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "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==", "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/serve-static": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", - "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "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==", "dependencies": { - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.19.0" + "media-typer": "0.3.0", + "mime-types": "~2.1.24" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 0.6" } }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "node_modules/typed-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", "dependencies": { - "define-data-property": "^1.1.4", + "call-bind": "^1.0.7", "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" } }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "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==", + "node_modules/typed-array-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", "dependencies": { - "kind-of": "^6.0.2" + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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/sharp": { - "version": "0.32.6", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz", - "integrity": "sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==", - "hasInstallScript": true, + "node_modules/typed-array-byte-offset": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", "dependencies": { - "color": "^4.2.3", - "detect-libc": "^2.0.2", - "node-addon-api": "^6.1.0", - "prebuild-install": "^7.1.1", - "semver": "^7.5.4", - "simple-get": "^4.0.1", - "tar-fs": "^3.0.4", - "tunnel-agent": "^0.6.0" + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" }, "engines": { - "node": ">=14.15.0" + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/libvips" + "url": "https://github.com/sponsors/ljharb" } }, - "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==", + "node_modules/typed-array-length": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.5.tgz", + "integrity": "sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA==", "dependencies": { - "shebang-regex": "^3.0.0" + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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==", - "engines": { - "node": ">=8" - } + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" }, - "node_modules/shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dependencies": { + "is-typedarray": "^1.0.0" } }, - "node_modules/shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "node_modules/uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" + }, + "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==", "dependencies": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" + "commander": "~2.19.0", + "source-map": "~0.6.1" }, "bin": { - "shjs": "bin/shjs" + "uglifyjs": "bin/uglifyjs" }, "engines": { - "node": ">=4" + "node": ">=0.8.0" } }, - "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "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==" + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" - }, - "engines": { - "node": ">= 0.4" + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "node_modules/simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" }, - "node_modules/simple-get": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", - "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "decompress-response": "^6.0.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "engines": { + "node": ">=4" } }, - "node_modules/simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dependencies": { - "is-arrayish": "^0.3.1" + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "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==" - }, - "node_modules/sirv": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", - "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", - "dependencies": { - "@polka/url": "^1.0.0-next.24", - "mrmime": "^2.0.0", - "totalist": "^3.0.0" - }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", "engines": { - "node": ">= 10" + "node": ">=4" } }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "engines": { + "node": ">=4" + } }, - "node_modules/sitemap": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.2.tgz", - "integrity": "sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw==", + "node_modules/union": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz", + "integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==", + "dev": true, "dependencies": { - "@types/node": "^17.0.5", - "@types/sax": "^1.2.1", - "arg": "^5.0.0", - "sax": "^1.2.4" - }, - "bin": { - "sitemap": "dist/cli.js" + "qs": "^6.4.0" }, "engines": { - "node": ">=12.0.0", - "npm": ">=5.6.0" + "node": ">= 0.8.0" } }, - "node_modules/sitemap/node_modules/@types/node": { - "version": "17.0.45", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", - "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==" - }, - "node_modules/skin-tone": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz", - "integrity": "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==", + "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==", "dependencies": { - "unicode-emoji-modifier-base": "^1.0.0" + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "node_modules/union-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/snake-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", - "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "node_modules/uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==" + }, + "node_modules/uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha512-mZdDpf3vBV5Efh29kMw5tXoup/buMgxLzOt/XKFKcVmi+15ManNQWr6HfZ2aiZTYlYixbdNJ0KFmIZIv52tHSQ==" + }, + "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==", "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" + "unique-slug": "^2.0.0" } }, - "node_modules/sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", "dependencies": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" + "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==", + "dependencies": { + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/sort-css-media-queries": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.2.0.tgz", - "integrity": "sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==", + "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==", "engines": { - "node": ">= 6.3.0" + "node": ">= 4.0.0" } }, - "node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "engines": { - "node": ">= 8" + "node": ">= 0.8" } }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "node_modules/unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "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": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", "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==", + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/space-separated-tokens": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", - "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "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": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", "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" + "isarray": "1.0.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=0.10.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==", - "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/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "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": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "node_modules/srcset": { + "node_modules/untildify": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz", - "integrity": "sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", "engines": { - "node": ">= 0.8" + "node": ">=4", + "yarn": "*" } }, - "node_modules/std-env": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.8.0.tgz", - "integrity": "sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==" - }, - "node_modules/streamx": { - "version": "2.20.2", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.20.2.tgz", - "integrity": "sha512-aDGDLU+j9tJcUdPGOaHmVF1u/hhI+CsGkT02V3OKlHDV7IukOI+nTWAGkiZEKCO35rWN1wIr4tS7YFr1f4qSvA==", + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "fast-fifo": "^1.3.2", - "queue-tick": "^1.0.1", - "text-decoder": "^1.1.0" + "escalade": "^3.1.1", + "picocolors": "^1.0.0" }, - "optionalDependencies": { - "bare-events": "^2.2.0" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, - "node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "node_modules/update-notifier": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.3.tgz", + "integrity": "sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==", + "dependencies": { + "boxen": "^4.2.0", + "chalk": "^3.0.0", + "configstore": "^5.0.1", + "has-yarn": "^2.1.0", + "import-lazy": "^2.1.0", + "is-ci": "^2.0.0", + "is-installed-globally": "^0.3.1", + "is-npm": "^4.0.0", + "is-yarn-global": "^0.3.0", + "latest-version": "^5.0.0", + "pupa": "^2.0.1", + "semver-diff": "^3.1.1", + "xdg-basedir": "^4.0.0" }, "engines": { - "node": ">=12" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/yeoman/update-notifier?sponsor=1" } }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "node_modules/update-notifier/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=12" + "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "node_modules/update-notifier/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dependencies": { - "ansi-regex": "^6.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": ">=8" } }, - "node_modules/stringify-entities": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", - "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "node_modules/update-notifier/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==", "dependencies": { - "character-entities-html4": "^2.0.0", - "character-entities-legacy": "^3.0.0" + "color-name": "~1.1.4" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "engines": { + "node": ">=7.0.0" } }, - "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==", - "dependencies": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - }, + "node_modules/update-notifier/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==" + }, + "node_modules/update-notifier/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==", "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/update-notifier/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==", "dependencies": { - "ansi-regex": "^5.0.1" + "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/strip-bom-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", - "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", - "engines": { - "node": ">=0.10.0" + "node_modules/upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==" + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.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==", - "engines": { - "node": ">=6" + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "deprecated": "Please see https://github.com/lydell/urix#deprecated" + }, + "node_modules/url": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz", + "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==", + "dependencies": { + "punycode": "^1.4.1", + "qs": "^6.11.2" } }, - "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==", + "node_modules/url-join": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-2.0.5.tgz", + "integrity": "sha512-c2H1fIgpUdwFRIru9HFno5DT73Ok8hg5oOb5AT3ayIgvCRfxgs2jyt5Slw8kEB7j3QUr6yJmMPDT/odjk7jXow==", + "dev": true + }, + "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==", + "dependencies": { + "loader-utils": "^1.1.0", + "mime": "^2.0.3", + "schema-utils": "^1.0.0" + }, "engines": { - "node": ">=8" + "node": ">= 6.9.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "webpack": "^3.0.0 || ^4.0.0" } }, - "node_modules/style-to-object": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.8.tgz", - "integrity": "sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==", - "dependencies": { - "inline-style-parser": "0.2.4" + "node_modules/url-loader/node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" } }, - "node_modules/stylehacks": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.1.1.tgz", - "integrity": "sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==", + "node_modules/url-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==", "dependencies": { - "browserslist": "^4.23.0", - "postcss-selector-parser": "^6.0.16" + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">= 4" } }, - "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==", + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", "dependencies": { - "has-flag": "^4.0.0" + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==", + "dependencies": { + "prepend-http": "^2.0.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "node_modules/url/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + }, + "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==", "engines": { - "node": ">= 0.4" + "node": ">=0.10.0" + } + }, + "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==", + "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": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "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==", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/svg-parser": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" }, - "node_modules/svgo": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", - "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", - "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^5.1.0", - "css-tree": "^2.3.1", - "css-what": "^6.1.0", - "csso": "^5.0.5", - "picocolors": "^1.0.0" - }, - "bin": { - "svgo": "bin/svgo" - }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", "engines": { - "node": ">=14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/svgo" + "node": ">= 0.4.0" } }, - "node_modules/svgo/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "engines": { - "node": ">= 10" + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" } }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "engines": { - "node": ">=6" + "node": ">= 0.8" + } + }, + "node_modules/vendors": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/tar-fs": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.6.tgz", - "integrity": "sha512-iokBDQQkUyeXhgPYaZxmczGPhnhXZ0CmrqI+MOb/WFGS9DW5wnfrLgtjUJBvz50vQ3qfRwJ62QVoCFu8mPVu5w==", + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "engines": [ + "node >=0.6.0" + ], "dependencies": { - "pump": "^3.0.0", - "tar-stream": "^3.1.5" - }, - "optionalDependencies": { - "bare-fs": "^2.1.1", - "bare-path": "^2.1.0" + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" } }, - "node_modules/tar-stream": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", - "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", + "node_modules/verror/node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + }, + "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==" + }, + "node_modules/vssue": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/vssue/-/vssue-1.4.8.tgz", + "integrity": "sha512-Stp0CxF65Uv658qgYUgYKEDiWM8wskUfKCOT9ISJwz/Qn58N050vYnFYClnUXG060ZQi1YQxkTCuJAw8ee3YlQ==", "dependencies": { - "b4a": "^1.6.4", - "fast-fifo": "^1.2.0", - "streamx": "^2.15.0" + "@vssue/utils": "^1.4.7", + "github-markdown-css": "^3.0.1", + "vue": "^2.6.10", + "vue-i18n": "^8.11.2", + "vue-property-decorator": "^8.1.1" } }, - "node_modules/terser": { - "version": "5.36.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.36.0.tgz", - "integrity": "sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==", + "node_modules/vue": { + "version": "2.7.16", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.7.16.tgz", + "integrity": "sha512-4gCtFXaAA3zYZdTp5s4Hl2sozuySsgz4jy1EnpBHNfpMa9dK1ZCG7viqBPCwXtmgc8nHqUsAu3G4gtmXkkY3Sw==", + "deprecated": "Vue 2 has reached EOL and is no longer actively maintained. See https://v2.vuejs.org/eol/ for more details.", "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" + "@vue/compiler-sfc": "2.7.16", + "csstype": "^3.1.0" } }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.10", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", - "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "node_modules/vue-class-component": { + "version": "7.2.6", + "resolved": "https://registry.npmjs.org/vue-class-component/-/vue-class-component-7.2.6.tgz", + "integrity": "sha512-+eaQXVrAm/LldalI272PpDe3+i4mPis0ORiMYxF6Ae4hyuCh15W8Idet7wPUEs4N4YptgFHGys4UrgNQOMyO6w==", + "peerDependencies": { + "vue": "^2.0.0" + } + }, + "node_modules/vue-disqus": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/vue-disqus/-/vue-disqus-3.0.5.tgz", + "integrity": "sha512-T3Y68lXf5W2lYt6j4Y3kZ4opLPH0EAzqriy11MS4D4Q2+UN0tFuUXeYP1MxfvdyaCEboXSM6CUswxsULuNV70Q==" + }, + "node_modules/vue-feather-icons": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/vue-feather-icons/-/vue-feather-icons-4.22.0.tgz", + "integrity": "sha512-ZG8FSFPUYoNet9jjXJFLiTnEH8eCp5Pj0FchtxjTPP6D4qPfcbFFnKDusT+xDj/0zilnuVCLVn/GAghs7k5fCg==", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.20", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.26.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "babel-helper-vue-jsx-merge-props": "^2.0.2" + } + }, + "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==" + }, + "node_modules/vue-i18n": { + "version": "8.28.2", + "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-8.28.2.tgz", + "integrity": "sha512-C5GZjs1tYlAqjwymaaCPDjCyGo10ajUphiwA922jKt9n7KPpqR7oM1PCwYzhB/E7+nT3wfdG3oRre5raIT1rKA==" + }, + "node_modules/vue-loader": { + "version": "15.11.1", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.11.1.tgz", + "integrity": "sha512-0iw4VchYLePqJfJu9s62ACWUXeSqM30SQqlIftbYWM3C+jpPcEHKSPUZBLjSF9au4HTHQ/naF6OGnO3Q/qGR3Q==", + "dependencies": { + "@vue/component-compiler-utils": "^3.1.0", + "hash-sum": "^1.0.2", + "loader-utils": "^1.1.0", + "vue-hot-reload-api": "^2.3.0", + "vue-style-loader": "^4.1.0" }, "peerDependencies": { - "webpack": "^5.1.0" + "css-loader": "*", + "webpack": "^3.0.0 || ^4.1.0 || ^5.0.0-0" }, "peerDependenciesMeta": { - "@swc/core": { + "cache-loader": { "optional": true }, - "esbuild": { + "prettier": { "optional": true }, - "uglify-js": { + "vue-template-compiler": { "optional": true } } }, - "node_modules/terser-webpack-plugin/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/vue-property-decorator": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/vue-property-decorator/-/vue-property-decorator-8.5.1.tgz", + "integrity": "sha512-O6OUN2OMsYTGPvgFtXeBU3jPnX5ffQ9V4I1WfxFQ6dqz6cOUbR3Usou7kgFpfiXDvV7dJQSFcJ5yUPgOtPPm1Q==", "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" + "vue-class-component": "^7.1.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/terser-webpack-plugin/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==", "peerDependencies": { - "ajv": "^6.9.1" + "vue": "*" } }, - "node_modules/terser-webpack-plugin/node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "node_modules/vue-router": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.6.5.tgz", + "integrity": "sha512-VYXZQLtjuvKxxcshuRAwjHnciqZVoXAjTjcqBTz4rKc8qih9g9pI3hbDjmqXaHdgL3v8pV6P8Z335XvHzESxLQ==" + }, + "node_modules/vue-server-renderer": { + "version": "2.7.16", + "resolved": "https://registry.npmjs.org/vue-server-renderer/-/vue-server-renderer-2.7.16.tgz", + "integrity": "sha512-U7GgR4rYmHmbs3Z2gqsasfk7JNuTsy/xrR5EMMGRLkjN8+ryDlqQq6Uu3DcmbCATAei814YOxyl0eq2HNqgXyQ==", "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" + "chalk": "^4.1.2", + "hash-sum": "^2.0.0", + "he": "^1.2.0", + "lodash.template": "^4.5.0", + "lodash.uniq": "^4.5.0", + "resolve": "^1.22.0", + "serialize-javascript": "^6.0.0", + "source-map": "0.5.6" } }, - "node_modules/terser-webpack-plugin/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==" - }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "node_modules/vue-server-renderer/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "color-convert": "^2.0.1" }, "engines": { - "node": ">= 10.13.0" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/terser-webpack-plugin/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/vue-server-renderer/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { - "has-flag": "^4.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/text-decoder": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.1.tgz", - "integrity": "sha512-x9v3H/lTKIJKQQe7RPQkLfKAnc9lUTkWDypIQgTzPJAq+5/GCDHonmshfvlsNSj58yyshbIJJDLmU15qNERrXQ==" - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" - }, - "node_modules/thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" - }, - "node_modules/tiny-invariant": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", - "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==" - }, - "node_modules/tiny-warning": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", - "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" - }, - "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==", + "node_modules/vue-server-renderer/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==", "dependencies": { - "is-number": "^7.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=8.0" + "node": ">=7.0.0" } }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "engines": { - "node": ">=0.6" - } + "node_modules/vue-server-renderer/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==" }, - "node_modules/totalist": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", - "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "node_modules/vue-server-renderer/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==", "engines": { - "node": ">=6" - } - }, - "node_modules/trim-lines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", - "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/trough": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", - "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node": ">=8" } }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + "node_modules/vue-server-renderer/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==" }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "node_modules/vue-server-renderer/node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" + "randombytes": "^2.1.0" } }, - "node_modules/type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "node_modules/vue-server-renderer/node_modules/source-map": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==", "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "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==", + "node_modules/vue-server-renderer/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==", "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 0.6" - } - }, - "node_modules/type-is/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/type-is/node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "node_modules/vue-style-loader": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.3.tgz", + "integrity": "sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==", "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" + "hash-sum": "^1.0.2", + "loader-utils": "^1.0.2" } }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "node_modules/vue-template-compiler": { + "version": "2.7.16", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz", + "integrity": "sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==", "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typescript": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", - "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" + "de-indent": "^1.0.2", + "he": "^1.2.0" } }, - "node_modules/undici-types": { - "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==" + "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==" }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", - "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", - "engines": { - "node": ">=4" - } + "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/unicode-emoji-modifier-base": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz", - "integrity": "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==", + "node_modules/vuepress": { + "version": "1.9.10", + "resolved": "https://registry.npmjs.org/vuepress/-/vuepress-1.9.10.tgz", + "integrity": "sha512-UnGm9vjQvG918SZVNvgiUlNimLqawdYPq0aPRXDpEB1VksvqegVFy/GKdA8ShXJaEpOMPSt7YD4uK21jaMs3kA==", + "hasInstallScript": true, + "dependencies": { + "@vuepress/core": "1.9.10", + "@vuepress/theme-default": "1.9.10", + "@vuepress/types": "1.9.10", + "cac": "^6.5.6", + "envinfo": "^7.2.0", + "opencollective-postinstall": "^2.0.2", + "update-notifier": "^4.0.0" + }, + "bin": { + "vuepress": "cli.js" + }, "engines": { - "node": ">=4" + "node": ">=8.6" } }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "node_modules/vuepress-html-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/vuepress-html-webpack-plugin/-/vuepress-html-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-BebAEl1BmWlro3+VyDhIOCY6Gef2MCBllEVAP3NUAtMguiyOwo/dClbwJ167WYmcxHJKLl7b0Chr9H7fpn1d0A==", "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" + "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": ">=4" + "node": ">=6.9" + }, + "peerDependencies": { + "webpack": "^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0" } }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", - "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", + "node_modules/vuepress-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==", "engines": { - "node": ">=4" + "node": "*" } }, - "node_modules/unicode-property-aliases-ecmascript": { + "node_modules/vuepress-html-webpack-plugin/node_modules/emojis-list": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha512-knHEZMgs8BB+MInokmNTg/OyPlAddghe1YBgNwJBc5zsJi/uyIcXoSDsL/W9ymOsBoBGdPIHXYJ9+qKFwRwDng==", "engines": { - "node": ">=4" + "node": ">= 0.10" } }, - "node_modules/unified": { - "version": "11.0.5", - "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", - "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", - "dependencies": { - "@types/unist": "^3.0.0", - "bail": "^2.0.0", - "devlop": "^1.0.0", - "extend": "^3.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "node_modules/vuepress-html-webpack-plugin/node_modules/json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==", + "bin": { + "json5": "lib/cli.js" } }, - "node_modules/unique-string": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", - "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", + "node_modules/vuepress-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": "sha512-tiv66G0SmiOx+pLWMtGEkfSEejxvb6N6uRrQjfWJIT79W9GMpgKeCAmm9aVBKtd4WEgntciI8CsGqjpDoCWJug==", "dependencies": { - "crypto-random-string": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" } }, - "node_modules/unist-util-is": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", - "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "node_modules/vuepress-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==", "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" } }, - "node_modules/unist-util-position": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", - "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } + "node_modules/vuepress-plugin-clean-urls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vuepress-plugin-clean-urls/-/vuepress-plugin-clean-urls-1.1.2.tgz", + "integrity": "sha512-36r6XT9stybGSL9zHfFM6F+EBOF9rRDzGdNeias3AmU3AH5+DqsciMjRpHfecKXDKeVcc0PlNfG1Tf19CW5MzA==" }, - "node_modules/unist-util-position-from-estree": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz", - "integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==", + "node_modules/vuepress-plugin-code-copy": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/vuepress-plugin-code-copy/-/vuepress-plugin-code-copy-1.0.6.tgz", + "integrity": "sha512-FiqwMtlb4rEsOI56O6sSkekcd3SlESxbkR2IaTIQxsMOMoalKfW5R9WlR1Pjm10v6jmU661Ex8MR11k9IzrNUg==" + }, + "node_modules/vuepress-plugin-code-switcher": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vuepress-plugin-code-switcher/-/vuepress-plugin-code-switcher-1.1.0.tgz", + "integrity": "sha512-En6bhztg1m6TdzswclJ1WKylTyOYb56ghxvSit5by2/Xnpd6zIs4Ec/i6f7cmLRmNAuKzoB3r6+576i32L7BPQ==", "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "@vuepress/plugin-register-components": "^1.8.0" } }, - "node_modules/unist-util-remove-position": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", - "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", + "node_modules/vuepress-plugin-container": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/vuepress-plugin-container/-/vuepress-plugin-container-2.1.5.tgz", + "integrity": "sha512-TQrDX/v+WHOihj3jpilVnjXu9RcTm6m8tzljNJwYhxnJUW0WWQ0hFLcDTqTBwgKIFdEiSxVOmYE+bJX/sq46MA==", "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-visit": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "@vuepress/shared-utils": "^1.2.0", + "markdown-it-container": "^2.0.0" } }, - "node_modules/unist-util-stringify-position": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", - "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "node_modules/vuepress-plugin-dehydrate": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/vuepress-plugin-dehydrate/-/vuepress-plugin-dehydrate-1.1.5.tgz", + "integrity": "sha512-9F2x1vLCK4poPUMkLupD4HsgWdbZ68Escvma+DE1Dk6aAJdH5FGwmfOMxj4sMCBwz7S4s6bTMna+QQgD3+bzBA==", "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "@vuepress/shared-utils": "^1.2.0" } }, - "node_modules/unist-util-visit": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", - "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "node_modules/vuepress-plugin-disqus": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/vuepress-plugin-disqus/-/vuepress-plugin-disqus-0.2.0.tgz", + "integrity": "sha512-kx+AeVzjJ9lx9bufLt1/X35V1VXfnQ1srkDMIzFKD9NyQ3eycsWQRcGO1dFe1HMrY3+7fTu+1/JeUEUEpGZ5tw==", "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "vue-disqus": "^3.0.5" } }, - "node_modules/unist-util-visit-parents": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", - "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "node_modules/vuepress-plugin-feed": { + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/vuepress-plugin-feed/-/vuepress-plugin-feed-0.1.9.tgz", + "integrity": "sha512-iOJkR7zPmJAX0TEVdxNsUT07xNQB6lZFpU7DqsYzO01FhaPkMOOVM5Vx5a/iOOuOggAeoI9H9yuah+cRmCImlw==", "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0" + "feed": "2.0.4", + "lodash.defaultsdeep": "4.6.1", + "lodash.isempty": "4.4.0", + "lodash.trimend": "^4.5.1", + "lodash.trimstart": "^4.5.1", + "remove-markdown": "0.3.0", + "striptags": "3.1.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "engines": { - "node": ">= 0.8" + "node": ">=8" + }, + "peerDependencies": { + "vuepress": "1.x" } }, - "node_modules/update-browserslist-db": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", - "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "node_modules/vuepress-plugin-fulltext-search": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vuepress-plugin-fulltext-search/-/vuepress-plugin-fulltext-search-2.2.1.tgz", + "integrity": "sha512-+BOLOdOTvwg7+4z71fmpuZUaHSw+exrw8S9m0kvBUgIVDoe5VS/G3y4hcd+K1hukbkxE/ec10Ikk8hc/3zf2VQ==", "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.0" - }, - "bin": { - "update-browserslist-db": "cli.js" + "flexsearch": "^0.6.32", + "html-to-text": "^7.0.0", + "lodash": "^4.17.19" }, "peerDependencies": { - "browserslist": ">= 4.21.0" + "vuepress": "^1.4.0" } }, - "node_modules/update-notifier": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-6.0.2.tgz", - "integrity": "sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==", - "dependencies": { - "boxen": "^7.0.0", - "chalk": "^5.0.1", - "configstore": "^6.0.0", - "has-yarn": "^3.0.0", - "import-lazy": "^4.0.0", - "is-ci": "^3.0.1", - "is-installed-globally": "^0.4.0", - "is-npm": "^6.0.0", - "is-yarn-global": "^0.4.0", - "latest-version": "^7.0.0", - "pupa": "^3.1.0", - "semver": "^7.3.7", - "semver-diff": "^4.0.0", - "xdg-basedir": "^5.1.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/yeoman/update-notifier?sponsor=1" + "node_modules/vuepress-plugin-glossary": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/vuepress-plugin-glossary/-/vuepress-plugin-glossary-1.0.2.tgz", + "integrity": "sha512-hyP5UV2vBj9rsFK8GeVYjS+jEGFqOjFEAns0EG95pKqimZJMKzKn0RZ3hfcx4Ty1BhUW9//00KIRbqjxK6DweA==", + "dependencies": { + "markdown-it-regexp": "^0.4.0" } }, - "node_modules/update-notifier/node_modules/boxen": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz", - "integrity": "sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==", + "node_modules/vuepress-plugin-mailchimp": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/vuepress-plugin-mailchimp/-/vuepress-plugin-mailchimp-1.4.2.tgz", + "integrity": "sha512-4t5ZaKZXu5ZkwgE+WW//7CgXgz6DEhRefGrO5aql4PwapauNXlHKgQ2JMf9FRe5y5WHjNpDHYveEDNzISZmxJw==", "dependencies": { - "ansi-align": "^3.0.1", - "camelcase": "^7.0.1", - "chalk": "^5.2.0", - "cli-boxes": "^3.0.0", - "string-width": "^5.1.2", - "type-fest": "^2.13.0", - "widest-line": "^4.0.1", - "wrap-ansi": "^8.1.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "jsonp": "^0.2.1", + "query-string": "^6.9.0" } }, - "node_modules/update-notifier/node_modules/camelcase": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", - "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", + "node_modules/vuepress-plugin-mailchimp/node_modules/query-string": { + "version": "6.14.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz", + "integrity": "sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==", + "dependencies": { + "decode-uri-component": "^0.2.0", + "filter-obj": "^1.1.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + }, "engines": { - "node": ">=14.16" + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/update-notifier/node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "node_modules/vuepress-plugin-mailchimp/node_modules/strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==", "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=4" } }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "node_modules/vuepress-plugin-reading-progress": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/vuepress-plugin-reading-progress/-/vuepress-plugin-reading-progress-1.0.10.tgz", + "integrity": "sha512-7OxcjNEDf9gqFTns0YnXrqPnTRlX6wvxWFr7D8tlfyMPpsZwJkh/MkJveRrEaKcU0gk8QGmPHnXLAZ3soTThVg==" + }, + "node_modules/vuepress-plugin-redirect": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/vuepress-plugin-redirect/-/vuepress-plugin-redirect-1.2.5.tgz", + "integrity": "sha512-4RAWTVite154Tv7rUJEqWZ4fZtVXwKKoFOa2zY0Esn7cLi3Om2A+Pa2U84tBgPd90v2R7KEOy9jLEVphbsPK7g==", + "deprecated": "Please use @vuepress/plugin-redirect@v2 instead", "dependencies": { - "punycode": "^2.1.0" + "@shigma/stringify-object": "^3.3.0", + "vuepress-plugin-dehydrate": "1.1.5" } }, - "node_modules/url-loader": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", - "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", + "node_modules/vuepress-plugin-sitemap": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/vuepress-plugin-sitemap/-/vuepress-plugin-sitemap-2.3.1.tgz", + "integrity": "sha512-n+8lbukhrKrsI9H/EX0EBgkE1pn85LAQFvQ5dIvrZP4Kz6JxPOPPNTQmZMhahQV1tXbLZQCEN7A1WZH4x+arJQ==", "dependencies": { - "loader-utils": "^2.0.0", - "mime-types": "^2.1.27", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" + "sitemap": "^3.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "bin": { + "vuepress-sitemap": "cli.js" }, "peerDependencies": { - "file-loader": "*", - "webpack": "^4.0.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "file-loader": { - "optional": true - } + "chalk": "^2.0.0", + "commander": "^2.0.0", + "esm": "^3.0.0" } }, - "node_modules/url-loader/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/vuepress-plugin-smooth-scroll": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/vuepress-plugin-smooth-scroll/-/vuepress-plugin-smooth-scroll-0.0.9.tgz", + "integrity": "sha512-UXX+HLZO1NKVwyiOJlj0smh8F9dKnwybjEi7w/Mj9EYLhKrNYr5uXs+N+OTt8VwKCn3f0vZ1XAwFIjsPlD7GJA==", "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" + "smoothscroll-polyfill": "^0.4.4" } }, - "node_modules/url-loader/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==", - "peerDependencies": { - "ajv": "^6.9.1" + "node_modules/watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "dependencies": { + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + }, + "optionalDependencies": { + "chokidar": "^3.4.1", + "watchpack-chokidar2": "^2.0.1" } }, - "node_modules/url-loader/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==" + "node_modules/watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "optional": true, + "dependencies": { + "chokidar": "^2.1.8" + } }, - "node_modules/url-loader/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "node_modules/watchpack/node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "optional": true, "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/url-loader/node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "node_modules/watchpack/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "optional": true, "dependencies": { - "mime-db": "1.52.0" + "fill-range": "^7.0.1" }, "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/url-loader/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "node_modules/watchpack/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "optional": true, "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "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": ">= 10.13.0" + "node": ">= 8.10.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "node_modules/utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" - }, - "node_modules/utility-types": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz", - "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "bin": { - "uuid": "dist/bin/uuid" + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/value-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", - "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" + "node_modules/watchpack/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==", + "optional": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "node_modules/watchpack/node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">= 0.8" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/vfile": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", - "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "node_modules/watchpack/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==", + "optional": true, "dependencies": { - "@types/unist": "^3.0.0", - "vfile-message": "^4.0.0" + "is-glob": "^4.0.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">= 6" } }, - "node_modules/vfile-location": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz", - "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", + "node_modules/watchpack/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==", + "optional": true, "dependencies": { - "@types/unist": "^3.0.0", - "vfile": "^6.0.0" + "binary-extensions": "^2.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=8" } }, - "node_modules/vfile-message": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", - "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "node_modules/watchpack/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==", + "optional": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/watchpack/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "optional": true, "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0" + "picomatch": "^2.2.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=8.10.0" } }, - "node_modules/watchpack": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", - "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", + "node_modules/watchpack/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==", + "optional": true, "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" + "is-number": "^7.0.0" }, "engines": { - "node": ">=10.13.0" + "node": ">=8.0" } }, "node_modules/wbuf": { @@ -17566,49 +16658,45 @@ "minimalistic-assert": "^1.0.0" } }, - "node_modules/web-namespaces": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", - "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } + "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==" }, "node_modules/webpack": { - "version": "5.96.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.96.1.tgz", - "integrity": "sha512-l2LlBSvVZGhL4ZrPwyr8+37AunkcYj5qh8o6u2/2rzoPc8gxFJkLj1WxNgooi9pnoc06jh0BjuXnamM4qlujZA==", - "dependencies": { - "@types/eslint-scope": "^3.7.7", - "@types/estree": "^1.0.6", - "@webassemblyjs/ast": "^1.12.1", - "@webassemblyjs/wasm-edit": "^1.12.1", - "@webassemblyjs/wasm-parser": "^1.12.1", - "acorn": "^8.14.0", - "browserslist": "^4.24.0", + "version": "4.47.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.47.0.tgz", + "integrity": "sha512-td7fYwgLSrky3fI1EuU5cneU4+pbH6GgOfuKNS1tNPcfdGinGELAqsb/BP4nnvZyKSG2i/xFGU7+n2PvZA8HJQ==", + "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": "^5.17.1", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.11", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.10", - "watchpack": "^2.4.1", - "webpack-sources": "^3.2.3" + "enhanced-resolve": "^4.5.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" }, "bin": { "webpack": "bin/webpack.js" }, "engines": { - "node": ">=10.13.0" + "node": ">=6.11.5" }, "funding": { "type": "opencollective", @@ -17617,319 +16705,329 @@ "peerDependenciesMeta": { "webpack-cli": { "optional": true + }, + "webpack-command": { + "optional": true } } }, - "node_modules/webpack-bundle-analyzer": { - "version": "4.10.2", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz", - "integrity": "sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==", - "dependencies": { - "@discoveryjs/json-ext": "0.5.7", - "acorn": "^8.0.4", - "acorn-walk": "^8.0.0", - "commander": "^7.2.0", - "debounce": "^1.2.1", - "escape-string-regexp": "^4.0.0", - "gzip-size": "^6.0.0", - "html-escaper": "^2.0.2", - "opener": "^1.5.2", - "picocolors": "^1.0.0", - "sirv": "^2.0.3", - "ws": "^7.3.1" - }, - "bin": { - "webpack-bundle-analyzer": "lib/bin/analyzer.js" + "node_modules/webpack-chain": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/webpack-chain/-/webpack-chain-6.5.1.tgz", + "integrity": "sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dependencies": { + "deepmerge": "^1.5.2", + "javascript-stringify": "^2.0.1" }, "engines": { - "node": ">= 10.13.0" + "node": ">=8" } }, - "node_modules/webpack-bundle-analyzer/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "node_modules/webpack-chain/node_modules/deepmerge": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", + "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==", "engines": { - "node": ">= 10" + "node": ">=0.10.0" } }, "node_modules/webpack-dev-middleware": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", - "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", + "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", "dependencies": { - "colorette": "^2.0.10", - "memfs": "^3.4.3", - "mime-types": "^2.1.31", + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" + "webpack-log": "^2.0.0" }, "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">= 6" }, "peerDependencies": { "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/webpack-dev-middleware/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/webpack-dev-middleware/node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" + "node_modules/webpack-dev-middleware/node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "bin": { + "mime": "cli.js" }, "engines": { - "node": ">= 0.6" - } - }, - "node_modules/webpack-dev-middleware/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==", - "engines": { - "node": ">= 0.6" + "node": ">=4.0.0" } }, "node_modules/webpack-dev-server": { - "version": "4.15.2", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", - "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", - "dependencies": { - "@types/bonjour": "^3.5.9", - "@types/connect-history-api-fallback": "^1.3.5", - "@types/express": "^4.17.13", - "@types/serve-index": "^1.9.1", - "@types/serve-static": "^1.13.10", - "@types/sockjs": "^0.3.33", - "@types/ws": "^8.5.5", - "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.0.11", - "chokidar": "^3.5.3", - "colorette": "^2.0.10", + "version": "3.11.3", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.3.tgz", + "integrity": "sha512-3x31rjbEQWKMNzacUZRE6wXvUFuGpH7vr0lIEbYpMAG9BOxi0928QU1BBswOAP3kg3H1O4hiS+sq4YyAn6ANnA==", + "dependencies": { + "ansi-html-community": "0.0.8", + "bonjour": "^3.5.0", + "chokidar": "^2.1.8", "compression": "^1.7.4", - "connect-history-api-fallback": "^2.0.0", - "default-gateway": "^6.0.3", - "express": "^4.17.3", - "graceful-fs": "^4.2.6", - "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.3", - "ipaddr.js": "^2.0.1", - "launch-editor": "^2.6.0", - "open": "^8.0.9", - "p-retry": "^4.5.0", - "rimraf": "^3.0.2", - "schema-utils": "^4.0.0", - "selfsigned": "^2.1.1", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.3.1", + "http-proxy-middleware": "0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "is-absolute-url": "^3.0.3", + "killable": "^1.0.1", + "loglevel": "^1.6.8", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.26", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.8", + "semver": "^6.3.0", "serve-index": "^1.9.1", - "sockjs": "^0.3.24", + "sockjs": "^0.3.21", + "sockjs-client": "^1.5.0", "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.4", - "ws": "^8.13.0" + "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": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">= 6.11.5" }, "peerDependencies": { - "webpack": "^4.37.0 || ^5.0.0" + "webpack": "^4.0.0 || ^5.0.0" }, "peerDependenciesMeta": { - "webpack": { - "optional": true - }, "webpack-cli": { "optional": true } } }, - "node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" + "node_modules/webpack-dev-server/node_modules/http-proxy-middleware": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", + "dependencies": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "engines": { + "node": ">=4.0.0" } }, - "node_modules/webpack-merge": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-6.0.1.tgz", - "integrity": "sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==", + "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==", + "engines": { + "node": ">=8" + } + }, + "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==", "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.1" + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" }, "engines": { - "node": ">=18.0.0" + "node": ">= 4" } }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "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==", + "dependencies": { + "has-flag": "^3.0.0" + }, "engines": { - "node": ">=10.13.0" + "node": ">=6" } }, - "node_modules/webpack/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "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==", "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">= 6" } }, - "node_modules/webpack/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==", - "peerDependencies": { - "ajv": "^6.9.1" + "node_modules/webpack-log/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" } }, - "node_modules/webpack/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==" - }, - "node_modules/webpack/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" + "node_modules/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==", + "dependencies": { + "lodash": "^4.17.15" } }, - "node_modules/webpack/node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "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==", "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" } }, "node_modules/webpack/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" }, "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">= 4" } }, "node_modules/webpackbar": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-6.0.1.tgz", - "integrity": "sha512-TnErZpmuKdwWBdMoexjio3KKX6ZtoKHRVvLIU0A47R0VVBDtx3ZyOJDktgYixhoJokZTYTt1Z37OkO9pnGJa9Q==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-3.2.0.tgz", + "integrity": "sha512-PC4o+1c8gWWileUfwabe0gqptlXUDJd5E0zbpr2xHP1VSOVlZVPBZ8j6NCR8zM5zbKdxPhctHXahgpNK1qFDPw==", "dependencies": { - "ansi-escapes": "^4.3.2", - "chalk": "^4.1.2", - "consola": "^3.2.3", - "figures": "^3.2.0", - "markdown-table": "^2.0.0", + "ansi-escapes": "^4.1.0", + "chalk": "^2.4.1", + "consola": "^2.6.0", + "figures": "^3.0.0", "pretty-time": "^1.1.0", - "std-env": "^3.7.0", - "wrap-ansi": "^7.0.0" + "std-env": "^2.2.1", + "text-table": "^0.2.0", + "wrap-ansi": "^5.1.0" }, "engines": { - "node": ">=14.21.3" + "node": ">= 6.9.0" }, "peerDependencies": { - "webpack": "3 || 4 || 5" + "webpack": "^3.0.0 || ^4.0.0" + } + }, + "node_modules/webpackbar/node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/webpackbar/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "engines": { + "node": ">=6" } }, "node_modules/webpackbar/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==" + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" }, - "node_modules/webpackbar/node_modules/markdown-table": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz", - "integrity": "sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==", + "node_modules/webpackbar/node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dependencies": { - "repeat-string": "^1.0.0" + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/webpackbar/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": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "engines": { + "node": ">=4" } }, "node_modules/webpackbar/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpackbar/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==", + "dependencies": { + "ansi-regex": "^4.1.0" }, "engines": { - "node": ">=8" + "node": ">=6" + } + }, + "node_modules/webpackbar/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/webpackbar/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "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==", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">=6" } }, "node_modules/websocket-driver": { @@ -17953,10 +17051,26 @@ "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==", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/when": { + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/when/-/when-3.6.4.tgz", + "integrity": "sha512-d1VUP9F96w664lKINMGeElWdhhb5sC+thXM+ydZGU3ZnaE09Wv6FaS+mpM9570kcDs/xMfcXJBTLsMdHEFYY9Q==" + }, "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" }, @@ -17967,75 +17081,270 @@ "node": ">= 8" } }, - "node_modules/widest-line": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", - "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "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": { - "string-width": "^5.0.1" - }, - "engines": { - "node": ">=12" + "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/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/wildcard": { + "node_modules/which-module": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==" + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==" }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "node_modules/which-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.2" }, "engines": { - "node": ">=12" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "node_modules/widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "dependencies": { + "string-width": "^4.0.0" + }, "engines": { - "node": ">=12" + "node": ">=8" + } + }, + "node_modules/workbox-background-sync": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-4.3.1.tgz", + "integrity": "sha512-1uFkvU8JXi7L7fCHVBEEnc3asPpiAL33kO495UMcD5+arew9IbKW2rV5lpzhoWcm/qhGB89YfO4PmB/0hQwPRg==", + "dependencies": { + "workbox-core": "^4.3.1" + } + }, + "node_modules/workbox-broadcast-update": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-4.3.1.tgz", + "integrity": "sha512-MTSfgzIljpKLTBPROo4IpKjESD86pPFlZwlvVG32Kb70hW+aob4Jxpblud8EhNb1/L5m43DUM4q7C+W6eQMMbA==", + "dependencies": { + "workbox-core": "^4.3.1" + } + }, + "node_modules/workbox-build": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-4.3.1.tgz", + "integrity": "sha512-UHdwrN3FrDvicM3AqJS/J07X0KXj67R8Cg0waq1MKEOqzo89ap6zh6LmaLnRAjpB+bDIz+7OlPye9iii9KBnxw==", + "dependencies": { + "@babel/runtime": "^7.3.4", + "@hapi/joi": "^15.0.0", + "common-tags": "^1.8.0", + "fs-extra": "^4.0.2", + "glob": "^7.1.3", + "lodash.template": "^4.4.0", + "pretty-bytes": "^5.1.0", + "stringify-object": "^3.3.0", + "strip-comments": "^1.0.2", + "workbox-background-sync": "^4.3.1", + "workbox-broadcast-update": "^4.3.1", + "workbox-cacheable-response": "^4.3.1", + "workbox-core": "^4.3.1", + "workbox-expiration": "^4.3.1", + "workbox-google-analytics": "^4.3.1", + "workbox-navigation-preload": "^4.3.1", + "workbox-precaching": "^4.3.1", + "workbox-range-requests": "^4.3.1", + "workbox-routing": "^4.3.1", + "workbox-strategies": "^4.3.1", + "workbox-streams": "^4.3.1", + "workbox-sw": "^4.3.1", + "workbox-window": "^4.3.1" }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/workbox-build/node_modules/fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" } }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "node_modules/workbox-cacheable-response": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-4.3.1.tgz", + "integrity": "sha512-Rp5qlzm6z8IOvnQNkCdO9qrDgDpoPNguovs0H8C+wswLuPgSzSp9p2afb5maUt9R1uTIwOXrVQMmPfPypv+npw==", + "dependencies": { + "workbox-core": "^4.3.1" + } + }, + "node_modules/workbox-core": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-4.3.1.tgz", + "integrity": "sha512-I3C9jlLmMKPxAC1t0ExCq+QoAMd0vAAHULEgRZ7kieCdUd919n53WC0AfvokHNwqRhGn+tIIj7vcb5duCjs2Kg==" + }, + "node_modules/workbox-expiration": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-4.3.1.tgz", + "integrity": "sha512-vsJLhgQsQouv9m0rpbXubT5jw0jMQdjpkum0uT+d9tTwhXcEZks7qLfQ9dGSaufTD2eimxbUOJfWLbNQpIDMPw==", + "dependencies": { + "workbox-core": "^4.3.1" + } + }, + "node_modules/workbox-google-analytics": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-4.3.1.tgz", + "integrity": "sha512-xzCjAoKuOb55CBSwQrbyWBKqp35yg1vw9ohIlU2wTy06ZrYfJ8rKochb1MSGlnoBfXGWss3UPzxR5QL5guIFdg==", + "deprecated": "It is not compatible with newer versions of GA starting with v4, as long as you are using GAv3 it should be ok, but the package is not longer being maintained", + "dependencies": { + "workbox-background-sync": "^4.3.1", + "workbox-core": "^4.3.1", + "workbox-routing": "^4.3.1", + "workbox-strategies": "^4.3.1" + } + }, + "node_modules/workbox-navigation-preload": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-4.3.1.tgz", + "integrity": "sha512-K076n3oFHYp16/C+F8CwrRqD25GitA6Rkd6+qAmLmMv1QHPI2jfDwYqrytOfKfYq42bYtW8Pr21ejZX7GvALOw==", + "dependencies": { + "workbox-core": "^4.3.1" + } + }, + "node_modules/workbox-precaching": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-4.3.1.tgz", + "integrity": "sha512-piSg/2csPoIi/vPpp48t1q5JLYjMkmg5gsXBQkh/QYapCdVwwmKlU9mHdmy52KsDGIjVaqEUMFvEzn2LRaigqQ==", + "dependencies": { + "workbox-core": "^4.3.1" + } + }, + "node_modules/workbox-range-requests": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-4.3.1.tgz", + "integrity": "sha512-S+HhL9+iTFypJZ/yQSl/x2Bf5pWnbXdd3j57xnb0V60FW1LVn9LRZkPtneODklzYuFZv7qK6riZ5BNyc0R0jZA==", + "dependencies": { + "workbox-core": "^4.3.1" + } + }, + "node_modules/workbox-routing": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-4.3.1.tgz", + "integrity": "sha512-FkbtrODA4Imsi0p7TW9u9MXuQ5P4pVs1sWHK4dJMMChVROsbEltuE79fBoIk/BCztvOJ7yUpErMKa4z3uQLX+g==", + "dependencies": { + "workbox-core": "^4.3.1" + } + }, + "node_modules/workbox-strategies": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-4.3.1.tgz", + "integrity": "sha512-F/+E57BmVG8dX6dCCopBlkDvvhg/zj6VDs0PigYwSN23L8hseSRwljrceU2WzTvk/+BSYICsWmRq5qHS2UYzhw==", + "dependencies": { + "workbox-core": "^4.3.1" + } + }, + "node_modules/workbox-streams": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-4.3.1.tgz", + "integrity": "sha512-4Kisis1f/y0ihf4l3u/+ndMkJkIT4/6UOacU3A4BwZSAC9pQ9vSvJpIi/WFGQRH/uPXvuVjF5c2RfIPQFSS2uA==", + "dependencies": { + "workbox-core": "^4.3.1" + } + }, + "node_modules/workbox-sw": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-4.3.1.tgz", + "integrity": "sha512-0jXdusCL2uC5gM3yYFT6QMBzKfBr2XTk0g5TPAV4y8IZDyVNDyj1a8uSXy3/XrvkVTmQvLN4O5k3JawGReXr9w==" + }, + "node_modules/workbox-window": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-4.3.1.tgz", + "integrity": "sha512-C5gWKh6I58w3GeSc0wp2Ne+rqVw8qwcmZnQGpjiek8A2wpbxSJb1FdCoQVO+jDJs35bFgo/WETgl1fqgsxN0Hg==", + "dependencies": { + "workbox-core": "^4.3.1" + } + }, + "node_modules/worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dependencies": { + "errno": "~0.1.7" + } + }, + "node_modules/wrap-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", + "integrity": "sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ==", + "dev": true, + "dependencies": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0" + }, "engines": { - "node": ">=12" + "node": ">=4" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/wrap-ansi/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" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "engines": { + "node": ">=4" } }, "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dev": true, "dependencies": { - "ansi-regex": "^6.0.1" + "ansi-regex": "^3.0.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": ">=4" } }, "node_modules/wrappy": { @@ -18055,79 +17364,187 @@ } }, "node_modules/ws": { - "version": "7.5.10", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", - "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "dependencies": { + "async-limiter": "~1.0.0" } }, "node_modules/xdg-basedir": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz", - "integrity": "sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/xml-js": { - "version": "1.6.11", - "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", - "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", - "dependencies": { - "sax": "^1.2.4" - }, - "bin": { - "xml-js": "bin/cli.js" + "node_modules/xml": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz", + "integrity": "sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw==" + }, + "node_modules/xmlbuilder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-13.0.2.tgz", + "integrity": "sha512-Eux0i2QdDYKbdbA6AM6xE4m6ZTZr4G4xF9kahI2ukSEMCzwce2eX9WlTI5J3s+NU7hpasFsr8hWIONae7LluAQ==", + "engines": { + "node": ">=6.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.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + }, "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "node_modules/yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "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==", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/yargs-parser/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "engines": { - "node": ">= 6" + "node": ">=6" } }, - "node_modules/yocto-queue": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", - "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", + "node_modules/yargs/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "engines": { + "node": ">=6" + } + }, + "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==" + }, + "node_modules/yargs/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==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "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": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", "engines": { - "node": ">=12.20" + "node": ">=4" + } + }, + "node_modules/yargs/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==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=6" } }, - "node_modules/zwitch": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", - "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/yargs/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==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "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==", + "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==", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" } + }, + "node_modules/zepto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/zepto/-/zepto-1.2.0.tgz", + "integrity": "sha512-C1x6lfvBICFTQIMgbt3JqMOno3VOtkWat/xEakLTOurskYIHPmzJrzd1e8BnmtdDVJlGuk5D+FxyCA8MPmkIyA==" } } } diff --git a/package.json b/package.json index 5b0df9add..f256dfd22 100644 --- a/package.json +++ b/package.json @@ -1,58 +1,39 @@ { - "name": "cadence", + "name": "cadence-docs", "version": "1.0.0", - "private": true, + "main": "index.js", + "license": "MIT", "scripts": { - "docusaurus": "docusaurus", - "start": "docusaurus start", - "build": "docusaurus build", - "swizzle": "docusaurus swizzle", - "deploy": "docusaurus deploy", - "clear": "docusaurus clear", - "serve": "docusaurus serve", - "write-translations": "docusaurus write-translations", - "write-heading-ids": "docusaurus write-heading-ids", - "typecheck": "tsc" + "build:blog": "vuepress build src/blog", + "build:site": "vuepress build src", + "build": "export NODE_OPTIONS=--openssl-legacy-provider; npm run build:blog && npm run build:site && npm run copy:blog", + "copy:blog": "cp -a dist-blog/. dist", + "cypress:open": "cypress open", + "cypress:run": "cypress run", + "start:blog": "export NODE_OPTIONS=--openssl-legacy-provider; vuepress dev src/blog", + "start": "export NODE_OPTIONS=--openssl-legacy-provider; vuepress dev src", + "start:local": "http-server ./dist", + "test": "npm run cypress:run" + }, + "engines": { + "node": "v18.13.0", + "npm": "8.19.3" }, "dependencies": { - "@docusaurus/core": "^3.6.3", - "@docusaurus/plugin-client-redirects": "^3.6.3", - "@docusaurus/plugin-content-blog": "^3.6.3", - "@docusaurus/plugin-content-docs": "^3.6.3", - "@docusaurus/plugin-content-pages": "^3.6.3", - "@docusaurus/plugin-google-gtag": "^3.6.3", - "@docusaurus/plugin-google-tag-manager": "^3.6.3", - "@docusaurus/plugin-ideal-image": "^3.6.3", - "@docusaurus/preset-classic": "3.6.3", - "@docusaurus/remark-plugin-npm2yarn": "^3.6.3", - "@docusaurus/theme-search-algolia": "^3.6.3", - "@mdx-js/react": "^3.0.0", - "@pnpm/config.env-replace": "^3.0.0", - "clsx": "^2.0.0", - "prism-react-renderer": "^2.3.0", - "react": "^18.0.0", - "react-dom": "^18.0.0", - "remark-math": "^6.0.0" + "@vuepress/plugin-back-to-top": "^1.4.1", + "@vuepress/plugin-search": "^1.6.0", + "@vuepress/theme-blog": "^2.3.3", + "vuepress": "^1.9.10", + "vuepress-plugin-clean-urls": "^1.1.1", + "vuepress-plugin-code-copy": "^1.0.6", + "vuepress-plugin-code-switcher": "^1.0.3", + "vuepress-plugin-fulltext-search": "^2.0.6", + "vuepress-plugin-glossary": "^1.0.2", + "vuepress-plugin-reading-progress": "^1.0.9", + "vuepress-plugin-redirect": "^1.2.5" }, "devDependencies": { - "@docusaurus/module-type-aliases": "3.6.2", - "@docusaurus/tsconfig": "3.6.2", - "@docusaurus/types": "3.6.2", - "typescript": "~5.6.2" - }, - "browserslist": { - "production": [ - ">0.5%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 3 chrome version", - "last 3 firefox version", - "last 5 safari version" - ] - }, - "engines": { - "node": ">=18.0" + "cypress": "^6.1.0", + "http-server": "^13.0.2" } } diff --git a/sidebars.ts b/sidebars.ts deleted file mode 100644 index 828265694..000000000 --- a/sidebars.ts +++ /dev/null @@ -1,156 +0,0 @@ -import type { SidebarsConfig } from '@docusaurus/plugin-content-docs'; - -// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...) - -/** - * Creating a sidebar enables you to: - - create an ordered group of docs - - render a sidebar for each doc of that group - - provide next/previous navigation - - The sidebars can be generated from the filesystem, or explicitly defined here. - - Create as many sidebars as you want. - */ -const sidebars: SidebarsConfig = { - // By default, Docusaurus generates a sidebar from the docs folder structure - docsSidebar: [ - { - label: 'Get Started', - type: 'category', - items: [ - { type: 'doc', id: 'get-started/index' }, - { type: 'doc', id: 'get-started/server-installation' }, - { type: 'doc', id: 'get-started/java-hello-world' }, - { type: 'doc', id: 'get-started/golang-hello-world' }, - { type: 'doc', id: 'get-started/video-tutorials' }, - ], - }, - { - label: 'Use Cases', - type: 'category', - items: [ - { type: 'doc', id: 'use-cases/index' }, - { type: 'doc', id: 'use-cases/periodic-execution' }, - { type: 'doc', id: 'use-cases/orchestration' }, - { type: 'doc', id: 'use-cases/polling' }, - { type: 'doc', id: 'use-cases/event-driven' }, - { type: 'doc', id: 'use-cases/partitioned-scan' }, - { type: 'doc', id: 'use-cases/batch-job' }, - { type: 'doc', id: 'use-cases/provisioning' }, - { type: 'doc', id: 'use-cases/deployment' }, - { type: 'doc', id: 'use-cases/operational-management' }, - { type: 'doc', id: 'use-cases/interactive' }, - { type: 'doc', id: 'use-cases/dsl' }, - { type: 'doc', id: 'use-cases/big-ml' }, - ], - }, - - { - label: 'Concepts', - type: 'category', - items: [ - { type: 'doc', id: 'concepts/index' }, - { type: 'doc', id: 'concepts/activities' }, - { type: 'doc', id: 'concepts/events' }, - { type: 'doc', id: 'concepts/queries' }, - { type: 'doc', id: 'concepts/topology' }, - { type: 'doc', id: 'concepts/task-lists' }, - { type: 'doc', id: 'concepts/archival' }, - { type: 'doc', id: 'concepts/cross-dc-replication' }, - { type: 'doc', id: 'concepts/search-workflows' }, - { type: 'doc', id: 'concepts/http-api' }, - ], - }, - { - label: 'Java Client', - type: 'category', - items: [ - { type: 'doc', id: 'java-client/index' }, - { type: 'doc', id: 'java-client/client-overview' }, - { type: 'doc', id: 'java-client/workflow-interface' }, - { type: 'doc', id: 'java-client/implementing-workflows' }, - { type: 'doc', id: 'java-client/starting-workflow-executions' }, - { type: 'doc', id: 'java-client/activity-interface' }, - { type: 'doc', id: 'java-client/versioning' }, - { type: 'doc', id: 'java-client/distributed-cron' }, - { type: 'doc', id: 'java-client/workers' }, - { type: 'doc', id: 'java-client/signals' }, - { type: 'doc', id: 'java-client/queries' }, - { type: 'doc', id: 'java-client/retries' }, - { type: 'doc', id: 'java-client/child-workflows' }, - { type: 'doc', id: 'java-client/exception-handling' }, - { type: 'doc', id: 'java-client/continue-as-new' }, - { type: 'doc', id: 'java-client/side-effect' }, - { type: 'doc', id: 'java-client/testing' }, - { type: 'doc', id: 'java-client/workflow-replay-shadowing' }, - ], - }, - { - label: 'Go Client', - type: 'category', - items: [ - { type: 'doc', id: 'go-client/index' }, - { type: 'doc', id: 'go-client/workers' }, - { type: 'doc', id: 'go-client/create-workflows' }, - { type: 'doc', id: 'go-client/02.5-starting-workflows' }, - { type: 'doc', id: 'go-client/activities' }, - { type: 'doc', id: 'go-client/execute-activity' }, - { type: 'doc', id: 'go-client/child-workflows' }, - { type: 'doc', id: 'go-client/retries' }, - { type: 'doc', id: 'go-client/error-handling' }, - { type: 'doc', id: 'go-client/signals' }, - { type: 'doc', id: 'go-client/continue-as-new' }, - { type: 'doc', id: 'go-client/side-effect' }, - { type: 'doc', id: 'go-client/queries' }, - { type: 'doc', id: 'go-client/activity-async-completion' }, - { type: 'doc', id: 'go-client/workflow-testing' }, - { type: 'doc', id: 'go-client/workflow-versioning' }, - { type: 'doc', id: 'go-client/sessions' }, - { type: 'doc', id: 'go-client/distributed-cron' }, - { type: 'doc', id: 'go-client/tracing' }, - { type: 'doc', id: 'go-client/workflow-replay-shadowing' }, - ], - }, - { - label: 'Command Line Interface', - type: 'category', - items: [ - { type: 'doc', id: 'cli/index' }, - ], - }, - { - label: 'Production Operation', - type: 'category', - items: [ - { type: 'doc', id: 'operation-guide/index' }, - { type: 'doc', id: 'operation-guide/setup' }, - { type: 'doc', id: 'operation-guide/maintain' }, - { type: 'doc', id: 'operation-guide/monitoring' }, - { type: 'doc', id: 'operation-guide/troubleshooting' }, - { type: 'doc', id: 'operation-guide/migration' }, - ], - }, - { - label: 'Workflow Troubleshooting', - type: 'category', - items: [ - { type: 'doc', id: 'workflow-troubleshooting/index' }, - { type: 'doc', id: 'workflow-troubleshooting/timeouts' }, - { type: 'doc', id: 'workflow-troubleshooting/activity-failures' }, - { type: 'doc', id: 'workflow-troubleshooting/retries' }, - ], - }, - { - label: 'About', - type: 'category', - items: [ - { type: 'doc', 'id': 'about/index' }, - { type: 'doc', 'id': 'about/license' }, - ], - }, - //{type: 'autogenerated', dirName: '.'} - ], -}; - -export default sidebars; diff --git a/sidebarsCommunity.js b/sidebarsCommunity.js deleted file mode 100644 index 50fe3263a..000000000 --- a/sidebarsCommunity.js +++ /dev/null @@ -1,28 +0,0 @@ -/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */ -export default { - community: [ - // { - // type: 'autogenerated', - // dirName: '.', - // }, - { type: 'doc', id: 'support' }, - { type: 'doc', id: 'team' }, - // { type: 'doc', id: 'resources' }, - // { type: 'doc', id: 'contributing' }, - // { - // type: 'link', - // href: '/changelog', - // label: 'Changelog', - // }, - // { - // type: 'link', - // href: '/feature-requests', - // label: 'Feature Requests', - // }, - { - type: 'link', - label: 'Chat with us on Slack', - href: 'http://t.uber.com/cadence-slack', - }, - ], -}; diff --git a/src/.vuepress/components/slack-link.vue b/src/.vuepress/components/slack-link.vue new file mode 100644 index 000000000..59f28fd42 --- /dev/null +++ b/src/.vuepress/components/slack-link.vue @@ -0,0 +1,25 @@ + + + diff --git a/src/.vuepress/config.js b/src/.vuepress/config.js new file mode 100644 index 000000000..b0f37ea6e --- /dev/null +++ b/src/.vuepress/config.js @@ -0,0 +1,199 @@ +const { themeConfig } = require('../shared/config'); + +module.exports = { + dest: 'dist', + lang: 'en-US', + title: 'Cadence', + patterns: [ + '**/*.md', + '**/*.vue', + '!blog/**/*.md', + + // comment line to enable test pages + '!**/test-pages/*.md' + ], + plugins: [ + '@vuepress/back-to-top', + 'code-switcher', + 'fulltext-search', + 'reading-progress', + 'vuepress-plugin-code-copy', + 'vuepress-plugin-glossary', + ['vuepress-plugin-redirect', { + redirectors: [ + { + base: '/docs/', + alternative: [ + 'get-started' + ] + } + ] + }] + ], + head: [ + ['link', { rel: 'icon', href: `/img/favicon.ico` }], + ['script', { + async: true, + src: 'https://www.googletagmanager.com/gtag/js?id=G-W63QD8QE6E' + }], + ['script', {}, `window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-W63QD8QE6E');`], + ], + themeConfig: { + ...themeConfig, + docsRepo: 'uber/cadence-docs', + docsDir: 'src', + editLinks: true, + sidebar: { + '/docs/': [ + { + title: 'Get Started', + path: '/docs/01-get-started', + children: [ + '01-get-started/', + '01-get-started/01-server-installation', + '01-get-started/02-java-hello-world', + '01-get-started/03-golang-hello-world', + '01-get-started/04-video-tutorials', + ] + }, + // Uncomment block to add test pages to navigation. + /** + { + title: 'Test page', + path: '/docs/test-pages', + children: [ + 'test-pages/', + 'test-pages/02-code-tabs', + 'test-pages/03-glossary', + ], + }, + /**/ + { + title: 'Use cases', + path: '/docs/02-use-cases', + children: [ + '02-use-cases/', + '02-use-cases/01-periodic-execution', + '02-use-cases/02-orchestration', + '02-use-cases/03-polling', + '02-use-cases/04-event-driven', + '02-use-cases/05-partitioned-scan', + '02-use-cases/06-batch-job', + '02-use-cases/07-provisioning', + '02-use-cases/08-deployment', + '02-use-cases/09-operational-management', + '02-use-cases/10-interactive', + '02-use-cases/11-dsl', + '02-use-cases/12-big-ml', + ], + }, + { + title: 'Concepts', + path: '/docs/03-concepts', + children: [ + '03-concepts/', + '03-concepts/01-workflows', + '03-concepts/02-activities', + '03-concepts/03-events', + '03-concepts/04-queries', + '03-concepts/05-topology', + '03-concepts/06-task-lists', + '03-concepts/07-archival', + '03-concepts/08-cross-dc-replication', + '03-concepts/09-search-workflows', + '03-concepts/10-http-api', + ], + }, + { + title: 'Java client', + path: '/docs/04-java-client', + children: [ + '04-java-client/', + '04-java-client/01-client-overview', + '04-java-client/02-workflow-interface', + '04-java-client/03-implementing-workflows', + '04-java-client/04-starting-workflow-executions', + '04-java-client/05-activity-interface', + '04-java-client/06-implementing-activities', + '04-java-client/07-versioning', + '04-java-client/08-distributed-cron', + '04-java-client/09-workers', + '04-java-client/10-signals', + '04-java-client/11-queries', + '04-java-client/12-retries', + '04-java-client/13-child-workflows', + '04-java-client/14-exception-handling', + '04-java-client/15-continue-as-new', + '04-java-client/16-side-effect', + '04-java-client/17-testing', + '04-java-client/18-workflow-replay-shadowing', + ], + }, + { + title: 'Go client', + path: '/docs/05-go-client', + children: [ + '05-go-client/', + '05-go-client/01-workers', + '05-go-client/02-create-workflows', + '05-go-client/02.5-starting-workflows', + '05-go-client/03-activities', + '05-go-client/04-execute-activity', + '05-go-client/05-child-workflows', + '05-go-client/06-retries', + '05-go-client/07-error-handling', + '05-go-client/08-signals', + '05-go-client/09-continue-as-new', + '05-go-client/10-side-effect', + '05-go-client/11-queries', + '05-go-client/12-activity-async-completion', + '05-go-client/13-workflow-testing', + '05-go-client/14-workflow-versioning', + '05-go-client/15-sessions', + '05-go-client/16-distributed-cron', + '05-go-client/17-tracing', + '05-go-client/18-workflow-replay-shadowing', + ], + }, + { + title: 'Command line interface', + path: '/docs/06-cli/', + }, + { + title: 'Production Operation', + path: '/docs/07-operation-guide/', + children: [ + '07-operation-guide/', + '07-operation-guide/01-setup', + '07-operation-guide/02-maintain', + '07-operation-guide/03-monitoring', + '07-operation-guide/04-troubleshooting', + '07-operation-guide/05-migration', + ], + }, + { + title: 'Workflow Troubleshooting', + path: '/docs/08-workflow-troubleshooting/', + children: [ + '08-workflow-troubleshooting/', + '08-workflow-troubleshooting/01-timeouts', + '08-workflow-troubleshooting/02-activity-failures', + '08-workflow-troubleshooting/03-retries', + ], + }, + { + title: 'Glossary', + path: '../GLOSSARY', + }, + { + title: 'About', + path: '/docs/09-about', + children: [ + '09-about/', + '09-about/01-license', + ], + }, + ], + }, + } +}; diff --git a/src/.vuepress/enhanceApp.js b/src/.vuepress/enhanceApp.js new file mode 100644 index 000000000..7fb956a12 --- /dev/null +++ b/src/.vuepress/enhanceApp.js @@ -0,0 +1,10 @@ +export default ({ router }) => { + router.beforeResolve((to, _from, next) => { + const browserWindow = typeof window !== "undefined" ? window : null; + if (browserWindow && to.matched.length && (to.matched[0].path !== '*' && to.redirectedFrom || to.path === '/blog/')) { + browserWindow.location.href = to.fullPath; + } else { + next(); + } + }); +}; diff --git a/static/img/arrow_divert_filled.svg b/src/.vuepress/public/img/arrow_divert_filled.svg similarity index 100% rename from static/img/arrow_divert_filled.svg rename to src/.vuepress/public/img/arrow_divert_filled.svg diff --git a/static/img/cadence-overview.svg b/src/.vuepress/public/img/cadence-overview.svg similarity index 100% rename from static/img/cadence-overview.svg rename to src/.vuepress/public/img/cadence-overview.svg diff --git a/static/img/chart_bar_ascending_filled.svg b/src/.vuepress/public/img/chart_bar_ascending_filled.svg similarity index 100% rename from static/img/chart_bar_ascending_filled.svg rename to src/.vuepress/public/img/chart_bar_ascending_filled.svg diff --git a/static/img/favicon.ico b/src/.vuepress/public/img/favicon.ico similarity index 100% rename from static/img/favicon.ico rename to src/.vuepress/public/img/favicon.ico diff --git a/static/img/gears_outlined.svg b/src/.vuepress/public/img/gears_outlined.svg similarity index 100% rename from static/img/gears_outlined.svg rename to src/.vuepress/public/img/gears_outlined.svg diff --git a/static/img/logo-white.svg b/src/.vuepress/public/img/logo-white.svg similarity index 100% rename from static/img/logo-white.svg rename to src/.vuepress/public/img/logo-white.svg diff --git a/static/img/overview.png b/src/.vuepress/public/img/overview.png similarity index 100% rename from static/img/overview.png rename to src/.vuepress/public/img/overview.png diff --git a/src/.vuepress/styles/index.styl b/src/.vuepress/styles/index.styl new file mode 100644 index 000000000..501c0d1b4 --- /dev/null +++ b/src/.vuepress/styles/index.styl @@ -0,0 +1 @@ +@require '../../shared/styles'; \ No newline at end of file diff --git a/src/.vuepress/styles/palette.styl b/src/.vuepress/styles/palette.styl new file mode 100644 index 000000000..a5f82696d --- /dev/null +++ b/src/.vuepress/styles/palette.styl @@ -0,0 +1 @@ +@require '../../shared/styles/palette'; \ No newline at end of file diff --git a/docs/GLOSSARY.md b/src/GLOSSARY.md similarity index 98% rename from docs/GLOSSARY.md rename to src/GLOSSARY.md index b09201b3c..589fe34b7 100644 --- a/docs/GLOSSARY.md +++ b/src/GLOSSARY.md @@ -1,5 +1,4 @@ --- -id: glossary layout: default title: Glossary terms: @@ -24,7 +23,7 @@ The Go client doesn't use this." decision: "Any action taken by the workflow durable function is called a decision. For example: scheduling an activity, canceling a child workflow, or starting a timer. A decision task contains an optional list of decisions. Every decision is recorded in the event history as an event. See also [1] for more explanation" decision task: "Every time a new external event that might affect a workflow state is recorded, a decision task that contains it is added to a decision task list and then picked up by a workflow worker. After the new event is handled, the decision task is completed with a list of decision. Note that handling of a decision task is usually very fast and is not related to duration of operations that the workflow invokes. See also [1] for more explanation" - decision task list: "Task list that is used to deliver decision task to workflow worker. From user's point of view, it can be viewed as a worker pool. It defines a pool of worker executing workflow or activity tasks." + decision task list: "Task list that is used to deliver decision task to workflow worker. From user's point of view, it can be viewed as a worker pool. It defines a pool of worker executing workflow or activity tasks." domain: "Cadence is backed by a multitenant service. The unit of isolation is called a domain. Each domain acts as a namespace for task list names as well as workflow IDs. For example, when a workflow is started, it is started in a specific domain. Cadence guarantees a unique workflow ID within a domain, and supports running workflow executions to use the same workflow ID if they are in @@ -76,6 +75,6 @@ duplicate ID results in an already started error." # Glossary - + [1 What exactly is a Cadence decision task?](https://stackoverflow.com/questions/62904129/what-exactly-is-a-cadence-decision-task/63964726#63964726) diff --git a/src/blog/.npmignore b/src/blog/.npmignore new file mode 100755 index 000000000..595e21518 --- /dev/null +++ b/src/blog/.npmignore @@ -0,0 +1,12 @@ +pids +logs +node_modules +npm-debug.log +coverage/ +run +dist +.DS_Store +.nyc_output +.basement +config.local.js +basement_dist diff --git a/src/blog/.vuepress/config.js b/src/blog/.vuepress/config.js new file mode 100755 index 000000000..dc457c86a --- /dev/null +++ b/src/blog/.vuepress/config.js @@ -0,0 +1,51 @@ +const { themeConfig } = require('../../shared/config'); + +// modal configuration +module.exports = { + dest: 'dist-blog', + title: '', + description: '', + theme: '@vuepress/theme-blog', // OR shortcut: @vuepress/blog + themeConfig: { + ...themeConfig, + directories: [ + { + dirname: '_posts', + id: 'post', + itemPermalink: '/blog/:year/:month/:day/:slug', + path: '/blog/', + }, + ], + /** + * Ref: https://vuepress-theme-blog.ulivz.com/#modifyblogpluginoptions + */ + modifyBlogPluginOptions(blogPluginOptions) { + return blogPluginOptions + }, + /** + * Ref: https://vuepress-theme-blog.ulivz.com/#nav + */ + feed: { + canonical_base: '/', + count: 5, + json: true, + sort: entries => entries.sort((entryA, entryB) => new Date(entryB.frontmatter.date).getTime() - new Date(entryA.frontmatter.date).getTime()), + }, + /** + * Ref: https://vuepress-theme-blog.ulivz.com/#footer + */ + footer: { + copyright: [ + { text: `Β© ${new Date().getFullYear()} Uber Technologies, Inc.` }, + ] + }, + summaryLength: 1000, + }, + head: [ + ['script', { + async: true, + src: 'https://www.googletagmanager.com/gtag/js?id=G-W63QD8QE6E' + }], + ['script', {}, `window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-W63QD8QE6E');`], + ], +} diff --git a/src/blog/.vuepress/enhanceApp.js b/src/blog/.vuepress/enhanceApp.js new file mode 100755 index 000000000..40b7ef1d2 --- /dev/null +++ b/src/blog/.vuepress/enhanceApp.js @@ -0,0 +1,21 @@ +/** + * Client app enhancement file. + * + * https://v1.vuepress.vuejs.org/guide/basic-config.html#app-level-enhancements + */ + +export default ({ + Vue, // the version of Vue being used in the VuePress app + options, // the options for the root Vue instance + router, // the router instance for the app + siteData // site metadata +}) => { + router.beforeResolve((to, from, next) => { + const browserWindow = typeof window !== "undefined" ? window : null; + if (!browserWindow || from.path === '/' || to.path.startsWith('/blog')) { + next(); + } else { + browserWindow.location.href = to.fullPath; + } + }); +} diff --git a/blog/2021-10-19-moving-to-grpc/grpc-migration.svg b/src/blog/.vuepress/public/img/grpc-migration.svg similarity index 100% rename from blog/2021-10-19-moving-to-grpc/grpc-migration.svg rename to src/blog/.vuepress/public/img/grpc-migration.svg diff --git a/src/blog/.vuepress/public/img/logo-white.svg b/src/blog/.vuepress/public/img/logo-white.svg new file mode 100644 index 000000000..66f2e73ab --- /dev/null +++ b/src/blog/.vuepress/public/img/logo-white.svg @@ -0,0 +1,18 @@ + diff --git a/blog/zonal-isolation-v1/zone-isolation.png b/src/blog/.vuepress/public/img/zone-isolation.png similarity index 100% rename from blog/zonal-isolation-v1/zone-isolation.png rename to src/blog/.vuepress/public/img/zone-isolation.png diff --git a/src/blog/.vuepress/styles/index.styl b/src/blog/.vuepress/styles/index.styl new file mode 100755 index 000000000..4f230cc05 --- /dev/null +++ b/src/blog/.vuepress/styles/index.styl @@ -0,0 +1,26 @@ +@require '../../../shared/styles'; + +#vuepress-theme-blog__global-layout { + .content-wrapper { + padding-top: 100px; + } + + .footer { + background-color: #191d2e; + padding: 1.5rem; + + .footer-left-wrap { + display: none; + } + + .footer-right-wrap { + justify-content: center; + + .copyright .copyright-item { + color: #fff; + font-size: 16px; + line-height: 18px; + } + } + } +} diff --git a/src/blog/.vuepress/styles/palette.styl b/src/blog/.vuepress/styles/palette.styl new file mode 100755 index 000000000..9feee85ee --- /dev/null +++ b/src/blog/.vuepress/styles/palette.styl @@ -0,0 +1 @@ +@require '../../../shared/styles/palette'; \ No newline at end of file diff --git a/src/blog/.vuepress/theme/components/DropdownLink.vue b/src/blog/.vuepress/theme/components/DropdownLink.vue new file mode 100644 index 000000000..be6563fae --- /dev/null +++ b/src/blog/.vuepress/theme/components/DropdownLink.vue @@ -0,0 +1,252 @@ + + + + + diff --git a/src/blog/.vuepress/theme/components/DropdownTransition.vue b/src/blog/.vuepress/theme/components/DropdownTransition.vue new file mode 100644 index 000000000..eeaf12b5c --- /dev/null +++ b/src/blog/.vuepress/theme/components/DropdownTransition.vue @@ -0,0 +1,33 @@ + + + + + diff --git a/src/blog/.vuepress/theme/components/NavLink.vue b/src/blog/.vuepress/theme/components/NavLink.vue new file mode 100644 index 000000000..f7e65a445 --- /dev/null +++ b/src/blog/.vuepress/theme/components/NavLink.vue @@ -0,0 +1,90 @@ + + + diff --git a/src/blog/.vuepress/theme/components/NavLinks.vue b/src/blog/.vuepress/theme/components/NavLinks.vue new file mode 100644 index 000000000..2656ae275 --- /dev/null +++ b/src/blog/.vuepress/theme/components/NavLinks.vue @@ -0,0 +1,156 @@ + + + + + diff --git a/src/blog/.vuepress/theme/components/Navbar.vue b/src/blog/.vuepress/theme/components/Navbar.vue new file mode 100644 index 000000000..3cd429710 --- /dev/null +++ b/src/blog/.vuepress/theme/components/Navbar.vue @@ -0,0 +1,131 @@ + + + + + diff --git a/src/blog/.vuepress/theme/components/PostMeta.vue b/src/blog/.vuepress/theme/components/PostMeta.vue new file mode 100644 index 000000000..32671ea73 --- /dev/null +++ b/src/blog/.vuepress/theme/components/PostMeta.vue @@ -0,0 +1,87 @@ + + + + + \ No newline at end of file diff --git a/src/blog/.vuepress/theme/components/Sidebar.vue b/src/blog/.vuepress/theme/components/Sidebar.vue new file mode 100644 index 000000000..727f18999 --- /dev/null +++ b/src/blog/.vuepress/theme/components/Sidebar.vue @@ -0,0 +1,63 @@ + + + + + diff --git a/src/blog/.vuepress/theme/components/SidebarButton.vue b/src/blog/.vuepress/theme/components/SidebarButton.vue new file mode 100644 index 000000000..3f54afd55 --- /dev/null +++ b/src/blog/.vuepress/theme/components/SidebarButton.vue @@ -0,0 +1,40 @@ + + + diff --git a/src/blog/.vuepress/theme/components/SidebarGroup.vue b/src/blog/.vuepress/theme/components/SidebarGroup.vue new file mode 100644 index 000000000..d7f192946 --- /dev/null +++ b/src/blog/.vuepress/theme/components/SidebarGroup.vue @@ -0,0 +1,141 @@ + + + + + diff --git a/src/blog/.vuepress/theme/components/SidebarLink.vue b/src/blog/.vuepress/theme/components/SidebarLink.vue new file mode 100644 index 000000000..4cd7665ae --- /dev/null +++ b/src/blog/.vuepress/theme/components/SidebarLink.vue @@ -0,0 +1,133 @@ + + + diff --git a/src/blog/.vuepress/theme/components/SidebarLinks.vue b/src/blog/.vuepress/theme/components/SidebarLinks.vue new file mode 100644 index 000000000..ea084e25c --- /dev/null +++ b/src/blog/.vuepress/theme/components/SidebarLinks.vue @@ -0,0 +1,103 @@ + + + diff --git a/src/blog/.vuepress/theme/index.js b/src/blog/.vuepress/theme/index.js new file mode 100644 index 000000000..43caa7d66 --- /dev/null +++ b/src/blog/.vuepress/theme/index.js @@ -0,0 +1,3 @@ +module.exports = { + extend: '@vuepress/theme-blog', +}; \ No newline at end of file diff --git a/src/blog/.vuepress/theme/layouts/GlobalLayout.vue b/src/blog/.vuepress/theme/layouts/GlobalLayout.vue new file mode 100644 index 000000000..5ca5e2051 --- /dev/null +++ b/src/blog/.vuepress/theme/layouts/GlobalLayout.vue @@ -0,0 +1,53 @@ + + + + + \ No newline at end of file diff --git a/src/blog/.vuepress/theme/layouts/Post.vue b/src/blog/.vuepress/theme/layouts/Post.vue new file mode 100644 index 000000000..fa8ae3a85 --- /dev/null +++ b/src/blog/.vuepress/theme/layouts/Post.vue @@ -0,0 +1,76 @@ + + + + + diff --git a/src/blog/.vuepress/theme/util/index.js b/src/blog/.vuepress/theme/util/index.js new file mode 100644 index 000000000..92fcd3b31 --- /dev/null +++ b/src/blog/.vuepress/theme/util/index.js @@ -0,0 +1,244 @@ +export const hashRE = /#.*$/ +export const extRE = /\.(md|html)$/ +export const endingSlashRE = /\/$/ +export const outboundRE = /^[a-z]+:/i + +export function normalize (path) { + return decodeURI(path) + .replace(hashRE, '') + .replace(extRE, '') +} + +export function getHash (path) { + const match = path.match(hashRE) + if (match) { + return match[0] + } +} + +export function isExternal (path) { + return outboundRE.test(path) +} + +export function isMailto (path) { + return /^mailto:/.test(path) +} + +export function isTel (path) { + return /^tel:/.test(path) +} + +export function ensureExt (path) { + if (isExternal(path)) { + return path + } + const hashMatch = path.match(hashRE) + const hash = hashMatch ? hashMatch[0] : '' + const normalized = normalize(path) + + if (endingSlashRE.test(normalized)) { + return path + } + return normalized + '.html' + hash +} + +export function isActive (route, path) { + const routeHash = decodeURIComponent(route.hash) + const linkHash = getHash(path) + if (linkHash && routeHash !== linkHash) { + return false + } + const routePath = normalize(route.path) + const pagePath = normalize(path) + return routePath === pagePath +} + +export function resolvePage (pages, rawPath, base) { + if (isExternal(rawPath)) { + return { + type: 'external', + path: rawPath + } + } + if (base) { + rawPath = resolvePath(rawPath, base) + } + const path = normalize(rawPath) + for (let i = 0; i < pages.length; i++) { + if (normalize(pages[i].regularPath) === path) { + return Object.assign({}, pages[i], { + type: 'page', + path: ensureExt(pages[i].path) + }) + } + } + console.error(`[vuepress] No matching page found for sidebar item "${rawPath}"`) + return {} +} + +function resolvePath (relative, base, append) { + const firstChar = relative.charAt(0) + if (firstChar === '/') { + return relative + } + + if (firstChar === '?' || firstChar === '#') { + return base + relative + } + + const stack = base.split('/') + + // remove trailing segment if: + // - not appending + // - appending to trailing slash (last segment is empty) + if (!append || !stack[stack.length - 1]) { + stack.pop() + } + + // resolve relative path + const segments = relative.replace(/^\//, '').split('/') + for (let i = 0; i < segments.length; i++) { + const segment = segments[i] + if (segment === '..') { + stack.pop() + } else if (segment !== '.') { + stack.push(segment) + } + } + + // ensure leading slash + if (stack[0] !== '') { + stack.unshift('') + } + + return stack.join('/') +} + +/** + * @param { Page } page + * @param { string } regularPath + * @param { SiteData } site + * @param { string } localePath + * @returns { SidebarGroup } + */ +export function resolveSidebarItems (page, regularPath, site, localePath) { + const { pages, themeConfig } = site + + const localeConfig = localePath && themeConfig.locales + ? themeConfig.locales[localePath] || themeConfig + : themeConfig + + const pageSidebarConfig = page.frontmatter.sidebar || localeConfig.sidebar || themeConfig.sidebar + if (pageSidebarConfig === 'auto') { + return resolveHeaders(page) + } + + const sidebarConfig = localeConfig.sidebar || themeConfig.sidebar + if (!sidebarConfig) { + return [] + } else { + const { base, config } = resolveMatchingConfig(regularPath, sidebarConfig) + if (config === 'auto') { + return resolveHeaders(page) + } + return config + ? config.map(item => resolveItem(item, pages, base)) + : [] + } +} + +/** + * @param { Page } page + * @returns { SidebarGroup } + */ +function resolveHeaders (page) { + const headers = groupHeaders(page.headers || []) + return [{ + type: 'group', + collapsable: false, + title: page.title, + path: null, + children: headers.map(h => ({ + type: 'auto', + title: h.title, + basePath: page.path, + path: page.path + '#' + h.slug, + children: h.children || [] + })) + }] +} + +export function groupHeaders (headers) { + // group h3s under h2 + headers = headers.map(h => Object.assign({}, h)) + let lastH2 + headers.forEach(h => { + if (h.level === 2) { + lastH2 = h + } else if (lastH2) { + (lastH2.children || (lastH2.children = [])).push(h) + } + }) + return headers.filter(h => h.level === 2) +} + +export function resolveNavLinkItem (linkItem) { + return Object.assign(linkItem, { + type: linkItem.items && linkItem.items.length ? 'links' : 'link' + }) +} + +/** + * @param { Route } route + * @param { Array | Array | [link: string]: SidebarConfig } config + * @returns { base: string, config: SidebarConfig } + */ +export function resolveMatchingConfig (regularPath, config) { + if (Array.isArray(config)) { + return { + base: '/', + config: config + } + } + for (const base in config) { + if (ensureEndingSlash(regularPath).indexOf(encodeURI(base)) === 0) { + return { + base, + config: config[base] + } + } + } + return {} +} + +function ensureEndingSlash (path) { + return /(\.html|\/)$/.test(path) + ? path + : path + '/' +} + +function resolveItem (item, pages, base, groupDepth = 1) { + if (typeof item === 'string') { + return resolvePage(pages, item, base) + } else if (Array.isArray(item)) { + return Object.assign(resolvePage(pages, item[0], base), { + title: item[1] + }) + } else { + const children = item.children || [] + if (children.length === 0 && item.path) { + return Object.assign(resolvePage(pages, item.path, base), { + title: item.title + }) + } + return { + type: 'group', + path: item.path, + title: item.title, + sidebarDepth: item.sidebarDepth, + initialOpenGroupIndex: item.initialOpenGroupIndex, + children: children.map(child => resolveItem(child, pages, base, groupDepth + 1)), + collapsable: item.collapsable !== false + } + } +} diff --git a/blog/2021-09-30-long-term-commitment-and-support-for-the-cadence-project-and-its-community.md b/src/blog/_posts/2021-09-30-long-term-commitment-and-support-for-the-cadence-project-and-its-community.md similarity index 51% rename from blog/2021-09-30-long-term-commitment-and-support-for-the-cadence-project-and-its-community.md rename to src/blog/_posts/2021-09-30-long-term-commitment-and-support-for-the-cadence-project-and-its-community.md index bc33d9eb7..4fb9c4d55 100644 --- a/blog/2021-09-30-long-term-commitment-and-support-for-the-cadence-project-and-its-community.md +++ b/src/blog/_posts/2021-09-30-long-term-commitment-and-support-for-the-cadence-project-and-its-community.md @@ -1,9 +1,8 @@ --- title: Long-term commitment and support for the Cadence project, and its community date: 2021-09-30 -authors: meiliang86 -tags: - - announcement +author: Liang Mei +authorlink: https://www.linkedin.com/in/meiliang86/ --- Dear valued Cadence users and developers, @@ -12,11 +11,10 @@ Dear valued Cadence users and developers, Some of you might have read Temporal’s recent announcement about their decision to drop the support for the Cadence project. This message caused some confusion in the community, so we would like to take this opportunity to clear things out. -First of all, **Uber is committed to the long-term success of the Cadence project**. Since its inception 5 years ago, use cases built on Cadence and their scale have grown significantly at Uber. Today, Cadence powers a variety of our most business-critical use cases (some public stories are available [here](https://eng.uber.com/hadoop-container-blog/) and [here](https://eng.uber.com/meet-sao-paulo-tech/)). At the same time, the Cadence development team at Uber has enjoyed rapid growth with the product and has been driving innovations of workflow technology across the board, from new features (e.g. [graceful failover](https://github.com/cadence-workflow/cadence/pulls?q=is%3Apr+graceful+failover), [workflow shadowing](https://cadenceworkflow.io/docs/java-client/workflow-replay-shadowing/#workflow-replayer), [UI improvements](https://github.com/cadence-workflow/cadence-web/commits/master)) to better engineering foundations (e.g. [gRPC support](https://github.com/cadence-workflow/cadence/pulls?q=is%3Apr+grpc), [multi-tenancy support](https://github.com/cadence-workflow/cadence/pulls?q=is%3Apr+label%3A%22cadence+multi-tenancy%22+)), all in a backwards compatible manner. Neither Uber’s use nor support of Cadence is going to change with Temporal’s announcement. We have a long list of features and exciting roadmaps ahead of us, and we will share more details in our next meetup in November β€˜21. As always we will continue to push the boundaries of scale and reliability as our usage within Uber grows. +First of all, **Uber is committed to the long-term success of the Cadence project**. Since its inception 5 years ago, use cases built on Cadence and their scale have grown significantly at Uber. Today, Cadence powers a variety of our most business-critical use cases (some public stories are available [here](https://eng.uber.com/hadoop-container-blog/) and [here](https://eng.uber.com/meet-sao-paulo-tech/)). At the same time, the Cadence development team at Uber has enjoyed rapid growth with the product and has been driving innovations of workflow technology across the board, from new features (e.g. [graceful failover](https://github.com/uber/cadence/pulls?q=is%3Apr+graceful+failover), [workflow shadowing](https://cadenceworkflow.io/docs/java-client/workflow-replay-shadowing/#workflow-replayer), [UI improvements](https://github.com/uber/cadence-web/commits/master)) to better engineering foundations (e.g. [gRPC support](https://github.com/uber/cadence/pulls?q=is%3Apr+grpc), [multi-tenancy support](https://github.com/uber/cadence/pulls?q=is%3Apr+label%3A%22cadence+multi-tenancy%22+)), all in a backwards compatible manner. Neither Uber’s use nor support of Cadence is going to change with Temporal’s announcement. We have a long list of features and exciting roadmaps ahead of us, and we will share more details in our next meetup in November β€˜21. As always we will continue to push the boundaries of scale and reliability as our usage within Uber grows. - -Secondly, **we are committed to maintaining and growing a healthy and collaborative community**. Cadence continues to attract attention as a [popular open source platform](https://star-history.t9t.io/#cadence-workflow/cadence), with more than 100 contributors to our project, and more than 1500 developers in our [open source Slack support channel](https://t.uber.com/cadence-slack). The Uber Cadence team, along with our open source partners like [Long](https://www.linkedin.com/in/prclqz/) from Indeed, have been behind the management and support of the Cadence open source community for the past 2 years. Moving forward, we are going to work even more closely with our community, through a series of online and offline channels including meetups, office hours, tech deep dives, and design consultations. We would also like to scale the way we operate, by creating a **Cadence OSS Committee** that allows us to maintain a closer relationship with its members, so that we can learn from each other's Cadence experiences and grow together. Please definitely let us know your suggestions on the type of engagements that you would like to see with the core team. +Secondly, **we are committed to maintaining and growing a healthy and collaborative community**. Cadence continues to attract attention as a [popular open source platform](https://star-history.t9t.io/#uber/cadence), with more than 100 contributors to our project, and more than 1500 developers in our [open source Slack support channel](https://t.uber.com/cadence-slack). The Uber Cadence team, along with our open source partners like [Long](https://www.linkedin.com/in/prclqz/) from Indeed, have been behind the management and support of the Cadence open source community for the past 2 years. Moving forward, we are going to work even more closely with our community, through a series of online and offline channels including meetups, office hours, tech deep dives, and design consultations. We would also like to scale the way we operate, by creating a **Cadence OSS Committee** that allows us to maintain a closer relationship with its members, so that we can learn from each other's Cadence experiences and grow together. Please definitely let us know your suggestions on the type of engagements that you would like to see with the core team. **About Temporal and its β€œEOL announcement”** diff --git a/blog/2021-10-13-announcing-cadence-oss-office-hours-and-community-sync-up.md b/src/blog/_posts/2021-10-13-announcing-cadence-oss-office-hours-and-community-sync-up.md similarity index 96% rename from blog/2021-10-13-announcing-cadence-oss-office-hours-and-community-sync-up.md rename to src/blog/_posts/2021-10-13-announcing-cadence-oss-office-hours-and-community-sync-up.md index 01db1b50a..2249cd083 100644 --- a/blog/2021-10-13-announcing-cadence-oss-office-hours-and-community-sync-up.md +++ b/src/blog/_posts/2021-10-13-announcing-cadence-oss-office-hours-and-community-sync-up.md @@ -2,10 +2,8 @@ title: Announcing Cadence OSS office hours and community sync up date: 2021-10-13 -authors: meiliang86 -tags: - - announcement - - roadmap +author: Liang Mei +authorlink: https://www.linkedin.com/in/meiliang86/ --- Are you a current Cadence user, do you operate Cadence services, or are you interested in learning about workflow technologies and wonder what problems Cadence could solve for you? We would like to talk to you! @@ -31,6 +29,5 @@ Building and maintaining a healthy and growing community is the key to the succe As we have a geo-distributed userbase, we are still trying to figure out a time that works for most of the people. In the meanwhile, we will manually schedule the first few instances of the meeting until we settle on a fixed schedule. Our next office hours will take place on **Thursday, October 21 2pm-3pm PT/5pm-6pm EST/9pm-10pm GMT**. Please join via [this zoom link](https://uber.zoom.us/j/92356466350?pwd=RFVTc2pwV0xoVTdlK3VxN3N2eU5UZz09). - -The Uber Cadence team +The Uber Cadence team \ No newline at end of file diff --git a/blog/2021-10-19-moving-to-grpc/2021-10-19-moving-to-grpc.md b/src/blog/_posts/2021-10-19-moving-to-grpc.md similarity index 51% rename from blog/2021-10-19-moving-to-grpc/2021-10-19-moving-to-grpc.md rename to src/blog/_posts/2021-10-19-moving-to-grpc.md index 9d15f4dd5..87d6658bf 100644 --- a/blog/2021-10-19-moving-to-grpc/2021-10-19-moving-to-grpc.md +++ b/src/blog/_posts/2021-10-19-moving-to-grpc.md @@ -2,10 +2,8 @@ title: Moving to gRPC date: 2021-10-19 -authors: vytautas-karpavicius -tags: - - deep-dive - - cadence-operations +author: Vytautas Karpavicius +authorlink: https://www.linkedin.com/in/vytautas-karpavicius --- ## Background @@ -16,35 +14,33 @@ With ~500 services using Cadence at Uber and many more open source customers aro Cadence was using Thrift/TChannel not just for the API with client SDKs. They were also used for RPC calls between internal Cadence server components and also between different data centers. When starting this migration we had a choice of either starting with public APIs first or all the internal things within the server. We chose the latter one, so that we could gain experience and iterate faster within the server without disruption to the clients. With server side done and listening for both protocols, dynamic config flag was exposed to switch traffic internally. It allowed gradual deployment and provided an option to rollback if needed. - - -The next step - client migration. We have more users for the Go SDK at Uber, that is why we started with it. Current version of SDK exposes Thrift types via public API, therefore we can not remove them without breaking changes. While we have plans for revamped v2 SDK, current users are able to use gRPC as well - with the help of a [translation adapter](https://github.com/cadence-workflow/cadence-go-client/blob/v0.18.2/compatibility/thrift2proto.go). Migration is underway starting with [cadence canary service](https://github.com/cadence-workflow/cadence/tree/master/canary), and then onboarding user services one by one. +The next step - client migration. We have more users for the Go SDK at Uber, that is why we started with it. Current version of SDK exposes Thrift types via public API, therefore we can not remove them without breaking changes. While we have plans for revamped v2 SDK, current users are able to use gRPC as well - with the help of a [translation adapter](https://github.com/uber-go/cadence-client/blob/v0.18.2/compatibility/thrift2proto.go). Migration is underway starting with [cadence canary service](https://github.com/uber/cadence/tree/master/canary), and then onboarding user services one by one. We plan to support TChannel for a few more releases and then eventually drop it in a future. ## System overview -![gRPC migration overview](./grpc-migration.svg) - -1. The frontend of [Cadence Server](https://github.com/cadence-workflow/cadence) exposes two inbounds for both gRPC and TChannel starting [v0.21.0 release](https://github.com/cadence-workflow/cadence/releases/tag/v0.21.0). gRPC traffic is being served on a different port that can be configured [here](https://github.com/cadence-workflow/cadence/blob/v0.21.0/config/development.yaml#L25). For gRPC API we introduced [proto IDL](https://github.com/cadence-workflow/cadence-idl/tree/master/proto/cadence-workflow/cadence/api/v1) definitions. We will keep TChannel open on frontend for some time to allow gradual client migration. -2. Starting with [v0.21.0](https://github.com/cadence-workflow/cadence/releases/tag/v0.21.0) internal components of Cadence Server (history & matching) also started accepting gRPC traffic. Sending traffic via gRPC is off by default and could be enabled with a flag in [dynamic config](https://github.com/cadence-workflow/cadence/blob/v0.21.0/config/dynamicconfig/development.yaml#L10). Planned for v0.24.0 it will be enabled by default, with an option to opt-out. -3. Starting with v0.23.0 communication between different Cadence clusters can be switched to gRPC via this [configuration](https://github.com/cadence-workflow/cadence/blob/0.23.x/config/development_active.yaml#L82). It is used for replication and request redirection to different DC. -4. [Go SDK](https://github.com/cadence-workflow/cadence-go-client) has exposed generated Thrift types via its public API. This complicated migration, because switching them to proto types (or rpc agnostic types) means breaking changes. Because of this we are pursuing two alternatives: - 1. (A) Short term: starting with [v0.18.2](https://github.com/cadence-workflow/cadence-go-client/releases/tag/v0.18.2) a [compatibility layer](https://github.com/cadence-workflow/cadence-go-client/blob/v0.18.2/compatibility/thrift2proto.go) is available which makes translation between thrift-proto types underneath. It allows using gRPC communication while still using Thrift based API. [Usage example](https://github.com/cadence-workflow/cadence-samples/pull/52). - 2. (B) Long term: we are currently designing v2 SDK that will support gRPC directly. Its API will be RPC agnostic and will include other usability improvements. You can check some ideas that are being considered [here](https://github.com/cadence-workflow/cadence-go-client/issues/1133). -5. [Java SDK](https://github.com/cadence-workflow/cadence-java-client) is currently on TChannel only. Move to gRPC is planned for 2022 H1. -6. It is now possible to communicate with gRPC from other languages as well. Use [proto IDLs](https://github.com/cadence-workflow/cadence-idl/tree/master/proto/cadence-workflow/cadence/api/v1) to generate bindings for your preferred language. [Minimal example](https://github.com/vytautas-karpavicius/cadence-python) for doing it in python. +![gRPC migration overview](/img/grpc-migration.svg) + +1. The frontend of [Cadence Server](https://github.com/uber/cadence) exposes two inbounds for both gRPC and TChannel starting [v0.21.0 release](https://github.com/uber/cadence/releases/tag/v0.21.0). gRPC traffic is being served on a different port that can be configured [here](https://github.com/uber/cadence/blob/v0.21.0/config/development.yaml#L25). For gRPC API we introduced [proto IDL](https://github.com/uber/cadence-idl/tree/master/proto/uber/cadence/api/v1) definitions. We will keep TChannel open on frontend for some time to allow gradual client migration. +2. Starting with [v0.21.0](https://github.com/uber/cadence/releases/tag/v0.21.0) internal components of Cadence Server (history & matching) also started accepting gRPC traffic. Sending traffic via gRPC is off by default and could be enabled with a flag in [dynamic config](https://github.com/uber/cadence/blob/v0.21.0/config/dynamicconfig/development.yaml#L10). Planned for v0.24.0 it will be enabled by default, with an option to opt-out. +3. Starting with v0.23.0 communication between different Cadence clusters can be switched to gRPC via this [configuration](https://github.com/uber/cadence/blob/0.23.x/config/development_active.yaml#L82). It is used for replication and request redirection to different DC. +4. [Go SDK](https://github.com/uber-go/cadence-client) has exposed generated Thrift types via its public API. This complicated migration, because switching them to proto types (or rpc agnostic types) means breaking changes. Because of this we are pursuing two alternatives: + 1. (A) Short term: starting with [v0.18.2](https://github.com/uber-go/cadence-client/releases/tag/v0.18.2) a [compatibility layer](https://github.com/uber-go/cadence-client/blob/v0.18.2/compatibility/thrift2proto.go) is available which makes translation between thrift-proto types underneath. It allows using gRPC communication while still using Thrift based API. [Usage example](https://github.com/uber-common/cadence-samples/pull/52). + 2. (B) Long term: we are currently designing v2 SDK that will support gRPC directly. Its API will be RPC agnostic and will include other usability improvements. You can check some ideas that are being considered [here](https://github.com/uber-go/cadence-client/issues/1133). +5. [Java SDK](https://github.com/uber/cadence-java-client) is currently on TChannel only. Move to gRPC is planned for 2022 H1. +6. It is now possible to communicate with gRPC from other languages as well. Use [proto IDLs](https://github.com/uber/cadence-idl/tree/master/proto/uber/cadence/api/v1) to generate bindings for your preferred language. [Minimal example](https://github.com/vytautas-karpavicius/cadence-python) for doing it in python. 7. WebUI and CLI are currently on TChannel. They are planned to be switched to gRPC for 2022 H1. ## Migration steps ### Upgrading Cadence server -In order to start using gRPC please upgrade Cadence server to **[v0.22.0](https://github.com/cadence-workflow/cadence/releases/tag/v0.22.0) or later**. -1. If you are using an older version (before v0.21.0), make sure to disable internal gRPC communication at first. Needed to ensure that all nodes in the cluster are ready to accept gRPC traffic, before switching it on. This is controlled by the [system.enableGRPCOutbound](https://github.com/cadence-workflow/cadence/blob/v0.21.0/config/dynamicconfig/development.yaml#L10) flag in dynamic config. +In order to start using gRPC please upgrade Cadence server to **[v0.22.0](https://github.com/uber/cadence/releases/tag/v0.22.0) or later**. +1. If you are using an older version (before v0.21.0), make sure to disable internal gRPC communication at first. Needed to ensure that all nodes in the cluster are ready to accept gRPC traffic, before switching it on. This is controlled by the [system.enableGRPCOutbound](https://github.com/uber/cadence/blob/v0.21.0/config/dynamicconfig/development.yaml#L10) flag in dynamic config. 2. Once deployed, flip system.enableGRPCOutbound to true. It will require a cluster restart for setting to take effect. -3. If you are operating in more than one DC - recommended server version to upgrade to is v0.23.0 or newer. Once individual clusters with gRPC support are deployed, please update [config](https://github.com/cadence-workflow/cadence/blob/0.23.x/config/development_active.yaml#L82) to switch cross DC traffic to gRPC. Don’t forget to update ports as well. We also recommend increasing [grpcMaxMsgSize](https://github.com/cadence-workflow/cadence/blob/0.23.x/config/development.yaml#L29) to 32MB which is needed to ensure smooth replication. After config change you will need a restart for setting to take effect. +3. If you are operating in more than one DC - recommended server version to upgrade to is v0.23.0 or newer. Once individual clusters with gRPC support are deployed, please update [config](https://github.com/uber/cadence/blob/0.23.x/config/development_active.yaml#L82) to switch cross DC traffic to gRPC. Don’t forget to update ports as well. We also recommend increasing [grpcMaxMsgSize](https://github.com/uber/cadence/blob/0.23.x/config/development.yaml#L29) to 32MB which is needed to ensure smooth replication. After config change you will need a restart for setting to take effect. 4. Do not forget that gRPC runs on a different port, therefore you might need to open it on docker containers, firewalls, etc. ### Upgrading clients -1. GoSDK - Follow an [example](https://github.com/cadence-workflow/cadence-samples/pull/52) to inject Thrift-to-proto adapter during client initialization and update your config to use the gRPC port. +1. GoSDK - Follow an [example](https://github.com/uber-common/cadence-samples/pull/52) to inject Thrift-to-proto adapter during client initialization and update your config to use the gRPC port. ### Status at Uber * All clusters run gRPC traffic internally for 4 months without any issues. diff --git a/blog/2022-01-31-community-spotlight-january-2022.md b/src/blog/_posts/2022-01-31-community-spotlight-january-2022.md similarity index 97% rename from blog/2022-01-31-community-spotlight-january-2022.md rename to src/blog/_posts/2022-01-31-community-spotlight-january-2022.md index 516c7dada..c717ab197 100644 --- a/blog/2022-01-31-community-spotlight-january-2022.md +++ b/src/blog/_posts/2022-01-31-community-spotlight-january-2022.md @@ -2,10 +2,8 @@ title: Cadence Community Spotlight Update - January 2022 date: 2022-01-31 -authors: sharanf -tags: - - community-spotlight - - roadmap +author: Sharan Foga +authorlink: https://www.linkedin.com/in/sfoga/ --- Welcome to our very first Cadence Community Spotlight update! @@ -14,8 +12,6 @@ This monthly update focuses on news from the wider Cadence community and is all Please see below for a short round up of things that have happened recently in the community. - - ## Community Related Office Hours On the 12th January 2022 we held our first Cadence Community Related Office Hours. This session was focused on discussing how we plan and organise things for the community. This includes things such as Code of Conduct, managing social media and making sure we regularly communicate project news and events. diff --git a/blog/2022-02-28-community-spotlight-february-2022.md b/src/blog/_posts/2022-02-28-community-spotlight-february-2022.md similarity index 92% rename from blog/2022-02-28-community-spotlight-february-2022.md rename to src/blog/_posts/2022-02-28-community-spotlight-february-2022.md index e1012c371..a10f012e5 100644 --- a/blog/2022-02-28-community-spotlight-february-2022.md +++ b/src/blog/_posts/2022-02-28-community-spotlight-february-2022.md @@ -2,9 +2,8 @@ title: Cadence Community Spotlight Update - February 2022 date: 2022-02-28 -authors: sharanf -tags: - - community-spotlight +author: Sharan Foga +authorlink: https://www.linkedin.com/in/sfoga/ --- Welcome to the Cadence Community Spotlight update! @@ -20,8 +19,6 @@ Just in case you missed it the alpha version of the Cadence notification service Thanks very much to everyone that worked on this! - - ## Community Supporting the Community During February 16 questions were posted in the Cadence #support [Slack](http://t.uber.com/cadence-slack) channel from new Cadence users and existing community members looking for help and guidance. A very big thank you to the following community members who took the time to help others: Ali, David, Tamas Weisz, Liang Mei, Quanzheng Long, peaceChoi, Emrah Seker, Ben Slater and Sathyaraju Sekaran. @@ -37,7 +34,7 @@ Please subscribe and let us know what other videos you’d like to see there. ## Help us to Make Cadence even better -Are you interested in helping us improve Cadence? We are always looking for contributors to help share the workload. If you’d like to help then you can start by taking a look at our list of [open issues](https://github.com/cadence-workflow/cadence/issues) on Github. We currently have 320 of them that need to be worked on so if you want to learn more about Cadence and solve some of the reported issues then please take a look and volunteer to fix it. +Are you interested in helping us improve Cadence? We are always looking for contributors to help share the workload. If you’d like to help then you can start by taking a look at our list of [open issues](https://github.com/uber/cadence/issues) on Github. We currently have 320 of them that need to be worked on so if you want to learn more about Cadence and solve some of the reported issues then please take a look and volunteer to fix it. If you are new to Cadence or you’d like to try something simple then we have some issues labelled as β€˜good first issue’. These are a great place to start to get more Cadence experience. diff --git a/blog/2022-03-31-community-spotlight-update-march-2022.md b/src/blog/_posts/2022-03-31-community-spotlight-update-march-2022.md similarity index 98% rename from blog/2022-03-31-community-spotlight-update-march-2022.md rename to src/blog/_posts/2022-03-31-community-spotlight-update-march-2022.md index b943cbdf9..002cae038 100644 --- a/blog/2022-03-31-community-spotlight-update-march-2022.md +++ b/src/blog/_posts/2022-03-31-community-spotlight-update-march-2022.md @@ -2,9 +2,8 @@ title: Cadence Community Spotlight Update - March 2022 date: 2022-03-31 -authors: sharanf -tags: - - community-spotlight +author: Sharan Foga +authorlink: https://www.linkedin.com/in/sfoga/ --- Welcome to our Cadence Community Spotlight update! @@ -19,8 +18,6 @@ Did you know that we have an updated Cadence Service diagram on the website? Wel Special thanks to Ben Slater for updating the diagram and also to Ender, Emrah and Long for helping review it. - - ## Monthly Cadence Technical Office Hours Every month we hold a Technical Office Hours session via Zoom where you can speak directly with some of our Cadence experts. If you have a question about Cadence or are facing a particular issue getting it setup then please come along and chat to one of our experts! diff --git a/blog/2022-04-30-community-spotlight-update-april-2022.md b/src/blog/_posts/2022-04-30-community-spotlight-update-april-2022.md similarity index 87% rename from blog/2022-04-30-community-spotlight-update-april-2022.md rename to src/blog/_posts/2022-04-30-community-spotlight-update-april-2022.md index b252fbaef..5629e730d 100644 --- a/blog/2022-04-30-community-spotlight-update-april-2022.md +++ b/src/blog/_posts/2022-04-30-community-spotlight-update-april-2022.md @@ -2,9 +2,8 @@ title: Cadence Community Spotlight Update - April 2022 date: 2022-04-30 -authors: sharanf -tags: - - community-spotlight +author: Sharan Foga +authorlink: https://www.linkedin.com/in/sfoga/ --- Welcome to our Cadence Community Spotlight update! @@ -23,16 +22,14 @@ We have now set up Cadence accounts on [LinkedIn](https://www.linkedin.com/compa And don’t forget to share your news with us. We are looking forward to receiving your feedback and comments. The more we interact - the more we build our community! - - ## Proposal to Change the Way We Write Workflows -If you haven’t seen the proposal from community member [Quanzheng Long](https://www.linkedin.com/in/prclqz/) about creating a new way to write Cadence workflows then please take a look:[https://github.com/cadence-workflow/cadence/issues/4785](https://github.com/cadence-workflow/cadence/issues/4785). He has already received some initial feedback and is currently working on putting together a proof of concept demo to show the community. As soon as we have more news about it - we will let you know! +If you haven’t seen the proposal from community member [Quanzheng Long](https://www.linkedin.com/in/prclqz/) about creating a new way to write Cadence workflows then please take a look:[https://github.com/uber/cadence/issues/4785](https://github.com/uber/cadence/issues/4785). He has already received some initial feedback and is currently working on putting together a proof of concept demo to show the community. As soon as we have more news about it - we will let you know! ## Help Us Improve Cadence -Do you want to help us improve Cadence? We are always looking for contributors so any contribution you can make - however small is welcome. If you would like to start contributing then please take a look at the list of [Cadence Issues on Github](https://github.com/cadence-workflow/cadence/issues). We have some issues flagged with a tag of *β€˜good first issue'* that would be a great place to start. +Do you want to help us improve Cadence? We are always looking for contributors so any contribution you can make - however small is welcome. If you would like to start contributing then please take a look at the list of [Cadence Issues on Github](https://github.com/uber/cadence/issues). We have some issues flagged with a tag of *β€˜good first issue'* that would be a great place to start. Remember that we are not only looking for code contributions but also non coding ones such as documentation improvements so please take a look and select something to work on. diff --git a/blog/2022-05-31-community-spotlight-update-may-2022.md b/src/blog/_posts/2022-05-31-community-spotlight-update-may-2022.md similarity index 94% rename from blog/2022-05-31-community-spotlight-update-may-2022.md rename to src/blog/_posts/2022-05-31-community-spotlight-update-may-2022.md index e84d87101..f6aa4c48e 100644 --- a/blog/2022-05-31-community-spotlight-update-may-2022.md +++ b/src/blog/_posts/2022-05-31-community-spotlight-update-may-2022.md @@ -2,9 +2,8 @@ title: Cadence Community Spotlight Update - May 2022 date: 2022-05-31 -authors: sharanf -tags: - - community-spotlight +author: Sharan Foga +authorlink: https://www.linkedin.com/in/sfoga/ --- Welcome to our regular Cadence Community Spotlight update! @@ -21,11 +20,9 @@ A [Github repository](https://github.com/instaclustr/cadence-cookbooks-instafood So please go ahead and try out the cookbook and don’t forget to let us have your feedback. - - ## Congratulations to a First Time Contributor -We are always looking for ways to encourage project participation. It doesn't matter how large the contribution is or whether it is coding or non coding related. This month one of our community members had [their first PR merged](https://github.com/cadence-workflow/Cadence-Docs/pull/107)- so congratulations and many thanks for the contribution [tonyxrandall](https://github.com/tonyxrandall)! +We are always looking for ways to encourage project participation. It doesn't matter how large the contribution is or whether it is coding or non coding related. This month one of our community members had [their first PR merged](https://github.com/uber/Cadence-Docs/pull/107)- so congratulations and many thanks for the contribution [tonyxrandall](https://github.com/tonyxrandall)! ## Share Your News! diff --git a/blog/2022-06-30-community-spotlight-update-june-2022.md b/src/blog/_posts/2022-06-30-community-spotlight-update-june-2022.md similarity index 98% rename from blog/2022-06-30-community-spotlight-update-june-2022.md rename to src/blog/_posts/2022-06-30-community-spotlight-update-june-2022.md index 00cdaede8..08fbaa2fc 100644 --- a/blog/2022-06-30-community-spotlight-update-june-2022.md +++ b/src/blog/_posts/2022-06-30-community-spotlight-update-june-2022.md @@ -2,9 +2,8 @@ title: Cadence Community Spotlight Update - June 2022 date: 2022-06-30 -authors: sharanf -tags: - - community-spotlight +author: Sharan Foga +authorlink: https://www.linkedin.com/in/sfoga/ --- It’s time for our monthly Cadence Community Spotlight update with news from in and around the Cadence community! @@ -23,8 +22,6 @@ Over the last few months we have been holding regular monthly Office Hours meeti If you have any ideas or comments about how we can improve our community office hours sessions then please include this in your feedback or contact us in the #community Slack channel. - - ## Cadence Stability Improvements Is Cadence getting better? Yes it is! Many of you may have noticed that Cadence is improving.That is because of the amount of work being done behind the scenes. The Cadence core team has been doing a lot of work to stabilise Cadence functionality. Keep watching out for even more improvements! diff --git a/blog/2022-07-31-community-spotlight-update-july-2022.md b/src/blog/_posts/2022-07-31-community-spotlight-update-july-2022.md similarity index 92% rename from blog/2022-07-31-community-spotlight-update-july-2022.md rename to src/blog/_posts/2022-07-31-community-spotlight-update-july-2022.md index 52318f770..2292d0b34 100644 --- a/blog/2022-07-31-community-spotlight-update-july-2022.md +++ b/src/blog/_posts/2022-07-31-community-spotlight-update-july-2022.md @@ -2,9 +2,8 @@ title: Cadence Community Spotlight Update - July 2022 date: 2022-07-31 -authors: sharanf -tags: - - community-spotlight +author: Sharan Foga +authorlink: https://www.linkedin.com/in/sfoga/ --- Here’s our monthly Community Spotlight update that gives you news from in and around the Cadence community! @@ -19,11 +18,9 @@ Don’t forget to try out the code yourself and remember if you have used Cadenc ## GitHub Statistics -During July the main Cadence branch had 28 pull requests (PRs) merged. There were 214 files changed by 11 different authors. You can find more details [here](https://github.com/cadence-workflow/cadence/pulse/monthly) +During July the main Cadence branch had 28 pull requests (PRs) merged. There were 214 files changed by 11 different authors. You can find more details [here](https://github.com/uber/cadence/pulse/monthly) -The Cadence documentation repository was not as busy with only 2 PRs merged in July, 5 commits and 3 authors active. More details can be found [here](https://github.com/cadence-workflow/Cadence-Docs/pulse/monthly ) - - +The Cadence documentation repository was not as busy with only 2 PRs merged in July, 5 commits and 3 authors active. More details can be found [here](https://github.com/uber/Cadence-Docs/pulse/monthly ) ## Cadence Roadmap diff --git a/blog/2022-08-31-community-spotlight-august-2022.md b/src/blog/_posts/2022-08-31-community-spotlight-august-2022.md similarity index 92% rename from blog/2022-08-31-community-spotlight-august-2022.md rename to src/blog/_posts/2022-08-31-community-spotlight-august-2022.md index 1021de616..e20b76222 100644 --- a/blog/2022-08-31-community-spotlight-august-2022.md +++ b/src/blog/_posts/2022-08-31-community-spotlight-august-2022.md @@ -2,9 +2,8 @@ title: Cadence Community Spotlight Update - August 2022 date: 2022-08-31 -authors: sharanf -tags: - - community-spotlight +author: Sharan Foga +authorlink: https://www.linkedin.com/in/sfoga/ --- Here’s the latest in our regular monthly Community Spotlight updates that gives you news from in and around the Cadence community! @@ -22,8 +21,6 @@ We are working on putting together our first community survey to find out a bit So please watch out for the survey which will be coming out to you via the Slack channel soon! - - ## Support Activity We have noticed that community activity is increasing and that we are continuing to respond to questions in our Slack #support channel. Eight questions have been posted in the channel this month and another seven questions have been posted on StackOverflow. We encourage people to post their questions on StackOverflow so that the response can be shared. You can also post a link to the StackOverflow question in the support channel to be extra sure it gets seen by our community members. @@ -34,7 +31,7 @@ We are looking always forward to receiving more of your questions! Do you remember our GitHub Statistics from last month? Don't worry if you don't! In July we had 28 pull requests (PRs) merged into the code repository. This month we have had 43 PRs merged (nearly double!)- so you can see the level of activity is also increasing in terms of the project code. -If you are interested in contributing to Cadence then please take a look at our [Contribution Guidelines](https://github.com/cadence-workflow/cadence/blob/86f645da952e15d7a7415cdf9fcd2726f28063a6/CONTRIBUTING.md) and also our list of [good first issues](https://github.com/cadence-workflow/cadence/contribute) to work on. +If you are interested in contributing to Cadence then please take a look at our [Contribution Guidelines](https://github.com/uber/cadence/blob/86f645da952e15d7a7415cdf9fcd2726f28063a6/CONTRIBUTING.md) and also our list of [good first issues](https://github.com/uber/cadence/contribute) to work on. ## Come Along to Our Next Cadence Meetup! diff --git a/blog/2022-09-30-community-spotlight-september-2022.md b/src/blog/_posts/2022-09-30-community-spotlight-september-2022.md similarity index 97% rename from blog/2022-09-30-community-spotlight-september-2022.md rename to src/blog/_posts/2022-09-30-community-spotlight-september-2022.md index 4d9d50cdc..2b6e8d2c6 100644 --- a/blog/2022-09-30-community-spotlight-september-2022.md +++ b/src/blog/_posts/2022-09-30-community-spotlight-september-2022.md @@ -2,9 +2,8 @@ title: Cadence Community Spotlight Update - September 2022 date: 2022-10-11 -authors: sharanf -tags: - - community-spotlight +author: Sharan Foga +authorlink: https://www.linkedin.com/in/sfoga/ --- Here’s the latest in our regular monthly Community Spotlight updates that gives you news from in and around the Cadence community! @@ -23,8 +22,6 @@ Over the last few months we have had a continual stream of Cadence questions in Remember that if you have received a response that has solved your problem especially on StackOverflow then please don't forget to accept answer! - - ## Cadence in the News! Below are a selection of Cadence related articles, blogs and whitepapers. Please take a look and feel free to share via your own social media channels. diff --git a/blog/2022-10-31-community-spotlight-october-2022.md b/src/blog/_posts/2022-10-31-community-spotlight-october-2022.md similarity index 97% rename from blog/2022-10-31-community-spotlight-october-2022.md rename to src/blog/_posts/2022-10-31-community-spotlight-october-2022.md index 76e589306..18a5462db 100644 --- a/blog/2022-10-31-community-spotlight-october-2022.md +++ b/src/blog/_posts/2022-10-31-community-spotlight-october-2022.md @@ -2,9 +2,8 @@ title: Cadence Community Spotlight Update - October 2022 date: 2022-10-31 -authors: sharanf -tags: - - community-spotlight +author: Sharan Foga +authorlink: https://www.linkedin.com/in/sfoga/ --- Here’s the latest in our regular monthly Community Spotlight updates that gives you news from in and around the Cadence community! @@ -23,8 +22,6 @@ If you missed the session then you will be happy to know that it was recorded an Thanks to the Doordash team for running the session and helping support Cadence by sharing their knowledge. - - ## iWF Support for Cadence ## Community member [Quanzheng Long](https://www.linkedin.com/in/prclqz/) has been busy working on a new project that has been built on top of Cadence. The project is called [iWF - Interpreter for Workflow](https://github.com/indeedeng/iwf). It's great to see that Cadence is now growing it's own ecosystem! diff --git a/blog/2022-11-30-community-spotlight-november-2022.md b/src/blog/_posts/2022-11-30-community-spotlight-november-2022.md similarity index 97% rename from blog/2022-11-30-community-spotlight-november-2022.md rename to src/blog/_posts/2022-11-30-community-spotlight-november-2022.md index 012ad47cd..c6a06fc3e 100644 --- a/blog/2022-11-30-community-spotlight-november-2022.md +++ b/src/blog/_posts/2022-11-30-community-spotlight-november-2022.md @@ -2,9 +2,8 @@ title: Cadence Community Spotlight Update - November 2022 date: 2022-11-30 -authors: sharanf -tags: - - community-spotlight +author: Sharan Foga +authorlink: https://www.linkedin.com/in/sfoga/ --- Here’s the latest in our regular monthly Community Spotlight updates that gives you news from in and around the Cadence community! @@ -23,8 +22,6 @@ DevNetwork run a series of conferences and during November Cadence was featured It is good to see that we are finding new channels for us to present the benefits of using Cadence. Huge hanks to Ben and Ender for the presentation and to everyone that attended. - - ## Cadence at W-JAX ## It must be presentation month as we have had yet another Cadence presentation! Earlier this month a Cadence talk was featured at the [W-JAX Conference](https://jax.de/munich/) in Munich, Germany. [Merlin Walter](https://www.linkedin.com/in/merlin-walter/) presented a talk called [Microservices - Modern Orchestration with Cadence](https://jax.de/microservices/microservices-modern-orchestration-approach-with-cadence/) diff --git a/blog/2022-12-23-community-spotlight-december-2022.md b/src/blog/_posts/2022-12-23-community-spotlight-december-2022.md similarity index 96% rename from blog/2022-12-23-community-spotlight-december-2022.md rename to src/blog/_posts/2022-12-23-community-spotlight-december-2022.md index b08ee58da..96f40bdd1 100644 --- a/blog/2022-12-23-community-spotlight-december-2022.md +++ b/src/blog/_posts/2022-12-23-community-spotlight-december-2022.md @@ -2,9 +2,8 @@ title: Cadence Community Spotlight Update - December 2022 date: 2022-12-23 -authors: sharanf -tags: - - community-spotlight +author: Sharan Foga +authorlink: https://www.linkedin.com/in/sfoga/ --- I know we are a little early this month as many people will be taking some time out for holidays. @@ -27,8 +26,6 @@ Below are a selection of Cadence related articles, blogs and whitepapers. Please - [Cadence Connection Examples Using TLS](https://www.instaclustr.com/blog/cadence-connection-examples-using-tls/) - - ## Upcoming Events - [Cadence Technical Office Hours - 30th January 2023 @ 9am PT](https://calendar.google.com/calendar/u/0/embed?src=e6r40gp3c2r01054id7e99dlac@group.calendar.google.com&ctz=America/Los_Angeles) diff --git a/blog/2023-01-31-community-spotlight-january-2023.md b/src/blog/_posts/2023-01-31-community-spotlight-january-2023.md similarity index 97% rename from blog/2023-01-31-community-spotlight-january-2023.md rename to src/blog/_posts/2023-01-31-community-spotlight-january-2023.md index 471e66427..b47cdbbb4 100644 --- a/blog/2023-01-31-community-spotlight-january-2023.md +++ b/src/blog/_posts/2023-01-31-community-spotlight-january-2023.md @@ -2,9 +2,8 @@ title: Cadence Community Spotlight Update - January 2023 date: 2023-01-31 -authors: sharanf -tags: - - community-spotlight +author: Sharan Foga +authorlink: https://www.linkedin.com/in/sfoga/ --- Happy New Year everyone! Here’s the latest in our regular monthly Community Spotlight updates that gives you news from in and around the Cadence community! @@ -17,8 +16,6 @@ Thanks very much to [Ender Demirkaya](https://www.linkedin.com/in/enderdemirkaya Please remember that if you have question about Cadence or are facing a specific issue then you can post your question in our #support [Slack](http://t.uber.com/cadence-slack) channel. If you also post the details on StackOverflow with the cadence workflow tag then there will be a searchable history for others who encounter the same issue to find a solution. - - ## Update on iWF Support for Cadence ## Last October we featured an update in our monthly blog about [iWF - Interpreter for Workflow](https://github.com/indeedeng/iwf), a project built on top of Cadence by community member [Quanzheng Long](https://www.linkedin.com/in/prclqz/). It was announced recently that iWF has released a [Golang SDK](https://github.com/iworkflowio/iwf-golang-sdk) and updated versions of the [Java SDK and server](https://github.com/indeedeng/iwf). diff --git a/blog/2023-02-28-community-spotlight-february.md b/src/blog/_posts/2023-02-28-community-spotlight-february.md similarity index 97% rename from blog/2023-02-28-community-spotlight-february.md rename to src/blog/_posts/2023-02-28-community-spotlight-february.md index 8d28b638e..f1557a0af 100644 --- a/blog/2023-02-28-community-spotlight-february.md +++ b/src/blog/_posts/2023-02-28-community-spotlight-february.md @@ -2,9 +2,8 @@ title: Cadence Community Spotlight Update - February 2023 date: 2023-02-28 -authors: sharanf -tags: - - community-spotlight +author: Sharan Foga +authorlink: https://www.linkedin.com/in/sfoga/ --- Here’s the latest in our regular monthly Community Spotlight updates that gives you news from in and around the Cadence community! @@ -19,8 +18,6 @@ Use this [Survey Link](https://uber.surveymonkey.com/r/ZS83WJW) Please take a few minutes to give us your opinion. - - ## Cadence and Temporal ## During user surveys we've had a few queries about whether Cadence and [Temporal](https://temporal.io/) are the same project. The answer is No - they are not the same project but they do share the same origin. At a high level Temporal is a fork of the Cadence project. Both Temporal and Cadence are now being developed by different communities so are independent. diff --git a/blog/2023-03-31-community-spotlight-march-2023.md b/src/blog/_posts/2023-03-31-community-spotlight-march-2023.md similarity index 97% rename from blog/2023-03-31-community-spotlight-march-2023.md rename to src/blog/_posts/2023-03-31-community-spotlight-march-2023.md index 8c53d25c0..3861a9a1d 100644 --- a/blog/2023-03-31-community-spotlight-march-2023.md +++ b/src/blog/_posts/2023-03-31-community-spotlight-march-2023.md @@ -2,9 +2,8 @@ title: Cadence Community Spotlight Update - March 2023 date: 2023-03-31 -authors: sharanf -tags: - - community-spotlight +author: Sharan Foga +authorlink: https://www.linkedin.com/in/sfoga/ --- Welcome to the latest of our regular monthly Community Spotlight updates that gives you news from in and around the Cadence community! @@ -23,8 +22,6 @@ Our Slack #support channel has been very active over the last few months as we c All of these questions are being answered collaboratively by the community. Thanks everyone for sharing your knowledge and we are looking forward to receiving more of your questions! - - ## Cadence Developer Advocate ## Please welcome Yizhe Qin - the new Cadence Developer Advocate from Uber team that will be working to help support the community. diff --git a/blog/2023-06-08-survey-results/2023-06-08-survey-results.md b/src/blog/_posts/2023-06-08-survey-results.md similarity index 80% rename from blog/2023-06-08-survey-results/2023-06-08-survey-results.md rename to src/blog/_posts/2023-06-08-survey-results.md index 68ecef823..bb07fc4ab 100644 --- a/blog/2023-06-08-survey-results/2023-06-08-survey-results.md +++ b/src/blog/_posts/2023-06-08-survey-results.md @@ -2,9 +2,8 @@ title: 2023 Cadence Community Survey Results date: 2023-06-08 -authors: enderdemirkaya -tags: - - announcement +author: Ender Demirkaya +authorlink: https://www.linkedin.com/in/enderdemirkaya/ --- We released a user survey earlier this year to learn about who our users are, how they use Cadence, and how we can help them. It was shared from our [Slack workspace](https://uber-cadence.slack.com/), [cadenceworkflow.io](https://cadenceworkflow.io) Blog and [LinkedIn](https://www.linkedin.com/company/cadenceworkflow/). After collecting the feedback, we wanted to share the results with our community. Thank you everyone for filling it out! Your feedback is invaluable and it helps us shape our roadmap for the future. @@ -12,42 +11,40 @@ We released a user survey earlier this year to learn about who our users are, ho Here are some highlights in text and you can check out the visuals to get more details: -![using.png](./2023-survey-results/using.png) +![using.png](../../shared/img/2023-survey-results/using.png) -![job_role.png](./2023-survey-results/job_role.png) +![job_role.png](../../shared/img/2023-survey-results/job_role.png) Most of the people who replied to our survey were engineers who were already using Cadence, actively evaluating, or migrating from a similar technology. This was exciting to hear! Some of you have contacted us to learn more about benchmarks, scale, and ideal use cases. We will share more guidelines about this but until then, feel free to contact us over our Slack workspace for guidance. - - -![scale.png](./2023-survey-results/scale.png) +![scale.png](../../shared/img/2023-survey-results/scale.png) The scale our users operating Cadence varies from thousands to billions of workflows per month. It was exciting to see it being used in both small and large scale companies. -![time_zone.png](./2023-survey-results/time_zone.png) +![time_zone.png](../../shared/img/2023-survey-results/time_zone.png) Most survey responders were from Europe compared to any other place. This is in-line with the Cadence team growing its presence in Europe. Users from different places also contacted us to contribute to Cadence as a follow up to the survey. We will start putting up-for-grabs and new-starter tasks on Github. Several of them wanted to meet with a Zoom call and to discuss their use cases and best practices. As the Cadence team has presence in both the EU and the US, we welcome all our users to contact us anytime. Slack is the fastest way to reach us. -![following.png](./2023-survey-results/following.png) +![following.png](../../shared/img/2023-survey-results/following.png) -![channels.png](./2023-survey-results/channels.png) +![channels.png](../../shared/img/2023-survey-results/channels.png) -Cadence is followed in [Slack](https://uber-cadence.slack.com/) the most, then [Github](https://github.com/cadence-workflow/cadence) and [LinkedIn](https://www.linkedin.com/company/cadenceworkflow/). We are the most active in Slack and we plan to be more active in other mediums as well. +Cadence is followed in [Slack](https://uber-cadence.slack.com/) the most, then [Github](https://github.com/uber/cadence) and [LinkedIn](https://www.linkedin.com/company/cadenceworkflow/). We are the most active in Slack and we plan to be more active in other mediums as well. -![scenarios.png](./2023-survey-results/scenarios.png) +![scenarios.png](../../shared/img/2023-survey-results/scenarios.png) All of our main use cases were used across the board. While we mentioned the most common cases, several others were mentioned as a comment: enhanced timers, leader election etc. We found out that Cadence has been used in several science communities. Some of them were using community built clients and were asking if we are going to support more languages. We are planning to take ownership of the Python and Javascript/Typescript clients and support them officially. -![improvement.png](./2023-survey-results/improvement.png) +![improvement.png](../../shared/img/2023-survey-results/improvement.png) Documentation is by far what our users wanted improvements on. We are revamping our documentation soon and there will be major changes on our website soon. -![help_stage.png](./2023-survey-results/help_stage.png) +![help_stage.png](../../shared/img/2023-survey-results/help_stage.png) Other requests were about observability, debuggability, operability, and usability. These areas have been our main focus this year and we are planning to release updates and blogs about them. -![support.png](./2023-survey-results/support.png) +![support.png](../../shared/img/2023-survey-results/support.png) We noticed most of our users need help once a month or more. While we welcome questions and discussions over the mediums mentioned above, we plan to make more public posts about the common issues using our blog, StackOverflow, LinkedIn, or Twitter. diff --git a/blog/2023-06-28-components-of-cadence-application-setup.md b/src/blog/_posts/2023-06-28-components-of-cadence-application-setup.md similarity index 88% rename from blog/2023-06-28-components-of-cadence-application-setup.md rename to src/blog/_posts/2023-06-28-components-of-cadence-application-setup.md index 30e414f90..91fa45c7d 100644 --- a/blog/2023-06-28-components-of-cadence-application-setup.md +++ b/src/blog/_posts/2023-06-28-components-of-cadence-application-setup.md @@ -2,10 +2,8 @@ title: Understanding components of Cadence application date: 2023-07-01 -authors: chopincode -tags: - - deep-dive - - introduction-to-cadence +author: Chris Qin +authorlink: https://www.linkedin.com/in/chrisqin0610/ --- Cadence is a powerful, scalable, and fault-tolerant workflow orchestration framework that helps developers implement and manage complex workflow tasks. In most cases, developers contribute activities and workflows directly to their codebases, and they may not have a full understanding of the components behind a running Cadence application. We receive numerous inquiries about setting up Cadence in a local environment from scratch for testing. Therefore, in this article, we will explore the components that power a Cadence cluster. @@ -15,14 +13,12 @@ There are three critical components that are essential for any Cadence applicati 2. A registered Cadence domain. 3. A running Cadence worker that registers all workflows and activities. -Let's go over these components in more details. +Let's go over these components in more details. - - -The Cadence backend serves as the heart of your Cadence application. It is responsible for processing and scheduling your workflows and activities. While the backend relies on various dependencies, our team has conveniently packaged them into a single Docker image. You can follow the instructions provided [here](/docs/get-started/server-installation). +The Cadence backend serves as the heart of your Cadence application. It is responsible for processing and scheduling your workflows and activities. While the backend relies on various dependencies, our team has conveniently packaged them into a single Docker image. You can follow the instructions provided [here](../../docs/01-get-started/01-server-installation.md). The Cadence domain functions as the namespace for your Cadence workflows. It helps segregate your workflows into manageable groups. When running workflows, you must specify the domain on which you want to execute them. The Cadence worker, also known as the worker service, is a separate binary process that you need to implement in order to host your workflows and activities. When developing a worker, ensure that all your workflows and activities are properly registered with it. The worker is an actively running application, and you have the freedom to choose the hosting technologies that best suit your needs, such as a simple HTTP or gRPC application. -Ultimately, you will need to set up two running processes on your local machine: the Cadence server and the worker. Additionally, you must register the Cadence domain as a resource. Our team has packaged all these components into user-friendly tools, which you can find on our website. +Ultimately, you will need to set up two running processes on your local machine: the Cadence server and the worker. Additionally, you must register the Cadence domain as a resource. Our team has packaged all these components into user-friendly tools, which you can find on our website. \ No newline at end of file diff --git a/blog/2023-06-30-community-spotlight-june-2023.md b/src/blog/_posts/2023-06-30-community-spotlight-june-2023.md similarity index 90% rename from blog/2023-06-30-community-spotlight-june-2023.md rename to src/blog/_posts/2023-06-30-community-spotlight-june-2023.md index e322beec5..8fedb29e9 100644 --- a/blog/2023-06-30-community-spotlight-june-2023.md +++ b/src/blog/_posts/2023-06-30-community-spotlight-june-2023.md @@ -2,10 +2,8 @@ title: Cadence Community Spotlight Update - June 2023 date: 2023-06-30 -authors: sharanf -tags: - - community-spotlight - - release +author: Sharan Foga +authorlink: https://www.linkedin.com/in/sfoga/ --- We've had a short break but now we are back. Welcome to the latest of our regular monthly Community Spotlight updates that gives you news from in and around the Cadence community! @@ -13,12 +11,10 @@ Please see below for a roundup of the highlights: ## Cadence Release 1.0 ## -Just in case you missed it - at the end of April [Cadence v1.0](https://github.com/cadence-workflow/cadence/releases/tag/v1.0.0) was officially released. This release is a significant milestone for the project and the community. It indicates that we are confident in the stability of the code that we can recommend it and promote it widely to more users. Kudos to everyone that worked together to make this release happen. +Just in case you missed it - at the end of April [Cadence v1.0](https://github.com/uber/cadence/releases/tag/v1.0.0) was officially released. This release is a significant milestone for the project and the community. It indicates that we are confident in the stability of the code that we can recommend it and promote it widely to more users. Kudos to everyone that worked together to make this release happen. And the Uber team also gave Cadence a writeup on the [Uber Engineering Blog](https://www.uber.com/en-SE/blog/announcing-cadence/) so please take a look. - - ## Community Survey Results ## The results of our Community Survey have been published and you can find [the details right here on our blog](https://cadenceworkflow.io/blog/2023/06/08/survey-results/). From the results we can see that: diff --git a/blog/2023-07-05-implement-cadence-worker-from-scratch.md b/src/blog/_posts/2023-07-05-implement-cadence-worker-from-scratch.md similarity index 89% rename from blog/2023-07-05-implement-cadence-worker-from-scratch.md rename to src/blog/_posts/2023-07-05-implement-cadence-worker-from-scratch.md index a12358e68..ee562299c 100644 --- a/blog/2023-07-05-implement-cadence-worker-from-scratch.md +++ b/src/blog/_posts/2023-07-05-implement-cadence-worker-from-scratch.md @@ -2,13 +2,11 @@ title: Implement a Cadence worker service from scratch date: 2023-07-05 -authors: chopincode -tags: - - deep-dive - - introduction-to-cadence +author: Chris Qin +authorlink: https://www.linkedin.com/in/chrisqin0610/ --- -In the previous [blog](/blog/2023-06-28-components-of-cadence-application-setup.md), we have introduced three critical components for a Cadence application: the Cadence backend, domain, and worker. Among these, the worker service is the most crucial focus for developers as it hosts the activities and workflows of a Cadence application. In this blog, I will provide a short tutorial on how to implement a simple worker service from scratch in Go. +In the previous [blog](./2023-06-28-components-of-cadence-application-setup.md), we have introduced three critical components for a Cadence application: the Cadence backend, domain, and worker. Among these, the worker service is the most crucial focus for developers as it hosts the activities and workflows of a Cadence application. In this blog, I will provide a short tutorial on how to implement a simple worker service from scratch in Go. To finish this tutorial, there are two prerequisites you need to finish first 1. Register a Cadence domain for your worker. For this tutorial, I've already registered a domain named `test-domain` @@ -16,7 +14,7 @@ To finish this tutorial, there are two prerequisites you need to finish first To get started, let's simply use the native HTTP package built in Go to start a process listening to port 3000. You may customize the port for your worker, but the port you choose should not conflict with existing port for your Cadence backend. -```go +```Go package main import ( @@ -29,11 +27,10 @@ func main(){ http.ListenAndServe(":3000", nil) } ``` - -Next, let's define some basic configurations for the worker. In real production environment, you may need to implement them in configurational languages, but in this tutorial, let's just hard code them for now. +Next, let's define some basic configurations for the worker. In real production environment, you may need to implement them in configurational languages, but in this tutorial, let's just hard code them for now. -```go +```Go var HostPort = "127.0.0.1:7933" var Domain = "test-domain" var TaskListName = "test-worker" @@ -43,9 +40,9 @@ var CadenceService = "cadence-frontend" Note that the domain is what we've already registered in advance. We will need to use this domain to interact with Cadence CLI tool. -Then let's write a simple function to build a Cadence client on gRPC in your worker, which will communicate with the Cadence backend continuously. +Then let's write a simple function to build a Cadence client on gRPC in your worker, which will communicate with the Cadence backend continuously. -```go +```Go func buildCadenceClient() workflowserviceclient.Interface { dispatcher := yarpc.NewDispatcher(yarpc.Config{ Name: ClientName, @@ -56,9 +53,9 @@ func buildCadenceClient() workflowserviceclient.Interface { if err := dispatcher.Start(); err != nil { panic("Failed to start dispatcher") } - + clientConfig := dispatcher.ClientConfig(CadenceService) - + return compatibility.NewThrift2ProtoAdapter( apiv1.NewDomainAPIYARPCClient(clientConfig), apiv1.NewWorkflowAPIYARPCClient(clientConfig), @@ -70,7 +67,7 @@ func buildCadenceClient() workflowserviceclient.Interface { Let's also build a logger to help us debug our application -```go +```Go func buildLogger() *zap.Logger { config := zap.NewDevelopmentConfig() config.Level.SetLevel(zapcore.InfoLevel) @@ -87,7 +84,7 @@ func buildLogger() *zap.Logger { With both client and logger helper function ready, let's write the function that starts our worker. -```go +```Go func startWorker(logger *zap.Logger, service workflowserviceclient.Interface) { // TaskListName identifies set of client workflows, activities, and workers. // It could be your group or client or application name. @@ -110,7 +107,7 @@ func startWorker(logger *zap.Logger, service workflowserviceclient.Interface) { } ``` -Now we have all components ready for the worker, let's put them together. +Now we have all components ready for the worker, let's put them together. ```Go import ( @@ -119,7 +116,7 @@ import ( "go.uber.org/cadence/compatibility" "go.uber.org/cadence/worker" - apiv1 "github.com/cadence-workflow/cadence-idl/go/proto/api/v1" + apiv1 "github.com/uber/cadence-idl/go/proto/api/v1" "github.com/uber-go/tally" "go.uber.org/zap" "go.uber.org/zap/zapcore" @@ -161,9 +158,9 @@ func buildCadenceClient() workflowserviceclient.Interface { if err := dispatcher.Start(); err != nil { panic("Failed to start dispatcher") } - + clientConfig := dispatcher.ClientConfig(CadenceService) - + return compatibility.NewThrift2ProtoAdapter( apiv1.NewDomainAPIYARPCClient(clientConfig), apiv1.NewWorkflowAPIYARPCClient(clientConfig), @@ -202,4 +199,4 @@ Open a new terminal and start this server, you should see logs like 2023-07-03T11:46:46.267-0700 INFO cadence-worker/main.go:75 Started Worker. {"worker": "test-worker"} ``` -You may see these logs because your worker is successfully running but we haven't registered any workflows or activities to the worker. In the next tutorial, we will learn how to write a simple hello world workflow for your Cadence application. +You may see these logs because your worker is successfully running but we haven't registered any workflows or activities to the worker. In the next tutorial, we will learn how to write a simple hello world workflow for your Cadence application. \ No newline at end of file diff --git a/blog/2023-07-10-cadence-bad-practices-part-1.md b/src/blog/_posts/2023-07-10-cadence-bad-practices-part-1.md similarity index 95% rename from blog/2023-07-10-cadence-bad-practices-part-1.md rename to src/blog/_posts/2023-07-10-cadence-bad-practices-part-1.md index 14dc0fb40..1561da339 100644 --- a/blog/2023-07-10-cadence-bad-practices-part-1.md +++ b/src/blog/_posts/2023-07-10-cadence-bad-practices-part-1.md @@ -2,10 +2,8 @@ title: Bad practices and Anti-patterns with Cadence (Part 1) date: 2023-07-10 -authors: chopincode -tags: - - introduction-to-cadence - - deep-dive +author: Chris Qin +authorlink: https://www.linkedin.com/in/chrisqin0610/ --- In the upcoming blog series, we will delve into a discussion about common bad practices and anti-patterns related to Cadence. As diverse teams often encounter distinct business use cases, it becomes imperative to address the most frequently reported issues in Cadence workflows. To provide valuable insights and guidance, the Cadence team has meticulously compiled these common challenges based on customer feedback. @@ -17,8 +15,6 @@ Cadence organizes workflows based on their unique IDs, using a process called - * Excessive batch jobs or an enormous number of timers triggered at the same time Cadence has the capability to handle a large number of concurrent tasks initiated simultaneously, but tampering with this feature can lead to issues within the Cadence system. Consider a scenario where millions of jobs are scheduled to start at the same time and are expected to finish within a specific time interval. Cadence faces the challenge of understanding the desired behavior of customers in such cases. It is uncertain whether the intention is to complete all jobs simultaneously, provide progressive updates in parallel, or finish all jobs before a given deadline. This ambiguity arises due to the independent nature of each job and the difficulty in predicting their outcomes. @@ -26,4 +22,4 @@ Cadence has the capability to handle a large number of concurrent tasks initiate Moreover, Cadence workers utilize a sticky cache by default to optimize the runtime of workflows. However, when an overwhelming number of parallel workflows cannot fit into the cache, it can result in cache thrashing. This, in turn, leads to a quadratic increase in runtime complexity, specifically O(n^2), exacerbating the overall performance of the system. Solution: -There are multiple ways to address this issue. Customers can either run jobs in a smaller batch or use start workflow jitter to randomly distribute timers within certain timeframe. +There are multiple ways to address this issue. Customers can either run jobs in a smaller batch or use start workflow jitter to randomly distribute timers within certain timeframe. \ No newline at end of file diff --git a/blog/2023-07-16-write-your-first-workflow-with-cadence/2023-07-16-write-your-first-workflow-with-cadence.md b/src/blog/_posts/2023-07-16-write-your-first-workflow-with-cadence.md similarity index 78% rename from blog/2023-07-16-write-your-first-workflow-with-cadence/2023-07-16-write-your-first-workflow-with-cadence.md rename to src/blog/_posts/2023-07-16-write-your-first-workflow-with-cadence.md index 142135eec..8132440b6 100644 --- a/blog/2023-07-16-write-your-first-workflow-with-cadence/2023-07-16-write-your-first-workflow-with-cadence.md +++ b/src/blog/_posts/2023-07-16-write-your-first-workflow-with-cadence.md @@ -2,13 +2,11 @@ title: Write your first workflow with Cadence date: 2023-07-16 -authors: chopincode -tags: - - deep-dive - - introduction-to-cadence +author: Chris Qin +authorlink: https://www.linkedin.com/in/chrisqin0610/ --- -We have covered [basic components of Cadence](/blog/2023-06-28-components-of-cadence-application-setup.md) and [how to implement a Cadence worker on local environment](/blog/2023-07-05-implement-cadence-worker-from-scratch.md) in previous blogs. In this blog, let's write your very first HelloWorld workflow with Cadence. I've started the Cadence backend server in background and registered a domain named `test-domain`. You may use the code snippet for the worker service in [this blog](/blog/2023-07-05-implement-cadence-worker-from-scratch.md) Let's first write a activity, which takes a single string argument and print a log in the console. +We have covered [basic components of Cadence](./2023-06-28-components-of-cadence-application-setup.md) and [how to implement a Cadence worker on local environment](./2023-07-05-implement-cadence-worker-from-scratch.md) in previous blogs. In this blog, let's write your very first HelloWorld workflow with Cadence. I've started the Cadence backend server in background and registered a domain named `test-domain`. You may use the code snippet for the worker service in [this blog](./2023-07-05-implement-cadence-worker-from-scratch.md) Let's first write a activity, which takes a single string argument and print a log in the console. ```go func helloWorldActivity(ctx context.Context, name string) (string, error) { @@ -18,8 +16,6 @@ func helloWorldActivity(ctx context.Context, name string) (string, error) { } ``` - - Then let's write a workflow that invokes this activity ```go func helloWorldWorkflow(ctx workflow.Context, name string) error { @@ -74,10 +70,10 @@ Congratulations, you have successfully run your very first Cadence workflow. For a bonus point, the Cadence team has also developed a demonstrative web dashboard to visualize the history of all workflows you have run when you start the Cadence server. Check http://localhost:8088 to see the dashboard like this. -![cadencde-ui](./cadence_ui.png) +![cadencde-ui](../../shared/img/cadence_ui.png) -This web portal persists all historical workflow you have run recently. Search for the domain you used for this tutorial. In our case, type `test-domain` and hit enter. You may see a list of workflows with detailed information. Feel free to explore the web UI and raise your suggestions to our [Github repo](https://github.com/cadence-workflow/cadence-web). +This web portal persists all historical workflow you have run recently. Search for the domain you used for this tutorial. In our case, type `test-domain` and hit enter. You may see a list of workflows with detailed information. Feel free to explore the web UI and raise your suggestions to our [Github repo](https://github.com/uber/cadence-web). -![cadence-ui-detailed](./cadence_ui_detailed.png) +![cadence-ui-detailed](../../shared/img/cadence_ui_detailed.png) -For the incoming blogs, we will cover more advanced topics and use cases with Cadence. +For the incoming blogs, we will cover more advanced topics and use cases with Cadence. \ No newline at end of file diff --git a/blog/2023-07-31-community-spotlight-july-2023.md b/src/blog/_posts/2023-07-31-community-spotlight-july-2023.md similarity index 80% rename from blog/2023-07-31-community-spotlight-july-2023.md rename to src/blog/_posts/2023-07-31-community-spotlight-july-2023.md index 4bef3b1bd..dc3743743 100644 --- a/blog/2023-07-31-community-spotlight-july-2023.md +++ b/src/blog/_posts/2023-07-31-community-spotlight-july-2023.md @@ -2,11 +2,8 @@ title: Cadence Community Spotlight Update - July 2023 date: 2023-07-31 -authors: sharanf -tags: - - release - - announcement - - community-spotlight +author: Sharan Foga +authorlink: https://www.linkedin.com/in/sfoga/ --- Welcome to the latest of our regular monthly Community Spotlight updates that gives you news from in and around the Cadence community! @@ -22,15 +19,13 @@ Thanks Chris for sharing your knowledge and helping others to get started. ## Cadence Go Client v1.0 Released ## -This month saw the release of [v1.0 of the Cadence Go Client](https://github.com/cadence-workflow/cadence-go-client/releases/tag/v1.0.0). Note that the work done on this release was as a result of community feedback asking for it - so we are listening and responding to community needs. +This month saw the release of [v1.0 of the Cadence Go Client](https://github.com/uber-go/cadence-client/releases/tag/v1.0.0). Note that the work done on this release was as a result of community feedback asking for it - so we are listening and responding to community needs. Thanks very much to everyone who worked hard to get this release out! - - ## Cadence Release Strategy ## -A recent discussion on the Cadence Release strategy was posted in [Cadence Github Discussions](https://github.com/cadence-workflow/cadence/discussions/5362) (and also our #general channel on our [Slack](http://t.uber.com/cadence-slack) about the approach we'd like to take for future releases. As a community we want to ensure code stability and to not burden people with having to upgrade frequently. +A recent discussion on the Cadence Release strategy was posted in [Cadence Github Discussions](https://github.com/uber/cadence/discussions/5362) (and also our #general channel on our [Slack](http://t.uber.com/cadence-slack) about the approach we'd like to take for future releases. As a community we want to ensure code stability and to not burden people with having to upgrade frequently. Based on feedback from the community we will be introducing quarterly release cycles but also give people the ability to make use of patches and minor releases. We will be communicating the intention to make a release at least a month beforehand so that the community has time to finalise any features they want to be included in the upcoming release. diff --git a/blog/2023-08-28-nondeterministic-errors-replayers-shadowers.md b/src/blog/_posts/2023-08-28-nondeterministic-errors-replayers-shadowers.md similarity index 93% rename from blog/2023-08-28-nondeterministic-errors-replayers-shadowers.md rename to src/blog/_posts/2023-08-28-nondeterministic-errors-replayers-shadowers.md index 3ed430b5c..c44a60b7d 100644 --- a/blog/2023-08-28-nondeterministic-errors-replayers-shadowers.md +++ b/src/blog/_posts/2023-08-28-nondeterministic-errors-replayers-shadowers.md @@ -2,17 +2,15 @@ title: Non-deterministic errors, replayers and shadowers date: 2023-08-27 -authors: chopincode -tags: - - deep-dive - - testing +author: Chris Qin +authorlink: https://www.linkedin.com/in/chrisqin0610/ --- -It is conceivable that developers constantly update their Cadence workflow code based upon new business use cases and needs. However, -the definition of a Cadence workflow must be deterministic because behind the scenes cadence uses event sourcing to construct -the workflow state by replaying the historical events stored for this specific workflow. Introducing components that are not compatible -with an existing running workflow will yield to non-deterministic errors and sometimes developers find it tricky to debug. Consider the -following workflow that executes two activities. +It is conceivable that developers constantly update their Cadence workflow code based upon new business use cases and needs. However, +the definition of a Cadence workflow must be deterministic because behind the scenes cadence uses event sourcing to construct +the workflow state by replaying the historical events stored for this specific workflow. Introducing components that are not compatible +with an existing running workflow will yield to non-deterministic errors and sometimes developers find it tricky to debug. Consider the +following workflow that executes two activities. ```go func SampleWorkflow(ctx workflow.Context, data string) (string, error) { @@ -33,8 +31,6 @@ func SampleWorkflow(ctx workflow.Context, data string) (string, error) { ``` - - In this example, the workflow will execute ActivityA and Activity B in sequence. These activities may have other logics in background, such as polling long running operations or manipulate database reads or writes. Now if the developer replaces ActivityA with another activity ActivityC, a non-deterministic error could happen for an existing workflow. It is because the workflow expects results from ActivityA but since the definition of the workflow has been changed to use results from ActivityC, the workflow will fail due to failure of identifying history data of ActivityA. Such issues can be detected by introducing replayers and shadowers to the workflow unit tests. Cadence workflow replayer is a testing component for replaying existing workflow histories against a workflow definition. You may think of replayer as a mock which will rerun your workflow with exactly the same history as your real workflow. The replaying logic is the same as the one used for processing workflow tasks. If it detects any incompatible changes, the replay test will fail. diff --git a/blog/2023-08-31-community-spotlight-august-2023.md b/src/blog/_posts/2023-08-31-community-spotlight-august-2023.md similarity index 98% rename from blog/2023-08-31-community-spotlight-august-2023.md rename to src/blog/_posts/2023-08-31-community-spotlight-august-2023.md index 2fd39afa7..a99f942e8 100644 --- a/blog/2023-08-31-community-spotlight-august-2023.md +++ b/src/blog/_posts/2023-08-31-community-spotlight-august-2023.md @@ -2,10 +2,8 @@ title: Cadence Community Spotlight Update - August 2023 date: 2023-08-31 -authors: sharanf -tags: - - introduction-to-cadence - - community-spotlight +author: Sharan Foga +authorlink: https://www.linkedin.com/in/sfoga/ --- Welcome to the latest of our regular monthly Community Spotlight updates that gives you news from in and around the Cadence community! @@ -27,8 +25,6 @@ Chris is also going to take a look at the [Cadence Samples](https://cadenceworkf Thanks very much Chris for all the work you are doing to help improve the project! - - ## More iWF Examaples ## Community member [Quanzheng Long](https://www.linkedin.com/in/prclqz/) has also been busy writing this month. In previous blogs Long has told us about [iWF](https://github.com/indeedeng/iwf) that is a layer implemented over of Cadence. diff --git a/blog/2023-11-30-community-spotlight-update-november-2023.md b/src/blog/_posts/2023-11-30-community-spotlight-update-november-2023.md similarity index 96% rename from blog/2023-11-30-community-spotlight-update-november-2023.md rename to src/blog/_posts/2023-11-30-community-spotlight-update-november-2023.md index 49fb5654f..899d41ef6 100644 --- a/blog/2023-11-30-community-spotlight-update-november-2023.md +++ b/src/blog/_posts/2023-11-30-community-spotlight-update-november-2023.md @@ -2,10 +2,8 @@ title: Cadence Community Spotlight Update - November 2023 date: 2023-11-30 -authors: sharanf -tags: - - community-spotlight - - announcement +author: Sharan Foga +authorlink: https://www.linkedin.com/in/sfoga/ --- Welcome to the latest of our regular monthly Community Spotlight updates that gives you news from in and around the Cadence community! @@ -13,8 +11,6 @@ It's been a couple of months since our last update so we have a lot of updates t Please see below for a roundup of the highlights: - - ## Proposal for Cadence Native Authentication ## Community member [Mantas Sidlauskas](https://lt.linkedin.com/in/mantassidlauskas) has drafted a proposal around Cadence native authentication and is asking for community feedback. If you are interested in reviewing the current proposal and providing comments or feedback then please find the proposal details at the link below: @@ -47,13 +43,13 @@ Here are some major changes to the new samples: We hope the community will enjoy these changes. If you have any questions or have new an idea for a new sample then please reach out to [Chris Qin](https://www.linkedin.com/in/chrisqin0610). The new Go samples can be found at: -- https://github.com/cadence-workflow/cadence-samples/tree/master/new_samples. +- https://github.com/uber-common/cadence-samples/tree/master/new_samples. Note that the old samples will be removed once the new samples are fully refreshed. ## Cadence Retrospective ## -We are nearly at the end of another year and yes it has gone so fast! Over this year Cadence and the community have evolved and grown. This is a good time to reflect about all the things that have happened in the project over the year and think about a possible roadmap for the future. +We are nearly at the end of another year and yes it has gone so fast! Over this year Cadence and the community have evolved and grown. This is a good time to reflect about all the things that have happened in the project over the year and think about a possible roadmap for the future. If you have any feedback, or comments about the project or ideas about what features you'd like to see in the roadmap then please feel free to begin a discussion in the #community [Slack](http://t.uber.com/cadence-slack) channel. diff --git a/blog/2024-02-15-cadence-non-deterministic-common-qa.md b/src/blog/_posts/2024-02-15-cadence-non-deterministic-common-qa.md similarity index 98% rename from blog/2024-02-15-cadence-non-deterministic-common-qa.md rename to src/blog/_posts/2024-02-15-cadence-non-deterministic-common-qa.md index ebeaa5a23..afb369521 100644 --- a/blog/2024-02-15-cadence-non-deterministic-common-qa.md +++ b/src/blog/_posts/2024-02-15-cadence-non-deterministic-common-qa.md @@ -2,9 +2,8 @@ title: Cadence non-derministic errors common question Q&A (part 1) date: 2024-03-10 -authors: chopincode -tags: - - deep-dive +author: Chris Qin +authorlink: https://www.linkedin.com/in/chrisqin0610/ --- ### If I change code logic inside an Cadence activity (for example, my activity is calling database A but now I want it to call database B), will it trigger an non-deterministic error? @@ -31,8 +30,6 @@ trigger non-deterministic errors. - Changes of workflow return values - Changing workflow parameter names as they are just positional - - ### Does changing activity definitions trigger non-determinstic errors? YES. Similar to workflow definition change, this is also a very typical non-deterministic error. diff --git a/blog/2024-07-11-yearly-roadmap-update/2024-07-11-yearly-roadmap-update.md b/src/blog/_posts/2024-07-11-yearly-roadmap-update.md similarity index 97% rename from blog/2024-07-11-yearly-roadmap-update/2024-07-11-yearly-roadmap-update.md rename to src/blog/_posts/2024-07-11-yearly-roadmap-update.md index da8865df4..b144b9321 100644 --- a/blog/2024-07-11-yearly-roadmap-update/2024-07-11-yearly-roadmap-update.md +++ b/src/blog/_posts/2024-07-11-yearly-roadmap-update.md @@ -2,10 +2,8 @@ title: 2024 Cadence Yearly Roadmap Update date: 2024-07-11 -authors: enderdemirkaya -tags: - - roadmap - - deep-dive +author: Ender Demirkaya +authorlink: https://www.linkedin.com/in/enderdemirkaya/ --- ## Introduction @@ -17,12 +15,10 @@ If you haven’t heard about Cadence, this section is for you. In a short descri ### What is a Workflow? -![workflow.png](./2024-yearly-update/workflow.png) +![workflow.png](../../shared/img/2024-yearly-update/workflow.png) In the simplest definition, it is β€œa multi-step execution”. Step here represents individual operations that are a little heavier than small in-process function calls. Although they are not limited to those: it could be a separate service call, processing a large dataset, map-reduce, thread sleep, scheduling next run, waiting for an external input, starting a sub workflow etc. It’s anything a user thinks as a single unit of logic in their code. Those steps often have dependencies among themselves. Some steps, including the very first step, might require external triggers (e.g. button click) or schedules. In the more broader meaning, any multi-step function or service is a workflow in principle. - - While the above is a more correct way to define workflows, specialized workflows are more widely known: such as data pipelines, directed acyclic graphs, state machines, cron jobs, (micro)service orchestration, etc. This is why typically everyone has a different workflow meaning in mind. Specialized workflows also have simplified interfaces such as UI, configs or a DSL (domain specific language) to make it easy to express the workflow definition. ### Code-Driven Workflows @@ -35,7 +31,7 @@ Given this natural evolution of workflow requirements, it’s better to have a c ### Benefits -![cadence-benefits.png](./2024-yearly-update/cadence-benefits.png) +![cadence-benefits.png](../../shared/img/2024-yearly-update/cadence-benefits.png) With Cadence, many overheads that need to be built for any well-supported service come for free. Here are some highlights (see [cadenceworkflow.io](http://cadenceworkflow.io)): @@ -59,7 +55,7 @@ Today the Cadence team comprises 26 people. We have people working from Uber’s ### Community -Cadence is an actively built open source project. We invest in both our internal and open source community ([Slack](http://t.uber.com/cadence-slack), [Github](https://github.com/cadence-workflow/cadence/issues)), responding to new features and enhancements. +Cadence is an actively built open source project. We invest in both our internal and open source community ([Slack](http://t.uber.com/cadence-slack), [Github](https://github.com/uber/cadence/issues)), responding to new features and enhancements. ### Scale @@ -213,8 +209,8 @@ Do you want to hear more about Cadence? Do you need help with your set-up or usa Slack: [https://uber-cadence.slack.com/](https://uber-cadence.slack.com/) -Github: [https://github.com/cadence-workflow/cadence](https://github.com/cadence-workflow/cadence) +Github: [https://github.com/uber/cadence](https://github.com/uber/cadence) Since last year, we have been contacted by various companies to take on bigger projects on the Cadence project. As we have been investing in code coverage and refactoring Cadence for a cleaner codebase, this will be a lot easier now. Let us know if you have project ideas to contribute or if you’d like to pick something we already planned. -Our monthly community meetings are still ongoing, too. That is the best place to get heard and be involved in our decision-making process. Let us know so we can send you an invite. We are also working on a broader governing model to open up this project to more people. Stay tuned for updates on this topic! +Our monthly community meetings are still ongoing, too. That is the best place to get heard and be involved in our decision-making process. Let us know so we can send you an invite. We are also working on a broader governing model to open up this project to more people. Stay tuned for updates on this topic! \ No newline at end of file diff --git a/blog/2024-09-05-workflow-specific-rate-limits.md b/src/blog/_posts/2024-09-05-workflow-specific-rate-limits.md similarity index 98% rename from blog/2024-09-05-workflow-specific-rate-limits.md rename to src/blog/_posts/2024-09-05-workflow-specific-rate-limits.md index a43c7a5cb..84ef671ec 100644 --- a/blog/2024-09-05-workflow-specific-rate-limits.md +++ b/src/blog/_posts/2024-09-05-workflow-specific-rate-limits.md @@ -1,10 +1,11 @@ --- title: "Minimizing blast radius in Cadence: Introducing Workflow ID-based Rate Limits" +subtitle: test + date: 2024-09-05 -authors: jakobht -tags: - - deep-dive +author: Jakob Haahr Taankvist +authorlink: https://www.linkedin.com/in/jakob-taankvist/ --- At Uber, we run several big multitenant Cadence clusters with hundreds of domains in each. The clusters being multi-tenant means potential [noisy neighbor](https://en.wikipedia.org/wiki/Cloud_computing_issues#Performance_interference_and_noisy_neighbors) effects between domains. @@ -17,8 +18,6 @@ We already have rate limits for how many requests can be sent to a domain. Howev 1. A user starts, or signals the same workflow ID too aggressively, 2. A workflow starts too many activities over a short period of time (e.g. thousands of activities in seconds). - - For example, the following workflow would cause issues for Cadence. It would create huge amounts of traffic to a single shard in a very small time frame: ```go diff --git a/blog/2024-10-01-announcing-cadence-helm-charts-v0.md b/src/blog/_posts/2024-10-01-announcing-cadence-helm-charts-v0.md similarity index 70% rename from blog/2024-10-01-announcing-cadence-helm-charts-v0.md rename to src/blog/_posts/2024-10-01-announcing-cadence-helm-charts-v0.md index ce78122d1..05be033dc 100644 --- a/blog/2024-10-01-announcing-cadence-helm-charts-v0.md +++ b/src/blog/_posts/2024-10-01-announcing-cadence-helm-charts-v0.md @@ -2,19 +2,16 @@ title: "Announcement: Cadence Helm Charts v0 Release" date: 2024-10-01 -authors: taylanisikdemir -tags: - - announcement +author: Taylan Isikdemir +authorlink: https://www.linkedin.com/in/taylan-isikdemir --- -We’ve heard your feedback: deploying Cadence has been a challenge, especially with limited documentation on operational aspects. So far, we’ve only provided a few [docker compose files](https://github.com/cadence-workflow/cadence/tree/master/docker) to help you get started on a development machine. However, deploying and managing Cadence at scale requires a deep understanding of underlying services, configurations and their dependencies. +We’ve heard your feedback: deploying Cadence has been a challenge, especially with limited documentation on operational aspects. So far, we’ve only provided a few [docker compose files](https://github.com/uber/cadence/tree/master/docker) to help you get started on a development machine. However, deploying and managing Cadence at scale requires a deep understanding of underlying services, configurations and their dependencies. To address these challenges, we’re launching several initiatives to make it easier to deploy and operate Cadence clusters. These include deployment specs for common scenarios, monitoring dashboards, alerts, runbooks, and more comprehensive documentation. - - ## Introducing Cadence Kubernetes Helm Chart v0 -Today, we are happy to announce the release of [Cadence Kubernetes Helm Chart v0](https://github.com/cadence-workflow/cadence-charts). This will be the starting point for standardizing Cadence deployments on Kubernetes. We chose Kubernetes because it's the leading compute platform, but Cadence remains flexible and can run on any infrastructure. +Today, we are happy to announce the release of [Cadence Kubernetes Helm Chart v0](https://github.com/uber/cadence-charts). This will be the starting point for standardizing Cadence deployments on Kubernetes. We chose Kubernetes because it's the leading compute platform, but Cadence remains flexible and can run on any infrastructure. ## How to Get Started @@ -22,23 +19,23 @@ Today, we are happy to announce the release of [Cadence Kubernetes Helm Chart v0 Once Helm has been set up correctly, add the repo as follows: -```bash +``` helm repo add cadence https://uber.github.io/cadence-charts ``` If you had already added this repo earlier, run `helm repo update` to retrieve the latest versions of the packages. You can then run `helm search repo cadence` to see the charts. To install the cadence chart: -```bash +``` helm install my-cadence cadence/cadence ``` To uninstall the chart: -```bash +``` helm delete my-cadence ``` -See [CONTRIBUTING.md](https://github.com/cadence-workflow/cadence-charts/blob/main/CONTRIBUTING.md) for details on how to validate the deployment by running sample workflows. +See [CONTRIBUTING.md](https://github.com/uber/cadence-charts/blob/main/CONTRIBUTING.md) for details on how to validate the deployment by running sample workflows. ## Current State of the Chart @@ -62,8 +59,8 @@ What is (obviously) missing: ## Next Steps -Since this is an early release, we would love to hear from you. Feel free to start [discussions](https://github.com/cadence-workflow/cadence-charts/discussions) or report [issues](https://github.com/cadence-workflow/cadence-charts/issues). +Since this is an early release, we would love to hear from you. Feel free to start [discussions](https://github.com/uber/cadence-charts/discussions) or report [issues](https://github.com/uber/cadence-charts/issues). -Also check out the [contribution guideline](https://github.com/cadence-workflow/cadence-charts/blob/main/CONTRIBUTING.md) if you are interested to contribute. Don't hesitate to send a PR and ping us over slack if we miss it. +Also check out the [contribution guideline](https://github.com/uber/cadence-charts/blob/main/CONTRIBUTING.md) if you are interested to contribute. Don't hesitate to send a PR and ping us over slack if we miss it. P.S. Huge thanks to our summer intern [Nikita Bhardwaj](https://github.com/nikitab7) for kickstarting the Cadence Helm charts initiative. diff --git a/blog/2024-3-11-community-spotlight-update-march-2024.md b/src/blog/_posts/2024-3-11-community-spotlight-update-march-2024.md similarity index 79% rename from blog/2024-3-11-community-spotlight-update-march-2024.md rename to src/blog/_posts/2024-3-11-community-spotlight-update-march-2024.md index ff35427b0..f7f4e7151 100644 --- a/blog/2024-3-11-community-spotlight-update-march-2024.md +++ b/src/blog/_posts/2024-3-11-community-spotlight-update-march-2024.md @@ -2,58 +2,55 @@ title: Cadence Community Spotlight Update - March 2024 date: 2023-03-11 -authors: kcorbett-netapp -tags: - - community-spotlight +author: Kevin Corbett +authorlink: https://github.com/kcorbett-netapp --- -Welcome back to the latest in our regular Cadence community spotlight updates where we aim to deliver you news from in and around the Cadence community! -It’s been a few months since our [last update](https://cadenceworkflow.io/blog/2023/11/30/community-spotlight-update-november-2023/), so I have a bunch of exciting updates to share. +Welcome back to the latest in our regular Cadence community spotlight updates where we aim to deliver you news from in and around the Cadence community! +It’s been a few months since our [last update](https://cadenceworkflow.io/blog/2023/11/30/community-spotlight-update-november-2023/), so I have a bunch of exciting updates to share. Let’s get started! ## Proposal for Cadence Plugin System ## Community member [Mantas Sidlauskas](https://lt.linkedin.com/in/mantassidlauskas) drafted a thorough proposal around putting together a plugin system in Cadence. Aimed at enhancing the flexibility of integrating various components like storage, document search, and archival, this system encourages the use of external plugins, promoting innovation and reducing dependency complications. Your insights and feedback are crucial; learn more and contribute your thoughts at the link below: -- [Cadence Plugin System Proposal](https://github.com/cadence-workflow/cadence/issues/5593) +- [Cadence Plugin System Proposal](https://github.com/uber/cadence/issues/5593) -A huge thank you to Mantas for initiating this work. This is an excellent example of how we can collaborate together to bring about new features that benefit us all. - - +A huge thank you to Mantas for initiating this work. This is an excellent example of how we can collaborate together to bring about new features that benefit us all. ## Admin API Permissions Rethinking ## -The community is deliberating on the permission requirements for the Admin API DescribeCluster endpoint. This vital discussion aims to ensure Cadence web's accessibility across different user levels. We're exploring various solutions and your participation would greatly influence the decision-making process. Feel free to chime in [here](https://github.com/cadence-workflow/cadence/issues/5683)! +The community is deliberating on the permission requirements for the Admin API DescribeCluster endpoint. This vital discussion aims to ensure Cadence web's accessibility across different user levels. We're exploring various solutions and your participation would greatly influence the decision-making process. Feel free to chime in [here](https://github.com/uber/cadence/issues/5683)! ## New Java Samples for Cadence: Signal Workflow Interactions ## -In some exciting news for Java enthusiasts, a new sample has been added to the Cadence Java Samples repository, demonstrating how to initiate and interact with a signal workflow using the Cadence client. This practical example is a huge win for developers looking to deepen their understanding of workflow signaling in Java. Explore the new sample and expand your Cadence toolkit [here](https://github.com/cadence-workflow/cadence-java-samples/pull/78). +In some exciting news for Java enthusiasts, a new sample has been added to the Cadence Java Samples repository, demonstrating how to initiate and interact with a signal workflow using the Cadence client. This practical example is a huge win for developers looking to deepen their understanding of workflow signaling in Java. Explore the new sample and expand your Cadence toolkit [here](https://github.com/uber/cadence-java-samples/pull/78). ## New GoLang client & Cadence Web Enhancements ## -Updates to the Cadence GoLang Client and Cadence Web have been rolled out, bringing new features and improvements that streamline user experiences. Highlights include upgraded Cassandra images, refined workflow interceptors, and more intuitive Cadence Web interfaces. Discover the full scope of updates on our GitHub repositories. +Updates to the Cadence GoLang Client and Cadence Web have been rolled out, bringing new features and improvements that streamline user experiences. Highlights include upgraded Cassandra images, refined workflow interceptors, and more intuitive Cadence Web interfaces. Discover the full scope of updates on our GitHub repositories. -- [GoLang Client Releases](https://github.com/cadence-workflow/cadence-go-client/releases) -- [Cadence Web Releases](https://github.com/cadence-workflow/cadence-web/releases) +- [GoLang Client Releases](https://github.com/uber-go/cadence-client/releases) +- [Cadence Web Releases](https://github.com/uber/cadence-web/releases) -## Release Updates: v1.2.6 & v1.2.7 ## -Cadence recently saw the release of versions v1.2.6 and v1.2.7, featuring significant improvements and fixes that enhance the overall Cadence experience. These updates reflect a commitment to respond to the community's valuable feedback. Check out the detailed release notes on the [GitHub releases page](https://github.com/cadence-workflow/cadence/releases)! +## Release Updates: v1.2.6 & v1.2.7 ## +Cadence recently saw the release of versions v1.2.6 and v1.2.7, featuring significant improvements and fixes that enhance the overall Cadence experience. These updates reflect a commitment to respond to the community's valuable feedback. Check out the detailed release notes on the [GitHub releases page](https://github.com/uber/cadence/releases)! ## Cadence in the News! ## -Below is a selection of Cadence related articles and blogs. Take a look and feel free to share your own with us via your own social media channels! +Below is a selection of Cadence related articles and blogs. Take a look and feel free to share your own with us via your own social media channels! -- [How to Avoid β€œDomain update too frequent” Error in Multi-Region Cadence](https://www.instaclustr.com/blog/how-to-avoid-domain-update-too-frequent-error-in-multi-region-cadence/) -- [Build a Digital Collectibles Portal Using Flow and Cadence (Part 1)](https://levelup.gitconnected.com/build-a-digital-collectibles-portal-using-flow-and-cadence-part-1-2783f2902ef6) +- [How to Avoid β€œDomain update too frequent” Error in Multi-Region Cadence](https://www.instaclustr.com/blog/how-to-avoid-domain-update-too-frequent-error-in-multi-region-cadence/) +- [Build a Digital Collectibles Portal Using Flow and Cadence (Part 1)](https://levelup.gitconnected.com/build-a-digital-collectibles-portal-using-flow-and-cadence-part-1-2783f2902ef6) ## Recent Events ## -Check out this recent webinar, "Building with Cadence: Quantifiable Efficiency," available on-demand now. Discover the robust features of Cadence and how it can streamline the development of distributed applications through an engaging demonstration by [John Del Castillo](https://au.linkedin.com/in/john-del-castillo-28b87b90?trk=people-guest_people_search-card). - -- [On Demand: Building with Cadence: Quantifiable Efficiency](https://netapp.zoom.us/webinar/register/WN_jT5fxSldRhuzV0NSllBd7g#/registration) +Check out this recent webinar, "Building with Cadence: Quantifiable Efficiency," available on-demand now. Discover the robust features of Cadence and how it can streamline the development of distributed applications through an engaging demonstration by [John Del Castillo](https://au.linkedin.com/in/john-del-castillo-28b87b90?trk=people-guest_people_search-card). +- [On Demand: Building with Cadence: Quantifiable Efficiency](https://netapp.zoom.us/webinar/register/WN_jT5fxSldRhuzV0NSllBd7g#/registration) + \ \ \ -That’s all for this month! +That’s all for this month! -Your engagement and contributions are what make the Cadence community thrive. Whether you have innovative ideas, insightful feedback, or just want to chat about Cadence, we encourage you to join our [Slack #community channel](http://t.uber.com/cadence-slack). +Your engagement and contributions are what make the Cadence community thrive. Whether you have innovative ideas, insightful feedback, or just want to chat about Cadence, we encourage you to join our [Slack #community channel](http://t.uber.com/cadence-slack). -We're committed to making this update as useful and informative as possible, so please share any feedback or suggestions you might have. Let’s keep building a vibrant and collaborative Cadence community together! +We're committed to making this update as useful and informative as possible, so please share any feedback or suggestions you might have. Let’s keep building a vibrant and collaborative Cadence community together! -Looking forward to sharing more exciting updates next month! +Looking forward to sharing more exciting updates next month! diff --git a/blog/zonal-isolation-v1/zonal-isolation-v1.md b/src/blog/_posts/zonal-isolation-v1.md similarity index 81% rename from blog/zonal-isolation-v1/zonal-isolation-v1.md rename to src/blog/_posts/zonal-isolation-v1.md index c1f6b8497..957cdfe6b 100644 --- a/blog/zonal-isolation-v1/zonal-isolation-v1.md +++ b/src/blog/_posts/zonal-isolation-v1.md @@ -4,10 +4,8 @@ title: "Zonal Isolation for Cadence Workflows" subtitle: test date: 2024-10-14 -authors: shaddoll -tags: - - deep-dive - - cadence-operations +author: Zijian Chen +authorlink: https://www.linkedin.com/in/zijian-chen-5868938b/ --- At Uber, we want to achieve regional resilience such that losing a zone within a region can be tolerated without requiring a cross-region failover. We also want to make sure that losing a zone only affects a subset of workload, at most, rather than everything. However, in Cadence-based systems, the workload in a region is distributed randomly across all workers in the region at a β€œtask-level granularity”, which means a workflow may be worked on by any worker in the region where the domain is active. To achieve this goal, we introduced Zonal Isolation for Cadence Workflows - a feature designed to pin workflows to the zone they are started in, so that zonal isolation can be achieved at a workflow-level. @@ -21,14 +19,13 @@ Infrastructure-level isolation is quite challenging to implement as it requires As a result, the focus remains on achieving task-level zonal isolation outside the Cadence server, which offers a more practical and immediate way to improve system resilience. It provides the capability of ensuring that an unhealthy zone (i.e. bad deployment of workers) only affect a subset of workflows (started from a certain zone) rather than every workflow in a Cadence domain. - ## How Zonal Isolation Works in Cadence? ### Architecture Here is what the architecture of a zonally isolated Cadence-based system looks like: -![zonal isolation overview](./zone-isolation.png) -*

Fig: Workflows started in one zone are only dispatched to workers from the same zone. Colors to emphasize pinning.

* +![zonal isolation overview](/img/zone-isolation.png) +*

Fig: Workflows started in one zone are only dispatched to workers from the same zone. Colors to emphasize pinning.

* ### Implementation #### Determine the zone of a workflow and workers @@ -56,13 +53,13 @@ Explicitly draining a zone can be done at two levels: 1. **Domain-level drain:** This applies to a specific domain, allowing the zone to be drained only for workflows within that domain. 2. **Cluster-level drain:** This applies to the entire Cadence cluster, draining the zone for all domains and workflows within the cluster. -For domain-level drain, the draining status is stored in [`domains`](https://github.com/cadence-workflow/cadence/blob/v1.2.13/schema/cassandra/cadence/schema.cql#L412) table. For cluster-level drain, the status is stored in [`cluster_config`](https://github.com/cadence-workflow/cadence/blob/v1.2.13/schema/cassandra/cadence/schema.cql#L498) table. +For domain-level drain, the draining status is stored in [`domains`](https://github.com/uber/cadence/blob/v1.2.13/schema/cassandra/cadence/schema.cql#L412) table. For cluster-level drain, the status is stored in [`cluster_config`](https://github.com/uber/cadence/blob/v1.2.13/schema/cassandra/cadence/schema.cql#L498) table. ## How to enable Zonal Isolation? ### Server Update -In order to enable this feature, please upgrade Cadence server to [v1.2.1](https://github.com/cadence-workflow/cadence/releases/tag/v1.2.1) or later. +In order to enable this feature, please upgrade Cadence server to [v1.2.1](https://github.com/uber/cadence/releases/tag/v1.2.1) or later. -**NOTE:** If you're not using the provided main binary located in `cmd/server`, you must adopt this [middleware](https://github.com/cadence-workflow/cadence/blob/v1.2.1/common/rpc/middleware.go#L188). Depends on the appoach to [determine the origin zone of requests](#determine-the-zone-of-a-workflow-and-workers), you can adopt this [middleware](https://github.com/cadence-workflow/cadence/blob/v1.2.1/common/rpc/middleware.go#L229) or build your own middleware using [`partition.ContextWithConfig`](https://github.com/cadence-workflow/cadence/blob/v1.2.1/common/partition/context.go#L42) function to inject origin zone into the context. +**NOTE:** If you're not using the provided main binary located in `cmd/server`, you must adopt this [middleware](https://github.com/uber/cadence/blob/v1.2.1/common/rpc/middleware.go#L188). Depends on the appoach to [determine the origin zone of requests](#determine-the-zone-of-a-workflow-and-workers), you can adopt this [middleware](https://github.com/uber/cadence/blob/v1.2.1/common/rpc/middleware.go#L229) or build your own middleware using [`partition.ContextWithConfig`](https://github.com/uber/cadence/blob/v1.2.1/common/partition/context.go#L42) function to inject origin zone into the context. This feature is controlled by 2 dynamic config properties. - `system.allIsolationGroups`: This property provides the list of available zones within a region. @@ -93,17 +90,17 @@ In this example, the Cadence cluster spans two regions, each containing three zo NOTE: This update is only necessary if you're using the 1st approach to [determine the origin zone of requests](#determine-the-zone-of-a-workflow-and-workers). To support Zonal Isolation, please upgrade your SDK versions: -- **Go SDK:** Upgrade to [v1.0.2](https://github.com/cadence-workflow/cadence-go-client/releases/tag/v1.0.2) or later. -- **Java SDK:** Upgrade to [v3.9.0](https://github.com/cadence-workflow/cadence-java-client/releases/tag/v3.9.0) or later. +- **Go SDK:** Upgrade to [v1.0.2](https://github.com/uber-go/cadence-client/releases/tag/v1.0.2) or later. +- **Java SDK:** Upgrade to [v3.9.0](https://github.com/uber/cadence-java-client/releases/tag/v3.9.0) or later. -**For Java SDK users**, set the [`isolationGroup`](https://github.com/cadence-workflow/cadence-java-client/blob/v3.9.0/src/main/java/com/uber/cadence/serviceclient/ClientOptions.java#L83) field to the zone of the instance when creating `serviceClient`. +**For Java SDK users**, set the [`isolationGroup`](https://github.com/uber/cadence-java-client/blob/v3.9.0/src/main/java/com/uber/cadence/serviceclient/ClientOptions.java#L83) field to the zone of the instance when creating `serviceClient`. -**For Go SDK users**, set the [`isolationGroup`](https://github.com/cadence-workflow/cadence-go-client/blob/v1.0.2/internal/worker.go#L132) field to the zone of the instance when creating `Worker`. Additionally, you need to use [this method](https://github.com/cadence-workflow/cadence-go-client/blob/v1.0.2/isolationgroup/wrapper.go#L29C39-L29C70) to wrap `workflowserviceclient.Interface`. +**For Go SDK users**, set the [`isolationGroup`](https://github.com/uber-go/cadence-client/blob/v1.0.2/internal/worker.go#L132) field to the zone of the instance when creating `Worker`. Additionally, you need to use [this method](https://github.com/uber-go/cadence-client/blob/v1.0.2/isolationgroup/wrapper.go#L29C39-L29C70) to wrap `workflowserviceclient.Interface`. ## How to drain a zone explicitly? -Drains can be done via the [Admin APIs](https://github.com/cadence-workflow/cadence-idl/blob/50a4ee241e50c6baab8e5d47540b176c5ee022a4/proto/cadence-workflow/cadence/admin/v1/service.proto#L125) of cadence-frontend or CLI. +Drains can be done via the [Admin APIs](https://github.com/uber/cadence-idl/blob/50a4ee241e50c6baab8e5d47540b176c5ee022a4/proto/uber/cadence/admin/v1/service.proto#L125) of cadence-frontend or CLI. You can check the help message for the CLI by running: -```bash +``` cadence admin isolation-groups -h ``` ## Monitoring @@ -125,4 +122,4 @@ This metric can be used in the following ways: ## Next Step Currently, Zonal Isolation is implemented as **hard isolation**, where tasks are strictly limited to the same zone as the originating workflow. To address the traffic skewness issue, we are working on iterating this feature to introduce **soft isolation**. This relaxed version will allow for some task leakage between zones if traffic skewness is detected, ensuring better worker utilization and reducing latency. -This enhancement is one of our major ongoing projects, and we plan to share more details in a future blog post once it is launched. +This enhancement is one of our major ongoing projects, and we plan to share more details in a future blog post once it is launched. \ No newline at end of file diff --git a/src/components/HomepageFeatures/index.tsx b/src/components/HomepageFeatures/index.tsx deleted file mode 100644 index 72303801c..000000000 --- a/src/components/HomepageFeatures/index.tsx +++ /dev/null @@ -1,92 +0,0 @@ -import clsx from 'clsx'; -import Heading from '@theme/Heading'; -import styles from './styles.module.css'; - -type FeatureItem = { - title: string; - Svg: React.ComponentType>; - description: JSX.Element; -}; - -const FeatureList: FeatureItem[] = [ - { - title: 'Simplify Stateful Application Development', - Svg: require('@site/static/img/arrow_divert_filled.svg').default, - description: ( - <> - Encode complex business logic, while seamlessly managing scalability, reliability, and availability, freeing developers from these concerns - - ), - }, - { - title: 'Run Resilient Workflows in Any Environment', - Svg: require('@site/static/img/gears_blue.svg').default, - description: ( - <> - Cadence enables writing stateful applications without worrying about the complexity of handling process failures. - - ), - }, - { - title: 'Horizontal Scalability for Massive Workflow Loads', - Svg: require('@site/static/img/chart_bar_ascending_filled.svg').default, - description: ( - <> - Cadence scales horizontally to handle millions of concurrent workflows, and it includes asynchronous history event replication out-of-the-box, providing robust recovery from zone failures - - ), - }, -]; - -function Feature({ title, Svg, description }: FeatureItem) { - return ( -
-
- -
-
- {title} -

{description}

-
-
- ); -} - -function FeatureHorizontal({ title, Svg, description }: FeatureItem) { - return ( - -
-
-
- {title} - -
-
-
-

{description}

-
-
-
-
- ); -} - -export default function HomepageFeatures(): JSX.Element { - return ( -
-
-
- {FeatureList.map((props, idx) => ( - - ))} -
- - {/*
- {FeatureList.map((props, idx) => ( - - ))} -
*/} -
-
- ); -} diff --git a/src/components/HomepageFeatures/styles.module.css b/src/components/HomepageFeatures/styles.module.css deleted file mode 100644 index b248eb2e5..000000000 --- a/src/components/HomepageFeatures/styles.module.css +++ /dev/null @@ -1,11 +0,0 @@ -.features { - display: flex; - align-items: center; - padding: 2rem 0; - width: 100%; -} - -.featureSvg { - height: 200px; - width: 200px; -} diff --git a/src/components/TeamProfileCards/index.tsx b/src/components/TeamProfileCards/index.tsx deleted file mode 100644 index ceec8ae17..000000000 --- a/src/components/TeamProfileCards/index.tsx +++ /dev/null @@ -1,157 +0,0 @@ -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -import React, { type ReactNode } from 'react'; -import Translate from '@docusaurus/Translate'; -import Link from '@docusaurus/Link'; -import Heading from '@theme/Heading'; - -function WebsiteLink({ to, children }: { to: string; children?: ReactNode }) { - return ( - - {children ?? ( - website - )} - - ); -} - -type ProfileProps = { - className?: string; - name: string; - children: ReactNode; - githubUrl: string; - xUrl?: string; - linkedinUrl?: string; -}; - -function TeamProfileCard({ - className, - name, - children, - githubUrl, - xUrl, - linkedinUrl -}: ProfileProps) { - return ( -
-
-
-
- {`${name}'s -
- - {name} - -
-
-
-
{children}
-
-
- {githubUrl && ( - - GitHub - - )} - {xUrl && ( - - X - - )} - {linkedinUrl && ( - - LinkedIn - - )} -
-
-
-
- ); -} - -function TeamProfileCardCol(props: ProfileProps) { - return ( - - ); -} - -/* Core Team: */ -export function CoreTeamRow(): JSX.Element { - return ( -
- - πŸ‘‹πŸ» Abhishek Jha is a Software Developer for Cadence Workflows at Uber, specializing in developing robust distributed systems.
- He is passionate about leveraging emerging technologies, particularly Applied AI, to enhance system reliability and scalability.
- Outside of work, Abhishek enjoys hiking, singing/guitar, and playing various sports. He is always eager to discuss the future of technology, investments, and other intriguing topics. πŸ§‘πŸ»β€πŸ’»πŸ₯ΎπŸŽΎπŸŽΆ -
- - - - - - - - Ender joined the Cadence team as a tech lead and later transitioned into a management role.
- His career started with his own startup, followed with Microsoft, working for another startup and Meta.
- His prior work involves building Bing's/Azure's key value store (ObjectStore), distributed NAS, and search engines.
- He's into outdoors and endurance sports while not working. -
- - Felipe is a Software Engineer contributing to Cadence from San Francisco. He found CS later in his career, and he is glad he did. Felipe is always looking to learn more and Cadence is provides an endless source of topics. Outside of work, Felipe is probably doing something with his two sons. - - - - - Jakob Haahr Taankvist is a Software Engineer, contributing to the Cadence project from Denmark. With a background in formal games and traffic optimization, he now explores workflow orchestration.
- Outside of work, Jakob is on a mission to evaluate how well Danish ice hockey arenas double as programming spots while cheering on his son's games. πŸ’πŸ’» -
- - - Josue Ibarra is a Developer Advocate for Cadence Workflows at Uber, based in Seattle.
- Passionate about building better systems with Cadence, he balances his love for coding with hobbies like motorcycles, sailing, and cooking. πŸš€πŸ³πŸοΈ -
- - - - Nate originally got into programming by modding Minecraft and has been contributing to open source software ever since. - When he's not working on Cadence he's on a mission to try every pizza in Seattle. - - - Neil is a Software Engineer contrinuting to Cadence based in Seattle. He is a camping enthusiast who enjoys exploring the outdoors with his two dogs. - - - Sankari is a Software Engineer at Uber, working on Cadence from Denmark. With a career spanning multiple domains, she has mastered the art of connecting the dots. Outside her technical pursuits, she finds joy in therapeutic art, channeling her love for sugar, spices, and colors into creative expression. - - - - - - Taylan majored in CS and his software engineering journey includes working at Microsoft Azure, Google Cloud, and helping build an observability startup from ground up.
- Taylan is tech lead of Cadence team at Uber, based in Seattle.
- When he is not working, you'll probably find him playing basketball or kickboxing. -
- - - - -
- ); -} - -/* HonoraryContributors */ -export function HonoraryContributorsRow(): JSX.Element { - return ( -
-
- ); -} diff --git a/src/css/custom.css b/src/css/custom.css deleted file mode 100644 index 31bcad27c..000000000 --- a/src/css/custom.css +++ /dev/null @@ -1,62 +0,0 @@ -/** - * Any CSS included here will be global. The classic template - * bundles Infima by default. Infima is a CSS framework designed to - * work well for content-centric websites. - */ - -@import url('fonts.css'); - -:root { - /* - Verdana could provide good fallback. - UberMove-Bold used for headings, - UberMoveText-Regular for body - system-ui, Helvetica for fallback - */ - --ifm-font-family-base: UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif; - --ifm-font-family-monospace: UberMoveMono, UberMove, UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif; - --ifm-heading-font-family: UberMove, UberMoveMono, "Lucida Console", Monaco, monospace; - - --ifm-font-color-base: #000000; - --ifm-link-color: #276ef1; - - --ifm-color-primary: #5B4636; /* A rich brown for primary text and key elements */ - --ifm-color-primary-dark: #45362A; /* A darker shade for headings or important elements */ - --ifm-color-primary-darker: #2E241C; /* Even darker for small accents or dividers */ - --ifm-color-primary-darkest: #1A140E; /* The darkest shade for maximum contrast areas */ - --ifm-color-primary-light: #FFF1D5; /* A slightly darker variant of Cosmic Latte for backgrounds */ - --ifm-color-primary-lighter: #FFF5DB; /* A lighter variant for secondary UI areas */ - --ifm-color-primary-lightest: #FFF8E7; /* Cosmic Latte as the base lightest color */ - --ifm-code-font-size: 100%; /* Ensure code font size is clear and legible */ - --docusaurus-highlighted-code-line-bg: rgba(91, 70, 54, 0.1); /* Subtle highlight for code lines */ -} -[data-theme='dark'] { - - --ifm-font-color-base: #FFE6CC; - --ifm-link-color: #FFF8E7; - - --ifm-color-primary: #FFE6CC; /* A warm cream for primary text and key elements */ - --ifm-color-primary-dark: #CCB3A1; /* A slightly muted cream for secondary text */ - --ifm-color-primary-darker: #996F6F; /* A deeper, warm accent color */ - --ifm-color-primary-darkest: #2E241C; /* Deep brown for the darkest contrast areas */ - --ifm-color-primary-light: #4A3B2D; /* A subtle brown shade for UI elements */ - --ifm-color-primary-lighter: #5B4636; /* Rich brown for secondary elements */ - --ifm-color-primary-lightest: #FFF8E7; /* Cosmic Latte as the highlight */ - --docusaurus-highlighted-code-line-bg: rgba(255, 230, 204, 0.1); /* Warm tone for code line highlights */ -} - -.hero.hero--primary[data-theme='light'] { - --ifm-hero-background-color: #1A140E; /* A warm background color for hero sections */ -} -.hero.hero--primary[data-theme='dark'] { - --ifm-hero-background-color: #FFE6CC; /* A darker background color for dark mode hero sections */ -} - -/* https://docusaurus.io/docs/search */ -[data-theme='light'] .DocSearch { - --docsearch-highlight-color: #276ef1; /* Highlight color for search results */ -} - -[data-theme='dark'] .DocSearch { - --docsearch-highlight-color: #276ef1; /* Highlight color for search results */ -} diff --git a/src/css/fonts.css b/src/css/fonts.css deleted file mode 100644 index 5ade55ac9..000000000 --- a/src/css/fonts.css +++ /dev/null @@ -1,79 +0,0 @@ -@font-face { - font-family: 'UberMove'; - src: url('https://d1a3f4spazzrp4.cloudfront.net/dotcom-assets/fonts/UberMove-Light.woff2') format('woff2'), url('https://d1a3f4spazzrp4.cloudfront.net/dotcom-assets/fonts/UberMove-Light.woff') format('woff'); - font-weight: 200; - font-style: normal; - font-display: swap; -} - -@font-face { - font-family: 'UberMove'; - src: url('https://d1a3f4spazzrp4.cloudfront.net/dotcom-assets/fonts/UberMove-Regular.woff2') format('woff2'), url('https://d1a3f4spazzrp4.cloudfront.net/dotcom-assets/fonts/UberMove-Regular.woff') format('woff'); - font-weight: 400; - font-style: normal; - font-display: swap; -} - -@font-face { - font-family: 'UberMove'; - src: url('https://d1a3f4spazzrp4.cloudfront.net/dotcom-assets/fonts/UberMove-Medium.woff2') format('woff2'), url('https://d1a3f4spazzrp4.cloudfront.net/dotcom-assets/fonts/UberMove-Medium.woff') format('woff'); - font-weight: 500; - font-style: normal; - font-display: swap; -} - -@font-face { - font-family: 'UberMove'; - src: url('https://d1a3f4spazzrp4.cloudfront.net/dotcom-assets/fonts/UberMove-Bold.woff2') format('woff2'), url('https://d1a3f4spazzrp4.cloudfront.net/dotcom-assets/fonts/UberMove-Bold.woff') format('woff'); - font-weight: 600; - font-style: normal; - font-display: swap; -} - -@font-face { - font-family: 'UberMoveText'; - src: url('https://d1a3f4spazzrp4.cloudfront.net/dotcom-assets/fonts/UberMoveText-Light.woff2') format('woff2'), url('https://d1a3f4spazzrp4.cloudfront.net/dotcom-assets/fonts/UberMoveText-Light.woff') format('woff'); - font-weight: 200; - font-style: normal; - font-display: swap; -} - -@font-face { - font-family: 'UberMoveText'; - src: url('https://d1a3f4spazzrp4.cloudfront.net/dotcom-assets/fonts/UberMoveText-Regular.woff2') format('woff2'), url('https://d1a3f4spazzrp4.cloudfront.net/dotcom-assets/fonts/UberMoveText-Regular.woff') format('woff'); - font-weight: 400; - font-style: normal; - font-display: swap; -} - -@font-face { - font-family: 'UberMoveText'; - src: url('https://d1a3f4spazzrp4.cloudfront.net/dotcom-assets/fonts/UberMoveText-Medium.woff2') format('woff2'), url('https://d1a3f4spazzrp4.cloudfront.net/dotcom-assets/fonts/UberMoveText-Medium.woff') format('woff'); - font-weight: 500; - font-style: normal; - font-display: swap; -} - -@font-face { - font-family: 'UberMoveText'; - src: url('https://d1a3f4spazzrp4.cloudfront.net/dotcom-assets/fonts/UberMoveText-Bold.woff2') format('woff2'), url('https://d1a3f4spazzrp4.cloudfront.net/dotcom-assets/fonts/UberMoveText-Bold.woff') format('woff'); - font-weight: 600; - font-style: normal; - font-display: swap; -} - -@font-face { - font-family: 'UberMoveMono'; - src: url(data:font/woff;charset=utf-8;base64,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) format('woff2'); - font-weight: 400; - font-style: normal; - font-display: block; -} - -@font-face { - font-family: 'UberMoveMono'; - src: url(data:font/woff;charset=utf-8;base64,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) format('woff2'); - font-weight: 500; - font-style: normal; - font-display: block; -} diff --git a/src/datadog/CadenceClient.json b/src/datadog/CadenceClient.json new file mode 100644 index 000000000..f8f02a905 --- /dev/null +++ b/src/datadog/CadenceClient.json @@ -0,0 +1 @@ +{"title":"Cadence Client","description":"## Cadence Client dashboard\n\n- latency is in MS ","widgets":[{"id":4219573358619756,"definition":{"title":"Workflow","type":"group","show_title":true,"layout_type":"ordered","widgets":[{"id":4236625013561676,"definition":{"title":"Workflow Start/Success","title_size":"16","title_align":"left","show_legend":false,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"Start","formula":"query1"},{"alias":"Completed","formula":"query2"},{"alias":"Canceled","formula":"query4"},{"alias":"Continued As New","formula":"query5"},{"alias":"Signal With Start","formula":"query6"}],"response_format":"timeseries","on_right_yaxis":false,"queries":[{"query":"sum:cadence_client.cadence_workflow_start{$App,$Env,$Domain,$Tasklist,$WorkflowType} by {workflowtype,app,env,domain,tasklist}.as_rate()","data_source":"metrics","name":"query1"},{"query":"sum:cadence_client.cadence_workflow_completed{$App,$Env,$Domain,$Tasklist,$WorkflowType} by {workflowtype,app,env,domain,tasklist}.as_rate()","data_source":"metrics","name":"query2"},{"query":"sum:cadence_client.cadence_workflow_canceled{$App,$Env,$Domain,$Tasklist,$WorkflowType} by {workflowtype,app,domain,env,tasklist}.as_rate()","data_source":"metrics","name":"query4"},{"query":"sum:cadence_client.cadence_workflow_continue_as_new{$App,$Env,$Domain,$Tasklist,$WorkflowType} by {workflowtype,app,domain,env,tasklist}.as_rate()","data_source":"metrics","name":"query5"},{"query":"sum:cadence_client.cadence_workflow_signal_with_start{$App,$Env,$Domain,$Tasklist,$WorkflowType} by {workflowtype,app,domain,env,tasklist}.as_rate()","data_source":"metrics","name":"query6"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]},"layout":{"x":0,"y":0,"width":4,"height":2}},{"id":4615484254514660,"definition":{"title":"Workflow Failure","title_size":"16","title_align":"left","show_legend":false,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"FailedOnClient","formula":"query3"},{"alias":"FailedOnServer","formula":"query1"},{"alias":"Terminate","formula":"query2"},{"alias":"Timeout","formula":"query4"}],"response_format":"timeseries","on_right_yaxis":false,"queries":[{"query":"sum:cadence_client.cadence_workflow_failed{$App,$Env,$Domain,$Tasklist,$WorkflowType} by {workflowtype,app,domain,env}.as_count()","data_source":"metrics","name":"query3"},{"query":"sum:cadence_history.workflow_failed{$Env,$Domain,$WorkflowType} by {domain,env,workflowtype}.as_count()","data_source":"metrics","name":"query1"},{"query":"sum:cadence_history.workflow_terminate{$Env,$Domain,$WorkflowType} by {domain,env,workflowtype}.as_count()","data_source":"metrics","name":"query2"},{"query":"sum:cadence_history.workflow_timeout{$Env,$Domain,$WorkflowType} by {domain,env,workflowtype}.as_count()","data_source":"metrics","name":"query4"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"bars"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]},"layout":{"x":4,"y":0,"width":4,"height":2}},{"id":3699406887810216,"definition":{"title":"Decision Poll Counters","title_size":"16","title_align":"left","show_legend":false,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"Total","formula":"query1"},{"alias":"Failed","formula":"query2"},{"alias":"No Task","formula":"query3"},{"alias":"Succeed","formula":"query4"}],"response_format":"timeseries","on_right_yaxis":false,"queries":[{"query":"sum:cadence_client.cadence_decision_poll_total{$App,$Env,$Domain,$Tasklist}.as_count()","data_source":"metrics","name":"query1"},{"query":"sum:cadence_client.cadence_decision_poll_failed{$App,$Env,$Domain,$Tasklist}.as_count()","data_source":"metrics","name":"query2"},{"query":"sum:cadence_client.cadence_decision_poll_no_task{$App,$Env,$Domain,$Tasklist}.as_count()","data_source":"metrics","name":"query3"},{"query":"sum:cadence_client.cadence_decision_poll_succeed{$App,$Env,$Domain,$Tasklist}.as_count()","data_source":"metrics","name":"query4"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"bars"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]},"layout":{"x":8,"y":0,"width":4,"height":2}},{"id":161361112843438,"definition":{"title":"DecisionTasks scheduled per Second ","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"","formula":"query1"}],"response_format":"timeseries","queries":[{"query":"sum:cadence_matching.cadence_requests_per_tl{*,$Env,operation:adddecisiontask,$Tasklist,$Domain} by {tasklist,domain}.as_rate()","data_source":"metrics","name":"query1"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]},"layout":{"x":0,"y":2,"width":4,"height":2}},{"id":2093216816988498,"definition":{"title":"Decision Scheduled To Start Latency (ms)","title_size":"16","title_align":"left","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"avg latency","formula":"query1"},{"alias":"max latency","formula":"query2"},{"alias":"P95 latency","formula":"query3"}],"response_format":"timeseries","queries":[{"query":"avg:cadence_client.cadence_decision_scheduled_to_start_latency.avg{$App,$Env,$Domain,$Tasklist} by {app,env,domain,tasklist}","data_source":"metrics","name":"query1"},{"query":"max:cadence_client.cadence_decision_scheduled_to_start_latency.max{$App,$Env,$Domain,$Tasklist} by {app,env,domain,tasklist}","data_source":"metrics","name":"query2"},{"query":"max:cadence_client.cadence_decision_scheduled_to_start_latency.95percentile{$App,$Env,$Domain,$Tasklist} by {app,env,domain,tasklist}","data_source":"metrics","name":"query3"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]},"layout":{"x":4,"y":2,"width":4,"height":2}},{"id":5535429605889896,"definition":{"title":"NonDeterministicError and Worker Panic","title_size":"16","title_align":"left","show_legend":false,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"Worker Panic","formula":"query1"},{"alias":"NonDeterministicError","formula":"query2"}],"response_format":"timeseries","on_right_yaxis":false,"queries":[{"query":"sum:cadence_client.cadence_worker_panic{$App,$Env,$Domain} by {app,env,domain}.as_rate()","data_source":"metrics","name":"query1"},{"query":"sum:cadence_client.cadence_non_deterministic_error{$App,$Env,$Domain} by {app,env,domain}.as_rate()","data_source":"metrics","name":"query2"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]},"layout":{"x":8,"y":2,"width":4,"height":2}},{"id":2944243379548730,"definition":{"title":"Workflow Sticky Cache Hit Rate and Miss count","title_size":"16","title_align":"left","show_legend":false,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"HitRate","formula":"(query1 / (query2 + query1)) * 100"}],"response_format":"timeseries","on_right_yaxis":false,"queries":[{"query":"sum:cadence_client.cadence_sticky_cache_miss{$App,$Env,$Domain} by {app,env,domain}.as_count()","data_source":"metrics","name":"query2"},{"query":"sum:cadence_client.cadence_sticky_cache_hit{$App,$Env,$Domain} by {app,env,domain}.as_count()","data_source":"metrics","name":"query1"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]},"layout":{"x":0,"y":4,"width":4,"height":2}},{"id":352441205027068,"definition":{"title":"Workflow Sticky Cache Eviction","title_size":"16","title_align":"left","show_legend":false,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"RegularEviction","formula":"query2"},{"alias":"ForcedEvictionCacheFull","formula":"query1"}],"response_format":"timeseries","on_right_yaxis":false,"queries":[{"query":"sum:cadence_client.cadence_sticky_cache_total_forced_eviction{$App,$Env,$Domain} by {app,env,domain}.as_count()","data_source":"metrics","name":"query2"},{"query":"sum:cadence_client.cadence_sticky_cache_thread_forced_eviction{$App,$Env,$Domain} by {app,env,domain}.as_count()","data_source":"metrics","name":"query1"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"bars"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]},"layout":{"x":4,"y":4,"width":4,"height":2}},{"id":3373872650555161,"definition":{"title":"Workflow End to End Latency (ms)","title_size":"16","title_align":"left","show_legend":false,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"Median","formula":"query1"},{"alias":"P95","formula":"query2"}],"response_format":"timeseries","queries":[{"query":"avg:cadence_client.cadence_workflow_endtoend_latency.median{$App,$Env,$Domain,$Tasklist,$WorkflowType} by {app,env,domain,tasklist,workflowtype}","data_source":"metrics","name":"query1"},{"query":"avg:cadence_client.cadence_workflow_endtoend_latency.95percentile{$App,$Env,$Domain,$Tasklist,$WorkflowType} by {app,env,domain,tasklist,workflowtype}","data_source":"metrics","name":"query2"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]},"layout":{"x":8,"y":4,"width":4,"height":2}}]},"layout":{"x":0,"y":0,"width":12,"height":7}},{"id":5195673210456478,"definition":{"title":"Activity","type":"group","show_title":true,"layout_type":"ordered","widgets":[{"id":4136061598838505,"definition":{"title":"Activity Task Operations","title_size":"16","title_align":"left","show_legend":false,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"Failed","formula":"query1"},{"alias":"Completed","formula":"query2"},{"alias":"Timeouted","formula":"query3"}],"response_format":"timeseries","on_right_yaxis":false,"queries":[{"query":"sum:cadence_client.cadence_activity_task_failed{$App,$Env,$Domain,$Tasklist} by {activitytype}.as_count()","data_source":"metrics","name":"query1"},{"query":"sum:cadence_client.cadence_activity_task_completed{$App,$Env,$Domain,$Tasklist} by {activitytype}.as_count()","data_source":"metrics","name":"query2"},{"query":"sum:cadence_client.cadence_activity_task_timeouted{$App,$Env,$Domain,$Tasklist} by {activitytype}.as_rate()","data_source":"metrics","name":"query3"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"bars"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]},"layout":{"x":0,"y":0,"width":4,"height":2}},{"id":1203464435749966,"definition":{"title":"Activity Execution Latency (ms)","title_size":"16","title_align":"left","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"avg latency","formula":"query1"},{"alias":"max latency","formula":"query2"}],"response_format":"timeseries","queries":[{"query":"avg:cadence_client.cadence_activity_execution_latency.avg{$App,$Env,$Domain,$Tasklist} by {app,env,domain,tasklist,activitytype}","data_source":"metrics","name":"query1"},{"query":"max:cadence_client.cadence_activity_execution_latency.max{$App,$Env,$Domain,$Tasklist} by {app,env,domain,tasklist,activitytype}","data_source":"metrics","name":"query2"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]},"layout":{"x":4,"y":0,"width":4,"height":2}},{"id":3087909658739904,"definition":{"title":"Activity Poll Counters","title_size":"16","title_align":"left","show_legend":false,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"Total","formula":"query1"},{"alias":"Failed","formula":"query2"},{"alias":"Succeed","formula":"query3"},{"alias":"No Task","formula":"query4"}],"response_format":"timeseries","queries":[{"query":"sum:cadence_client.cadence_activity_poll_total{$App,$Env,$Domain,$Tasklist} by {activitytype}.as_count()","data_source":"metrics","name":"query1"},{"query":"sum:cadence_client.cadence_activity_poll_failed{$App,$Env,$Domain,$Tasklist} by {activitytype}.as_count()","data_source":"metrics","name":"query2"},{"query":"sum:cadence_client.cadence_activity_poll_succeed{$App,$Env,$Domain,$Tasklist} by {activitytype}.as_count()","data_source":"metrics","name":"query3"},{"query":"sum:cadence_client.cadence_activity_poll_no_task{$App,$Env,$Domain,$Tasklist} by {activitytype}.as_count()","data_source":"metrics","name":"query4"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"bars"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]},"layout":{"x":8,"y":0,"width":4,"height":2}},{"id":7686476092479080,"definition":{"title":"ActivityTasks scheduled per Second ","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"","formula":"query1"}],"response_format":"timeseries","queries":[{"query":"sum:cadence_matching.cadence_requests_per_tl{*,$Env,operation:addactivitytask,$Tasklist,$Domain} by {tasklist,domain}.as_rate()","data_source":"metrics","name":"query1"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]},"layout":{"x":0,"y":2,"width":4,"height":2}},{"id":2249988911412952,"definition":{"title":"Activity Scheduled To Start Latency","title_size":"16","title_align":"left","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"avg latency","formula":"query1"},{"alias":"max latency","formula":"query2"},{"alias":"P95 latency","formula":"query3"}],"response_format":"timeseries","queries":[{"query":"avg:cadence_client.cadence_activity_scheduled_to_start_latency.avg{$App,$Env,$Domain,$Tasklist} by {app,env,domain,tasklist,activitytype}","data_source":"metrics","name":"query1"},{"query":"max:cadence_client.cadence_activity_scheduled_to_start_latency.max{$App,$Env,$Domain,$Tasklist} by {app,env,domain,tasklist,activitytype}","data_source":"metrics","name":"query2"},{"query":"max:cadence_client.cadence_activity_scheduled_to_start_latency.95percentile{$App,$Env,$Domain,$Tasklist} by {app,env,domain,tasklist,activitytype}","data_source":"metrics","name":"query3"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]},"layout":{"x":4,"y":2,"width":4,"height":2}},{"id":4089214665691438,"definition":{"title":"Activity Failure","title_size":"16","title_align":"left","show_legend":false,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"ExecFailedOnClient","formula":"query3"},{"alias":"TaskPanicOnClient","formula":"query5"},{"alias":"TaskFailedOnClient","formula":"query6"},{"alias":"TaskCanceledOnClient","formula":"query7"},{"alias":"HeartbeatTimeout","formula":"query4"},{"alias":"ScheduledToStartTimeout","formula":"query8"},{"alias":"StartToCloseTimeout","formula":"query9"},{"alias":"ScheduledToCloseTimeout","formula":"query10"}],"response_format":"timeseries","on_right_yaxis":false,"queries":[{"query":"sum:cadence_client.cadence_activity_execution_failed{$App,$Env,$Domain} by {app,domain,env,activitytype}.as_count()","data_source":"metrics","name":"query3"},{"query":"sum:cadence_client.cadence_activity_task_panic{$Env,$Domain} by {domain,env}.as_count()","data_source":"metrics","name":"query5"},{"query":"sum:cadence_client.cadence_activity_task_failed{$Env,$Domain} by {domain,env,activitytype}.as_count()","data_source":"metrics","name":"query6"},{"query":"sum:cadence_client.cadence_activity_task_canceled{$Env,$Domain} by {domain,env}.as_count()","data_source":"metrics","name":"query7"},{"query":"sum:cadence_history.heartbeat_timeout{$Env,$Domain} by {domain,env}.as_count()","data_source":"metrics","name":"query4"},{"query":"sum:cadence_history.schedule_to_start_timeout{$Env,$Domain} by {domain,env}.as_count()","data_source":"metrics","name":"query8"},{"query":"sum:cadence_history.start_to_close_timeout{$Env,$Domain} by {domain,env}.as_count()","data_source":"metrics","name":"query9"},{"query":"sum:cadence_history.schedule_to_close_timeout{$Env,$Domain} by {domain,env}.as_count()","data_source":"metrics","name":"query10"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"bars"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]},"layout":{"x":8,"y":2,"width":4,"height":2}}]},"layout":{"x":0,"y":7,"width":12,"height":5}},{"id":3089130615123062,"definition":{"title":"Service","type":"group","show_title":true,"layout_type":"ordered","widgets":[{"id":6839017238981666,"definition":{"title":"Service API success rate","title_size":"16","title_align":"left","show_legend":false,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"formula":"(1 - query2 / query1) * 100"}],"response_format":"timeseries","on_right_yaxis":false,"queries":[{"query":"sum:cadence_client.cadence_request{$App,$Env} by {app}.as_count()","data_source":"metrics","name":"query1"},{"query":"sum:cadence_client.cadence_error{$App,$Env} by {app}.as_count()","data_source":"metrics","name":"query2"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]},"layout":{"x":0,"y":0,"width":4,"height":2}},{"id":2700981906242922,"definition":{"title":"Service API Latency (TODO exclude long-poll APIs)","title_size":"16","title_align":"left","show_legend":false,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"avg latency","formula":"query2"},{"alias":"p95 latency","formula":"query1"},{"alias":"median latency","formula":"query3"}],"response_format":"timeseries","on_right_yaxis":false,"queries":[{"query":"sum:cadence_client.cadence_latency.avg{$App,$Env} by {app}","data_source":"metrics","name":"query2"},{"query":"sum:cadence_client.cadence_latency.95percentile{$App,$Env} by {app}","data_source":"metrics","name":"query1"},{"query":"sum:cadence_client.cadence_latency.median{$App,$Env} by {app}","data_source":"metrics","name":"query3"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]},"layout":{"x":4,"y":0,"width":4,"height":2}}]},"layout":{"x":0,"y":12,"width":12,"height":3}},{"id":3463423037058706,"definition":{"title":"History","type":"group","show_title":true,"layout_type":"ordered","widgets":[{"id":245992387044406,"definition":{"title":"Max History Size","title_size":"16","title_align":"left","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"formula":"query1 * 1000000000"}],"response_format":"timeseries","queries":[{"query":"max:cadence_history.history_size.quantile{$Env,!domain:all,$Domain} by {domain}","data_source":"metrics","name":"query1"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[{"label":"y = 50000000","value":"y = 50000000","display_type":"warning dashed"}]},"layout":{"x":0,"y":0,"width":4,"height":2}},{"id":695758294935922,"definition":{"title":"Avg History Length ","title_size":"16","title_align":"left","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"formula":"(query1 / query2) * 1000000000"}],"response_format":"timeseries","queries":[{"query":"avg:cadence_history.history_count.sum{$Env,!domain:all,$Domain} by {domain}","data_source":"metrics","name":"query1"},{"query":"avg:cadence_history.history_count.count{$Env,!domain:all,$Domain} by {domain}","data_source":"metrics","name":"query2"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[{"label":"y = 50000","value":"y = 50000","display_type":"error dashed"}]},"layout":{"x":4,"y":0,"width":4,"height":2}},{"id":1659771189455664,"definition":{"title":"Max Event Blob Size ","title_size":"16","title_align":"left","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"sizeInBytes","formula":"query1 * 1000000000"}],"response_format":"timeseries","queries":[{"query":"max:cadence_history.event_blob_size.quantile{*} by {domain}","data_source":"metrics","name":"query1"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[{"label":"y = 256000","value":"y = 256000","display_type":"warning dashed"}]},"layout":{"x":8,"y":0,"width":4,"height":2}}]},"layout":{"x":0,"y":15,"width":12,"height":3}}],"template_variables":[{"name":"App","default":"workflowprototypeapplication","prefix":"app","available_values":[]},{"name":"Env","default":"prod","prefix":"env","available_values":[]},{"name":"Domain","default":"*","prefix":"domain","available_values":[]},{"name":"Tasklist","default":"*","prefix":"tasklist","available_values":[]},{"name":"WorkflowType","default":"*","prefix":"workflowtype","available_values":[]}],"layout_type":"ordered","is_read_only":false,"notify_list":[],"template_variable_presets":[{"name":"rsvp-prod","template_variables":[{"name":"App","value":"*"},{"name":"Domain","value":"ihp_workflow_rsvp"}]}],"reflow_type":"fixed","id":"ke4-u7m-33h"} \ No newline at end of file diff --git a/src/datadog/CadenceServer.json b/src/datadog/CadenceServer.json new file mode 100644 index 000000000..5f65e0b21 --- /dev/null +++ b/src/datadog/CadenceServer.json @@ -0,0 +1 @@ +{"title":"Cadence Server","description":"Custom metrics for cadence_frontend (cloned)","widgets":[{"id":4197425354469780,"definition":{"title":"Overall","type":"group","show_title":true,"layout_type":"ordered","widgets":[{"id":7318452924405518,"definition":{"title":"Service Availability(server metrics)","type":"query_value","requests":[{"formulas":[{"formula":"(1 - query2 / query1) * 100"}],"response_format":"scalar","queries":[{"query":"sum:cadence_frontend.cadence_errors{$env,$Availability_Zone}","data_source":"metrics","name":"query2","aggregator":"sum"},{"query":"sum:cadence_frontend.cadence_requests{$env,$Availability_Zone}","data_source":"metrics","name":"query1","aggregator":"sum"}]}],"autoscale":true,"precision":2}},{"id":3007305508271598,"definition":{"title":"StartWorkflow Per Second","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"","formula":"query1"}],"response_format":"timeseries","queries":[{"query":"sum:cadence_frontend.cadence_requests{$env AND $Availability_Zone AND (operation IN (startworkflowexecution,signalwithstartworkflowexecution))} by {operation}.as_rate()","data_source":"metrics","name":"query1"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":8690519393933274,"definition":{"title":"Activities Started Per Second","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"","formula":"query1"}],"response_format":"timeseries","queries":[{"query":"sum:cadence_frontend.cadence_requests{$env,$Availability_Zone,operation:pollforactivitytask} by {operation}.as_rate()","data_source":"metrics","name":"query1"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":3028523459566082,"definition":{"title":"Decisions Started Per Second","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"","formula":"query1"}],"response_format":"timeseries","queries":[{"query":"sum:cadence_frontend.cadence_requests{$env,$Availability_Zone,operation:pollforactivitytask} by {operation}.as_rate()","data_source":"metrics","name":"query1"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":1232789236549370,"definition":{"title":"Periodical Test Suite Success(aka Canary)","title_size":"16","title_align":"left","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"formula":"query1"}],"response_format":"timeseries","queries":[{"query":"sum:cadence_history.workflow_success{workflowtype:workflow_sanity,$env} by {workflowtype}.as_count()","data_source":"metrics","name":"query1"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"bars"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}}]}},{"id":7006845761795350,"definition":{"title":"Frontend","type":"group","show_title":true,"layout_type":"ordered","widgets":[{"id":6582666541590736,"definition":{"title":"Service API success rate by Client(includes client side error like EntityNotExists)","title_size":"16","title_align":"left","show_legend":false,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"formula":"(1 - query2 / query1) * 100"}],"response_format":"timeseries","on_right_yaxis":false,"queries":[{"query":"sum:cadence_client.cadence_error{$env} by {app}.as_count()","data_source":"metrics","name":"query2"},{"query":"sum:cadence_client.cadence_request{$env} by {app}.as_count()","data_source":"metrics","name":"query1"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":5770958892375138,"definition":{"title":"Service Availability(server metrics)","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"formula":"(1 - query2 / query1) * 100"}],"response_format":"timeseries","queries":[{"query":"sum:cadence_frontend.cadence_errors{$env,$Availability_Zone}","data_source":"metrics","name":"query2"},{"query":"sum:cadence_frontend.cadence_requests{$env,$Availability_Zone}","data_source":"metrics","name":"query1"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":5756748770458430,"definition":{"title":"All API per second","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"Requests","formula":"query1"}],"response_format":"timeseries","queries":[{"query":"sum:cadence_frontend.cadence_requests{$env,$Availability_Zone}.as_rate()","data_source":"metrics","name":"query1"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":571239942327076,"definition":{"title":"API per second(breakdown per operation)","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"Requests","formula":"query1"}],"response_format":"timeseries","queries":[{"query":"sum:cadence_frontend.cadence_requests{$env,$Availability_Zone} by {operation}.as_rate()","data_source":"metrics","name":"query1"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":4576966870029962,"definition":{"title":"Regular API Latency","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"formula":"query1"}],"response_format":"timeseries","queries":[{"query":"avg:cadence_frontend.cadence_latency.quantile{(operation NOT IN (pollfordecisiontask,pollforactivitytask,getworkflowexecutionhistory,queryworkflow,listworkflowexecutions,listclosedworkflowexecutions,listopenworkflowexecutions,countworkflowexecutions)) AND $env AND $Availability_Zone AND $pXXLatency} by {operation}","data_source":"metrics","name":"query1"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":6111474522853542,"definition":{"title":"ListWorkflow API Latency","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"formula":"query1"}],"response_format":"timeseries","queries":[{"query":"avg:cadence_frontend.cadence_latency.quantile{(operation IN (listclosedworkflowexecutions,listopenworkflowexecutions,listworkflowexecutions,countworkflowexecutions)) AND $env AND $Availability_Zone AND $pXXLatency} by {operation}","data_source":"metrics","name":"query1"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":8825913901886726,"definition":{"title":"Long Poll API Latency ","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"Requests","formula":"query1"},{"alias":"Requests","formula":"query2"}],"response_format":"timeseries","queries":[{"query":"avg:cadence_frontend.cadence_latency.quantile{$env,$Availability_Zone,$pXXLatency,operation:pollforactivitytask} by {operation}","data_source":"metrics","name":"query1"},{"query":"avg:cadence_frontend.cadence_latency.quantile{$env,$Availability_Zone,$pXXLatency,operation:pollfordecisiontask} by {operation}","data_source":"metrics","name":"query2"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":5792381575802732,"definition":{"title":"GetHistory/QueryWorkflow API Latency ","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"Requests","formula":"query1"}],"response_format":"timeseries","queries":[{"query":"avg:cadence_frontend.cadence_latency.quantile{(operation IN (getworkflowexecutionhistory,queryworkflow)) AND $env AND $Availability_Zone AND $pXXLatency} by {operation}","data_source":"metrics","name":"query1"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":1749629614227724,"definition":{"title":"API errors per second(breakdown per operation)","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"Internal server error","formula":"query1"},{"alias":"Bad Requests error","formula":"query2"},{"alias":"QueryFailed error","formula":"query3"},{"alias":"ContextTimeout error","formula":"query4"},{"alias":"EntityNotExists error","formula":"query5"},{"alias":"WorkflowAlreadyStarted error","formula":"query6"},{"alias":"WorkflowAlreadyCompleted","formula":"query7"}],"response_format":"timeseries","queries":[{"query":"sum:cadence_frontend.cadence_errors{$env,$Availability_Zone} by {operation}.as_rate()","data_source":"metrics","name":"query1"},{"query":"sum:cadence_frontend.cadence_errors_bad_request{$env,$Availability_Zone} by {operation}.as_rate()","data_source":"metrics","name":"query2"},{"query":"sum:cadence_frontend.cadence_errors_query_failed{$env,$Availability_Zone} by {operation}.as_rate()","data_source":"metrics","name":"query3"},{"query":"sum:cadence_frontend.cadence_errors_context_timeout{$env,$Availability_Zone} by {operation}","data_source":"metrics","name":"query4"},{"query":"sum:cadence_frontend.cadence_errors_entity_not_exists{$env,$Availability_Zone} by {operation}","data_source":"metrics","name":"query5"},{"query":"sum:cadence_frontend.cadence_errors_execution_already_started{$env,$Availability_Zone} by {operation}","data_source":"metrics","name":"query6"},{"query":"sum:cadence_frontend.cadence_errors_workflow_execution_already_completed{$env,$Availability_Zone} by {operation}","data_source":"metrics","name":"query7"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":8438281967817694,"definition":{"title":"WorkflowClient API per seconds by domain","title_size":"16","title_align":"left","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"formula":"query1"}],"response_format":"timeseries","queries":[{"query":"sum:cadence_frontend.cadence_requests{(operation IN (signalwithstartworkflowexecution,signalworkflowexecution,startworkflowexecution,terminateworkflowexecution,resetworkflowexecution,requestcancelworkflowexecution,listworkflowexecutions)) AND $env AND $Availability_Zone} by {domain,operation}.as_rate()","data_source":"metrics","name":"query1"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":6227860853786832,"definition":{"title":"Regular API Per Domain","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"formula":"query1"}],"response_format":"timeseries","queries":[{"query":"sum:cadence_frontend.cadence_requests{(operation NOT IN (pollfordecisiontask,pollforactivitytask,getworkflowexecutionhistory,queryworkflow,listworkflowexecutions,listclosedworkflowexecutions,listopenworkflowexecutions,countworkflowexecutions)) AND $env AND $Availability_Zone} by {domain}.as_count()","data_source":"metrics","name":"query1"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"bars"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":7630594822884810,"definition":{"title":"Top Domains for Regular Requests","title_size":"16","title_align":"left","type":"toplist","requests":[{"formulas":[{"formula":"query1","limit":{"count":25,"order":"desc"}}],"response_format":"scalar","queries":[{"query":"max:cadence_frontend.cadence_requests{(operation IN (signalwithstartworkflowexecution,signalworkflowexecution,startworkflowexecution,terminateworkflowexecution,resetworkflowexecution,requestcancelworkflowexecution,listworkflowexecutions)) AND $env AND $Availability_Zone} by {domain}.as_count()","data_source":"metrics","name":"query1","aggregator":"max"}]}]}},{"id":6729146509029284,"definition":{"title":"Top Domains for Workflow Worker Requests","title_size":"16","title_align":"left","type":"toplist","requests":[{"formulas":[{"formula":"query1","limit":{"count":10,"order":"desc"}}],"response_format":"scalar","queries":[{"query":"max:cadence_frontend.cadence_requests{(operation IN (pollfordecisiontask,getworkflowexecutionHistory,responddecisiontaskcompleted)) AND $env AND $Availability_Zone} by {domain}.as_count()","data_source":"metrics","name":"query1","aggregator":"max"}]}]}},{"id":3072192261814762,"definition":{"title":" Top Domains for Activity Worker Requests","title_size":"16","title_align":"left","type":"toplist","requests":[{"formulas":[{"formula":"query1","limit":{"count":25,"order":"desc"}}],"response_format":"scalar","queries":[{"query":"max:cadence_frontend.cadence_requests{(operation IN (pollforactivitytask,respondactivitytaskcompleted)) AND $env AND $Availability_Zone} by {domain}.as_count()","data_source":"metrics","name":"query1","aggregator":"max"}]}]}},{"id":7816010180982380,"definition":{"title":"Top Domains for All Requests","title_size":"16","title_align":"left","type":"toplist","requests":[{"formulas":[{"formula":"query1","limit":{"count":25,"order":"desc"}}],"response_format":"scalar","queries":[{"query":"max:cadence_frontend.cadence_requests{$env,$Availability_Zone} by {domain}.as_count()","data_source":"metrics","name":"query1","aggregator":"max"}]}]}}]}},{"id":7688178232227354,"definition":{"title":"History","type":"group","show_title":true,"layout_type":"ordered","widgets":[{"id":4720062862834396,"definition":{"title":"History Shard Movements","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"Membership Changed Count","formula":"query1"},{"alias":"Shard Closed Count","formula":"query2"},{"alias":"Shard Item Created Count","formula":"query3"},{"alias":"Shard Item Removed Count","formula":"query4"}],"response_format":"timeseries","queries":[{"query":"sum:cadence_history.membership_changed_count{$env,$Availability_Zone,operation:shardcontroller}","data_source":"metrics","name":"query1"},{"query":"sum:cadence_history.shard_closed_count{$env,$Availability_Zone,operation:shardcontroller}","data_source":"metrics","name":"query2"},{"query":"sum:cadence_history.sharditem_created_count{$env,$Availability_Zone,operation:shardcontroller}","data_source":"metrics","name":"query3"},{"query":"sum:cadence_history.sharditem_removed_count{$env,$Availability_Zone,operation:shardcontroller}","data_source":"metrics","name":"query4"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":1,"definition":{"title":"History API per Second","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"","formula":"query1"}],"response_format":"timeseries","queries":[{"query":"sum:cadence_history.cadence_requests{$Availability_Zone,$env} by {operation}.as_rate()","data_source":"metrics","name":"query1"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":6602132101884102,"definition":{"title":"History API Errors per Second","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"","formula":"query1"},{"alias":"","formula":"query2"},{"alias":"","formula":"query3"},{"alias":"","formula":"query4"},{"alias":"","formula":"query5"}],"response_format":"timeseries","queries":[{"query":"sum:cadence_history.cadence_errors{$Availability_Zone,$env} by {operation}.as_rate()","data_source":"metrics","name":"query1"},{"query":"sum:cadence_history.cadence_errors_entity_not_exists{$Availability_Zone,$env} by {operation}.as_rate()","data_source":"metrics","name":"query2"},{"query":"sum:cadence_history.cadence_errors_execution_already_started{$Availability_Zone,$env} by {operation}","data_source":"metrics","name":"query3"},{"query":"sum:cadence_history.cadence_errors_workflow_id_exceeded_warn_limit{$Availability_Zone,$env} by {operation}","data_source":"metrics","name":"query4"},{"query":"sum:cadence_history.cadence_errors_workflow_execution_already_completed{$Availability_Zone,$env} by {operation}","data_source":"metrics","name":"query5"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":447415303320806,"definition":{"title":"History API Latency","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"","formula":"query1"}],"response_format":"timeseries","queries":[{"query":"sum:cadence_history.cadence_latency.quantile{$Availability_Zone,$env,$pXXLatency,!operation:pollmutablestate} by {operation}","data_source":"metrics","name":"query1"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":7451970078567566,"definition":{"title":"Transfer Tasks Per Second","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"formula":"query1"}],"response_format":"timeseries","queries":[{"query":"sum:cadence_history.task_requests{operation:transferactivetask*,$env,$Availability_Zone} by {operation}.as_rate()","data_source":"metrics","name":"query1"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":4322485838068812,"definition":{"title":"Timer Tasks Per Second","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"formula":"query5"}],"response_format":"timeseries","queries":[{"query":"sum:cadence_history.task_requests{operation:timeractivetask*,$env,$Availability_Zone} by {operation}.as_rate()","data_source":"metrics","name":"query5"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":1752082338078230,"definition":{"title":"Transfer Tasks Per Domain","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"","formula":"query1"}],"response_format":"timeseries","queries":[{"query":"sum:cadence_history.task_requests_per_domain{$env,$Availability_Zone,operation:transferactive*} by {domain}.as_count()","data_source":"metrics","name":"query1"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"bars"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":1471800811950820,"definition":{"title":" Timer Tasks Per Domain","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"","formula":"query4"}],"response_format":"timeseries","queries":[{"query":"sum:cadence_history.task_requests_per_domain{$env,$Availability_Zone,operation:timeractive*} by {domain}.as_count()","data_source":"metrics","name":"query4"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"bars"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":6235460850252026,"definition":{"title":"Transfer Task Latency Per Domain","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"executing_latency","formula":"query2"},{"alias":"processing_latency","formula":"query3"}],"response_format":"timeseries","queries":[{"query":"avg:cadence_history.task_latency_per_domain.quantile{$env,$Availability_Zone,operation:transferactive*,$pXXLatency} by {domain}","data_source":"metrics","name":"query2"},{"query":"avg:cadence_history.task_latency_processing_per_domain.quantile{$env,$Availability_Zone,operation:transferactive*,$pXXLatency} by {domain}","data_source":"metrics","name":"query3"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":584679825003382,"definition":{"title":"Timer Task Latency Per Domain","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"executing_latency","formula":"query1"},{"alias":"processing_latency","formula":"query3"}],"response_format":"timeseries","queries":[{"query":"avg:cadence_history.task_latency_per_domain.quantile{$env,$Availability_Zone,operation:timer*,$pXXLatency} by {domain}","data_source":"metrics","name":"query1"},{"query":"avg:cadence_history.task_latency_processing_per_domain.quantile{$env,$Availability_Zone,operation:timer*,$pXXLatency} by {domain}","data_source":"metrics","name":"query3"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":3096933101381572,"definition":{"title":"Transfer Task Executing Latency By TaskType","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"executing_latency","formula":"query9"},{"alias":"processing_latency","formula":"query2"}],"response_format":"timeseries","queries":[{"query":"avg:cadence_history.task_latency.quantile{$env,$Availability_Zone,$pXXLatency,operation:transfer*} by {operation}","data_source":"metrics","name":"query9"},{"query":"avg:cadence_history.task_latency_processing.quantile{$env,$Availability_Zone,$pXXLatency,operation:transfer*} by {operation}","data_source":"metrics","name":"query2"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":7922744047880308,"definition":{"title":"Timer Task Executing Latency By TaskType","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"executing_latency","formula":"query9"},{"alias":"processing_latency","formula":"query2"}],"response_format":"timeseries","queries":[{"query":"avg:cadence_history.task_latency.quantile{$env,$Availability_Zone,$pXXLatency,operation:timer*} by {operation}","data_source":"metrics","name":"query9"},{"query":"avg:cadence_history.task_latency_processing.quantile{$env,$Availability_Zone,$pXXLatency,operation:timer*} by {operation}","data_source":"metrics","name":"query2"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":3463954451401730,"definition":{"title":"Transfer Task Queue Latency By TaskType","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"queue_latency","formula":"query1"}],"response_format":"timeseries","queries":[{"query":"avg:cadence_history.task_latency_queue.quantile{$env,$Availability_Zone,$pXXLatency,operation:transfer*} by {operation}","data_source":"metrics","name":"query1"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":7046933017506238,"definition":{"title":"Timer Task Queue Latency By TaskType","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"queue_latency","formula":"query1"}],"response_format":"timeseries","queries":[{"query":"avg:cadence_history.task_latency_queue.quantile{$env,$Availability_Zone,$pXXLatency,operation:timer*} by {operation}","data_source":"metrics","name":"query1"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":5606618915782848,"definition":{"title":"Transfer/Timer task throttling by domain","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"transfer task throttling","formula":"query1"},{"alias":"timer task throttling","formula":"query2"}],"response_format":"timeseries","queries":[{"query":"sum:cadence_history.transfer_task_throttled_counter{$env,operation:transfer*} by {domain}.as_count()","data_source":"metrics","name":"query1"},{"query":"sum:cadence_history.timer_task_throttled_counter{$env,operation:transfer*} by {domain}.as_count()","data_source":"metrics","name":"query2"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"bars"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":1354371985506380,"definition":{"title":"Max History Size(in bytes) by domain","title_size":"16","title_align":"left","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"formula":"query1 * 1000000000"}],"response_format":"timeseries","queries":[{"query":"max:cadence_history.history_size.quantile{$env,!domain:all} by {domain}","data_source":"metrics","name":"query1"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":1145888549561834,"definition":{"title":"Avg History Length by Domain","title_size":"16","title_align":"left","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"formula":"(query1 / query2) * 1000000000"}],"response_format":"timeseries","queries":[{"query":"avg:cadence_history.history_count.sum{$env,!domain:all} by {domain}","data_source":"metrics","name":"query1"},{"query":"avg:cadence_history.history_count.count{$env,!domain:all} by {domain}","data_source":"metrics","name":"query2"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":5470713958781764,"definition":{"title":"Max Event Blob Size by Domain","title_size":"16","title_align":"left","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"sizeInBytes","formula":"query1 * 1000000000"}],"response_format":"timeseries","queries":[{"query":"max:cadence_history.event_blob_size.quantile{$env} by {domain}","data_source":"metrics","name":"query1"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}}]}},{"id":8662851798229630,"definition":{"title":"Matching","type":"group","show_title":true,"layout_type":"ordered","widgets":[{"id":3564386337540202,"definition":{"title":"Matching APIs per Second","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"","formula":"query1"}],"response_format":"timeseries","queries":[{"query":"sum:cadence_matching.cadence_requests{$Availability_Zone,$env} by {operation}.as_rate()","data_source":"metrics","name":"query1"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":3632970819998486,"definition":{"title":"Matching API Errors per Second","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"","formula":"query1"},{"alias":"","formula":"query2"}],"response_format":"timeseries","queries":[{"query":"sum:cadence_matching.cadence_errors_per_tl{$Availability_Zone,$env} by {operation,domain,tasklist}.as_rate()","data_source":"metrics","name":"query1"},{"query":"sum:cadence_matching.cadence_errors_query_failed_per_tl{$Availability_Zone,$env} by {operation,domain,tasklist}","data_source":"metrics","name":"query2"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":5955551288549456,"definition":{"title":"Matching Regular API Latency","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"","formula":"query1"}],"response_format":"timeseries","queries":[{"query":"avg:cadence_matching.cadence_latency_per_tl.quantile{$Availability_Zone,$env,$pXXLatency,!operation:pollfor*,!operation:queryworkflow} by {operation,tasklist}","data_source":"metrics","name":"query1"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":3849551698282364,"definition":{"title":"Matching Long Poll API Latency ","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"","formula":"query1"}],"response_format":"timeseries","queries":[{"query":"avg:cadence_matching.cadence_latency_per_tl.quantile{$Availability_Zone,$env,$pXXLatency,operation:pollfor*} by {operation,tasklist}","data_source":"metrics","name":"query1"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":2168280571946448,"definition":{"title":"Sync Match Latency","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"","formula":"query1"}],"response_format":"timeseries","queries":[{"query":"sum:cadence_matching.syncmatch_latency_per_tl.quantile{$Availability_Zone,$env,$pXXLatency} by {operation,tasklist,domain}","data_source":"metrics","name":"query1"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":4012243421166890,"definition":{"title":"Async Match Latency","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"","formula":"query1"}],"response_format":"timeseries","queries":[{"query":"sum:cadence_matching.asyncmatch_latency_per_tl.quantile{$Availability_Zone,$env,$pXXLatency} by {operation,tasklist,domain}","data_source":"metrics","name":"query1"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":2584116204600668,"definition":{"title":"AddTasks per Second - domain, tasklist breakdown","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"","formula":"query1"}],"response_format":"timeseries","queries":[{"query":"sum:cadence_matching.cadence_requests_per_tl{$Availability_Zone,$env,operation:add*} by {operation,tasklist,domain}.as_rate()","data_source":"metrics","name":"query1"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":1154787173845974,"definition":{"title":"Other API per Second - domain, tasklist breakdown","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"","formula":"query1"}],"response_format":"timeseries","queries":[{"query":"sum:cadence_matching.cadence_requests_per_tl{$Availability_Zone,$env,!operation:add*} by {operation,tasklist,domain}.as_rate()","data_source":"metrics","name":"query1"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}}]}},{"id":7816402068840710,"definition":{"title":"Persistence-Database","type":"group","show_title":true,"layout_type":"ordered","widgets":[{"id":1778851627333796,"definition":{"title":"Persistence Availability","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"formula":"(1 - query4 / query1) * 100"},{"formula":"(1 - query6 / query5) * 100"},{"formula":"(1 - query7 / query2) * 100"},{"formula":"(1 - query8 / query3) * 100"}],"response_format":"timeseries","queries":[{"query":"avg:cadence_frontend.persistence_requests{$Availability_Zone,$env} by {operation}.as_rate()","data_source":"metrics","name":"query1"},{"query":"avg:cadence_matching.persistence_requests{$Availability_Zone,$env} by {operation}.as_rate()","data_source":"metrics","name":"query5"},{"query":"avg:cadence_history.persistence_requests{$Availability_Zone,$env} by {operation}.as_rate()","data_source":"metrics","name":"query2"},{"query":"avg:cadence_worker.persistence_requests{$Availability_Zone,$env} by {operation}.as_rate()","data_source":"metrics","name":"query3"},{"query":"avg:cadence_frontend.persistence_errors{$Availability_Zone,$env} by {operation}.as_rate()","data_source":"metrics","name":"query4"},{"query":"avg:cadence_matching.persistence_errors{$Availability_Zone,$env} by {operation}.as_rate()","data_source":"metrics","name":"query6"},{"query":"avg:cadence_history.persistence_errors{$Availability_Zone,$env} by {operation}.as_rate()","data_source":"metrics","name":"query7"},{"query":"avg:cadence_worker.persistence_errors{$Availability_Zone,$env} by {operation}.as_rate()","data_source":"metrics","name":"query8"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":1124234892254618,"definition":{"title":"Persistence By Service TPS","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"Frontend","formula":"query1"},{"alias":"History","formula":"query2"},{"alias":"Worker","formula":"query3"},{"alias":"Matching","formula":"query4"}],"response_format":"timeseries","queries":[{"query":"sum:cadence_frontend.persistence_requests{$Availability_Zone,$env}.as_rate()","data_source":"metrics","name":"query1"},{"query":"sum:cadence_history.persistence_requests{$Availability_Zone,$env}.as_rate()","data_source":"metrics","name":"query2"},{"query":"sum:cadence_worker.persistence_requests{$Availability_Zone,$env}.as_rate()","data_source":"metrics","name":"query3"},{"query":"sum:cadence_matching.persistence_requests{$Availability_Zone,$env}.as_rate()","data_source":"metrics","name":"query4"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":2,"definition":{"title":"Persistence By Operation TPS","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"Frontend","formula":"query1"},{"alias":"History","formula":"query2"},{"alias":"Worker","formula":"query3"},{"alias":"Matching","formula":"query4"}],"response_format":"timeseries","queries":[{"query":"sum:cadence_frontend.persistence_requests{$Availability_Zone,$env} by {operation}.as_rate()","data_source":"metrics","name":"query1"},{"query":"sum:cadence_history.persistence_requests{$Availability_Zone,$env} by {operation}.as_rate()","data_source":"metrics","name":"query2"},{"query":"sum:cadence_worker.persistence_requests{$Availability_Zone,$env} by {operation}.as_rate()","data_source":"metrics","name":"query3"},{"query":"sum:cadence_matching.persistence_requests{$Availability_Zone,$env} by {operation}.as_rate()","data_source":"metrics","name":"query4"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":2879810317095284,"definition":{"title":"Persistence By Operation Latency(in seconds)","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"Matching","formula":"query3"},{"alias":"SysWorker","formula":"query4"},{"alias":"Frontend","formula":"query1"},{"alias":"History","formula":"query2"}],"response_format":"timeseries","queries":[{"query":"avg:cadence_matching.persistence_latency.quantile{$Availability_Zone,$env,$pXXLatency} by {operation}","data_source":"metrics","name":"query3"},{"query":"avg:cadence_worker.persistence_latency.quantile{$Availability_Zone,$env,$pXXLatency} by {operation}","data_source":"metrics","name":"query4"},{"query":"avg:cadence_frontend.persistence_latency.quantile{$Availability_Zone,$env,$pXXLatency} by {operation}","data_source":"metrics","name":"query1"},{"query":"avg:cadence_history.persistence_latency.quantile{$Availability_Zone,$env,$pXXLatency} by {operation}","data_source":"metrics","name":"query2"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":7247477649465384,"definition":{"title":"Persistence Error By Operation Count","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"Frontend","formula":"query1"},{"alias":"History","formula":"query2"},{"alias":"Worker","formula":"query3"},{"alias":"Matching","formula":"query4"},{"alias":"matching-condition-failed","formula":"query5"},{"alias":"history-shard-owneship-lost","formula":"query6"}],"response_format":"timeseries","queries":[{"query":"sum:cadence_frontend.persistence_errors{$Availability_Zone,$env} by {operation}.as_count()","data_source":"metrics","name":"query1"},{"query":"sum:cadence_history.persistence_errors{$Availability_Zone,$env} by {operation}.as_count()","data_source":"metrics","name":"query2"},{"query":"sum:cadence_worker.persistence_errors{$Availability_Zone,$env} by {operation}.as_count()","data_source":"metrics","name":"query3"},{"query":"sum:cadence_matching.persistence_errors{$Availability_Zone,$env} by {operation}.as_count()","data_source":"metrics","name":"query4"},{"query":"sum:cadence_matching.persistence_errors_condition_failed{$Availability_Zone,$env} by {operation}.as_count()","data_source":"metrics","name":"query5"},{"query":"sum:cadence_history.persistence_errors_shard_ownership_lost{$Availability_Zone,$env} by {operation}.as_count()","data_source":"metrics","name":"query6"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"bars"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}}]}},{"id":5395592975355724,"definition":{"title":"Persistence-Kafka&ElasticSearch(Visibility)","type":"group","show_title":true,"layout_type":"ordered","widgets":[{"id":4668250662420076,"definition":{"title":"Persistence Availability","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"formula":"(1 - query4 / query1) * 100"},{"formula":"(1 - query7 / query2) * 100"}],"response_format":"timeseries","queries":[{"query":"avg:cadence_frontend.elasticsearch_errors{$Availability_Zone,$env} by {operation}.as_rate()","data_source":"metrics","name":"query4"},{"query":"avg:cadence_frontend.elasticsearch_requests{$Availability_Zone,$env} by {operation}.as_rate()","data_source":"metrics","name":"query1"},{"query":"avg:cadence_history.elasticsearch_errors{$Availability_Zone,$env} by {operation}.as_rate()","data_source":"metrics","name":"query7"},{"query":"avg:cadence_history.elasticsearch_requests{$Availability_Zone,$env} by {operation}.as_rate()","data_source":"metrics","name":"query2"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":3775265296683512,"definition":{"title":"Persistence By Service TPS","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"Frontend","formula":"query1"},{"alias":"History","formula":"query2"}],"response_format":"timeseries","queries":[{"query":"sum:cadence_frontend.elasticsearch_requests{$Availability_Zone,$env}.as_rate()","data_source":"metrics","name":"query1"},{"query":"sum:cadence_history.elasticsearch_requests{$Availability_Zone,$env}.as_rate()","data_source":"metrics","name":"query2"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":1271758279477046,"definition":{"title":"Persistence By Operation TPS(read: ES, write: Kafka)","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"Frontend","formula":"query1"},{"alias":"History","formula":"query2"}],"response_format":"timeseries","queries":[{"query":"sum:cadence_frontend.elasticsearch_requests{$Availability_Zone,$env} by {operation}.as_rate()","data_source":"metrics","name":"query1"},{"query":"sum:cadence_history.elasticsearch_requests{$Availability_Zone,$env} by {operation}.as_rate()","data_source":"metrics","name":"query2"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":6366659111856686,"definition":{"title":"Persistence By Operation Latency(in seconds) (read: ES, write: Kafka)","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"Frontend","formula":"query1"},{"alias":"History","formula":"query2"}],"response_format":"timeseries","queries":[{"query":"avg:cadence_frontend.elasticsearch_latency.quantile{$Availability_Zone,$env,$pXXLatency} by {operation}","data_source":"metrics","name":"query1"},{"query":"avg:cadence_history.elasticsearch_latency.quantile{$Availability_Zone,$env,$pXXLatency} by {operation}","data_source":"metrics","name":"query2"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":7561017233423024,"definition":{"title":"Persistence Error By Operation Count","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"Frontend","formula":"query1"},{"alias":"History","formula":"query2"}],"response_format":"timeseries","queries":[{"query":"sum:cadence_frontend.elasticsearch_errors{$Availability_Zone,$env} by {operation}.as_count()","data_source":"metrics","name":"query1"},{"query":"sum:cadence_history.elasticsearch_errors{$Availability_Zone,$env} by {operation}.as_count()","data_source":"metrics","name":"query2"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"bars"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":148397248547778,"definition":{"title":"Kafka->ES processor counter","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"bulkProcess request","formula":"query1"},{"alias":"bulkProcess retries","formula":"query2"}],"response_format":"timeseries","on_right_yaxis":false,"queries":[{"query":"sum:cadence_worker.es_processor_requests{$Availability_Zone,$env} by {operation}.as_count()","data_source":"metrics","name":"query1"},{"query":"sum:cadence_worker.es_processor_retries{$Availability_Zone,$env} by {operation}.as_count()","data_source":"metrics","name":"query2"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"bars"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":4460626966095300,"definition":{"title":"Kafka->ElasticSearch process erorr","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"bulkProcess error","formula":"query1"},{"alias":"bulkProcess corrupted data","formula":"query2"}],"response_format":"timeseries","on_right_yaxis":false,"queries":[{"query":"sum:cadence_worker.es_processor_error{$Availability_Zone,$env} by {operation}.as_count()","data_source":"metrics","name":"query1"},{"query":"sum:cadence_worker.es_processor_corrupted_data{$Availability_Zone,$env} by {operation}.as_count()","data_source":"metrics","name":"query2"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"bars"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}},{"id":300914954352302,"definition":{"title":"Kafka->ElasticSearch process latency","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"type":"timeseries","requests":[{"formulas":[{"alias":"bulkProcess","formula":"query1"}],"response_format":"timeseries","on_right_yaxis":false,"queries":[{"query":"sum:cadence_worker.es_processor_process_msg_latency.quantile{$Availability_Zone,$env,$pXXLatency} by {operation}.as_count()","data_source":"metrics","name":"query1"}],"style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}],"yaxis":{"include_zero":true,"scale":"linear","label":"","min":"auto","max":"auto"},"markers":[]}}]}}],"template_variables":[{"name":"Availability_Zone","default":"*","prefix":"availability-zone","available_values":[]},{"name":"env","default":"qa","prefix":"env","available_values":[]},{"name":"pXXLatency","default":"0.99","prefix":"quantile","available_values":[]}],"layout_type":"ordered","is_read_only":false,"notify_list":[],"template_variable_presets":[{"name":"Prod","template_variables":[{"name":"env","value":"prod"}]},{"name":"QA","template_variables":[]}],"reflow_type":"auto","id":"mv9-qda-zry"} \ No newline at end of file diff --git a/docs/01-get-started/01-server-installation.md b/src/docs/01-get-started/01-server-installation.md similarity index 85% rename from docs/01-get-started/01-server-installation.md rename to src/docs/01-get-started/01-server-installation.md index 500ba725e..1b0f13649 100644 --- a/docs/01-get-started/01-server-installation.md +++ b/src/docs/01-get-started/01-server-installation.md @@ -19,9 +19,9 @@ Follow the Docker installation instructions found here: [https://docs.docker.com ## 1. Run Cadence Server Using Docker Compose Download the Cadence docker-compose file: - ```bash -curl -O https://raw.githubusercontent.com/cadence-workflow/cadence/master/docker/docker-compose.yml && curl -O https://raw.githubusercontent.com/cadence-workflow/cadence/master/docker/prometheus/prometheus.yml + +curl -O https://raw.githubusercontent.com/uber/cadence/master/docker/docker-compose.yml && curl -O https://raw.githubusercontent.com/uber/cadence/master/docker/prometheus/prometheus.yml ``` Then start Cadence Service by running: ```bash @@ -35,8 +35,8 @@ In a new terminal, create a new domain called `test-domain` (or choose whatever docker run --network=host --rm ubercadence/cli:master --do test-domain domain register -rd 1 ``` Check that the domain is indeed registered: -```shell-session -$ docker run --network=host --rm ubercadence/cli:master --do test-domain domain describe +```bash +> docker run --network=host --rm ubercadence/cli:master --do test-domain domain describe Name: test-domain Description: OwnerEmail: @@ -52,23 +52,24 @@ Bad binaries to reset: | BINARY CHECKSUM | OPERATOR | START TIME | REASON | +-----------------+----------+------------+--------+ +-----------------+----------+------------+--------+ -$ +> ``` -Please remember the domains you created because they will be used in your worker implementation and Cadence CLI commands. +Please remember the domains you created because they will be used in your worker implementation and Cadence CLI commands. ## What's Next So far you've successfully finished two prerequisites to your Cadence application. The next steps are to implement a simple worker service that hosts your workflows and to run your very first hello world Cadence workflow. Go to [Java HelloWorld](/docs/get-started/java-hello-world) or [Golang HelloWorld](/docs/get-started/golang-hello-world). -## Troubleshooting +## Troubleshooting There can be various reasons that `docker-compose up` cannot succeed: * In case of the image being too old, update the docker image by `docker pull ubercadence/server:master-auto-setup` and retry * In case of the local docker env is messed up: `docker system prune --all` and retry (see [details about it](https://docs.docker.com/config/pruning/) ) * See logs of different container: - * If Cassandra is not able to get up: `docker logs -f docker_cassandra_1` + * If Cassandra is not able to get up: `docker logs -f docker_cassandra_1` * If Cadence is not able to get up: `docker logs -f docker_cadence_1` * If Cadence Web is not able to get up: `docker logs -f docker_cadence-web_1` -If the above is still not working, [open an issue in Server(main) repo](https://github.com/cadence-workflow/cadence/issues/new/choose ). +If the above is still not working, [open an issue in Server(main) repo](https://github.com/uber/cadence/issues/new/choose ). + diff --git a/docs/01-get-started/02-java-hello-world.md b/src/docs/01-get-started/02-java-hello-world.md similarity index 94% rename from docs/01-get-started/02-java-hello-world.md rename to src/docs/01-get-started/02-java-hello-world.md index 4bee9f8db..03f87088a 100644 --- a/docs/01-get-started/02-java-hello-world.md +++ b/src/docs/01-get-started/02-java-hello-world.md @@ -5,9 +5,9 @@ permalink: /docs/get-started/java-hello-world --- # Java Hello World -This section provides step by step instructions on how to write and run a HelloWorld with Java. +This section provides step by step instructions on how to write and run a HelloWorld with Java. -For complete, ready to build samples covering all the key Cadence concepts go to [Cadence-Java-Samples](https://github.com/cadence-workflow/cadence-java-samples). +For complete, ready to build samples covering all the key Cadence concepts go to [Cadence-Java-Samples](https://github.com/uber/cadence-java-samples). You can also review [Java-Client](/docs/java-client) and [java-docs](https://www.javadoc.io/doc/com.uber.cadence/cadence-client/latest/index.html) for more documentation. @@ -43,7 +43,7 @@ public class GettingStarted { } ``` If you are having problems setting up the build files use the -[Cadence Java Samples](https://github.com/cadence-workflow/cadence-java-samples) GitHub repository as a reference. +[Cadence Java Samples](https://github.com/uber/cadence-java-samples) GitHub repository as a reference. Also add the following logback config file somewhere in your classpath: ```xml @@ -119,30 +119,30 @@ public static void main(String[] args) { ## Execute Hello World Workflow using the CLI Now run the :worker: program. Following is an example log: -```log +```bash 13:35:02.575 [main] INFO c.u.c.s.WorkflowServiceTChannel - Initialized TChannel for service cadence-frontend, LibraryVersion: 2.2.0, FeatureVersion: 1.0.0 13:35:02.671 [main] INFO c.u.cadence.internal.worker.Poller - start(): Poller{options=PollerOptions{maximumPollRateIntervalMilliseconds=1000, maximumPollRatePerSecond=0.0, pollBackoffCoefficient=2.0, pollBackoffInitialInterval=PT0.2S, pollBackoffMaximumInterval=PT20S, pollThreadCount=1, pollThreadNamePrefix='Workflow Poller taskList="HelloWorldTaskList", domain="test-domain", type="workflow"'}, identity=45937@maxim-C02XD0AAJGH6} 13:35:02.673 [main] INFO c.u.cadence.internal.worker.Poller - start(): Poller{options=PollerOptions{maximumPollRateIntervalMilliseconds=1000, maximumPollRatePerSecond=0.0, pollBackoffCoefficient=2.0, pollBackoffInitialInterval=PT0.2S, pollBackoffMaximumInterval=PT20S, pollThreadCount=1, pollThreadNamePrefix='null'}, identity=81b8d0ac-ff89-47e8-b842-3dd26337feea} ``` No Hello printed. This is expected because a :worker: is just a :workflow: code host. The :workflow: has to be started to execute. Let's use Cadence :CLI: to start the workflow: -```sh-session -$ docker run --network=host --rm ubercadence/cli:master --do test-domain workflow start --tasklist HelloWorldTaskList --workflow_type HelloWorld::sayHello --execution_timeout 3600 --input \"World\" +```bash +> docker run --network=host --rm ubercadence/cli:master --do test-domain workflow start --tasklist HelloWorldTaskList --workflow_type HelloWorld::sayHello --execution_timeout 3600 --input \"World\" Started Workflow Id: bcacfabd-9f9a-46ac-9b25-83bcea5d7fd7, run Id: e7c40431-8e23-485b-9649-e8f161219efe ``` The output of the program should change to: -```log +```bash 13:35:02.575 [main] INFO c.u.c.s.WorkflowServiceTChannel - Initialized TChannel for service cadence-frontend, LibraryVersion: 2.2.0, FeatureVersion: 1.0.0 13:35:02.671 [main] INFO c.u.cadence.internal.worker.Poller - start(): Poller{options=PollerOptions{maximumPollRateIntervalMilliseconds=1000, maximumPollRatePerSecond=0.0, pollBackoffCoefficient=2.0, pollBackoffInitialInterval=PT0.2S, pollBackoffMaximumInterval=PT20S, pollThreadCount=1, pollThreadNamePrefix='Workflow Poller taskList="HelloWorldTaskList", domain="test-domain", type="workflow"'}, identity=45937@maxim-C02XD0AAJGH6} 13:35:02.673 [main] INFO c.u.cadence.internal.worker.Poller - start(): Poller{options=PollerOptions{maximumPollRateIntervalMilliseconds=1000, maximumPollRatePerSecond=0.0, pollBackoffCoefficient=2.0, pollBackoffInitialInterval=PT0.2S, pollBackoffMaximumInterval=PT20S, pollThreadCount=1, pollThreadNamePrefix='null'}, identity=81b8d0ac-ff89-47e8-b842-3dd26337feea} 13:40:28.308 [workflow-root] INFO c.u.c.samples.hello.GettingStarted - Hello World! ``` Let's start another :workflow_execution:: -```sh-session -$ docker run --network=host --rm ubercadence/cli:master --do test-domain workflow start --tasklist HelloWorldTaskList --workflow_type HelloWorld::sayHello --execution_timeout 3600 --input \"Cadence\" +```bash +> docker run --network=host --rm ubercadence/cli:master --do test-domain workflow start --tasklist HelloWorldTaskList --workflow_type HelloWorld::sayHello --execution_timeout 3600 --input \"Cadence\" Started Workflow Id: d2083532-9c68-49ab-90e1-d960175377a7, run Id: 331bfa04-834b-45a7-861e-bcb9f6ddae3e ``` And the output changed to: -```log +```bash 13:35:02.575 [main] INFO c.u.c.s.WorkflowServiceTChannel - Initialized TChannel for service cadence-frontend, LibraryVersion: 2.2.0, FeatureVersion: 1.0.0 13:35:02.671 [main] INFO c.u.cadence.internal.worker.Poller - start(): Poller{options=PollerOptions{maximumPollRateIntervalMilliseconds=1000, maximumPollRatePerSecond=0.0, pollBackoffCoefficient=2.0, pollBackoffInitialInterval=PT0.2S, pollBackoffMaximumInterval=PT20S, pollThreadCount=1, pollThreadNamePrefix='Workflow Poller taskList="HelloWorldTaskList", domain="test-domain", type="workflow"'}, identity=45937@maxim-C02XD0AAJGH6} 13:35:02.673 [main] INFO c.u.cadence.internal.worker.Poller - start(): Poller{options=PollerOptions{maximumPollRateIntervalMilliseconds=1000, maximumPollRatePerSecond=0.0, pollBackoffCoefficient=2.0, pollBackoffInitialInterval=PT0.2S, pollBackoffMaximumInterval=PT20S, pollThreadCount=1, pollThreadNamePrefix='null'}, identity=81b8d0ac-ff89-47e8-b842-3dd26337feea} @@ -152,15 +152,15 @@ And the output changed to: ## List Workflows and Workflow History Let's list our :workflow: in the :CLI:: -```sh-session -$ docker run --network=host --rm ubercadence/cli:master --do test-domain workflow list +```bash +> docker run --network=host --rm ubercadence/cli:master --do test-domain workflow list WORKFLOW TYPE | WORKFLOW ID | RUN ID | START TIME | EXECUTION TIME | END TIME HelloWorld::sayHello | d2083532-9c68-49ab-90e1-d960175377a7 | 331bfa04-834b-45a7-861e-bcb9f6ddae3e | 20:42:34 | 20:42:34 | 20:42:35 HelloWorld::sayHello | bcacfabd-9f9a-46ac-9b25-83bcea5d7fd7 | e7c40431-8e23-485b-9649-e8f161219efe | 20:40:28 | 20:40:28 | 20:40:29 ``` Now let's look at the :workflow_execution: history: -```sh-session -$ docker run --network=host --rm ubercadence/cli:master --do test-domain workflow showid 1965109f-607f-4b14-a5f2-24399a7b8fa7 +```bash +> docker run --network=host --rm ubercadence/cli:master --do test-domain workflow showid 1965109f-607f-4b14-a5f2-24399a7b8fa7 1 WorkflowExecutionStarted {WorkflowType:{Name:HelloWorld::sayHello}, TaskList:{Name:HelloWorldTaskList}, Input:["World"], diff --git a/docs/01-get-started/03-golang-hello-world.md b/src/docs/01-get-started/03-golang-hello-world.md similarity index 92% rename from docs/01-get-started/03-golang-hello-world.md rename to src/docs/01-get-started/03-golang-hello-world.md index afc52cc7f..bb8839ffe 100644 --- a/docs/01-get-started/03-golang-hello-world.md +++ b/src/docs/01-get-started/03-golang-hello-world.md @@ -5,7 +5,7 @@ permalink: /docs/get-started/golang-hello-world --- # Golang Hello World -This section provides step-by-step instructions on how to write and run a HelloWorld workflow in Cadence with Golang. You will learn two critical building blocks of Cadence: activities and workflows. First, you will write an activity function that prints a "Hello World!" message in the log. Then, you will write a workflow function that executes this activity. +This section provides step-by-step instructions on how to write and run a HelloWorld workflow in Cadence with Golang. You will learn two critical building blocks of Cadence: activities and workflows. First, you will write an activity function that prints a "Hello World!" message in the log. Then, you will write a workflow function that executes this activity. ## Prerequisite To successfully run this hello world sample, follow this checklist of setting up Cadence environment @@ -13,7 +13,7 @@ To successfully run this hello world sample, follow this checklist of setting up 2. Your Cadence server is running (check your background docker container process) 3. You have successfully registered a domain for this workflow -You must finish part 2 and 3 by following the [first section](/docs/get-started/server-installation) to proceed the next steps. +You must finish part 2 and 3 by following the [first section](/docs/get-started/installation) to proceed the next steps. We are using domain called `test-domain` for this tutorial project. ## Step 1. Implement A Cadence Worker Service @@ -28,7 +28,7 @@ import ( "go.uber.org/cadence/compatibility" "go.uber.org/cadence/worker" - apiv1 "github.com/cadence-workflow/cadence-idl/go/proto/api/v1" + apiv1 "github.com/uber/cadence-idl/go/proto/api/v1" "github.com/uber-go/tally" "go.uber.org/zap" "go.uber.org/zap/zapcore" @@ -73,9 +73,9 @@ func buildCadenceClient() workflowserviceclient.Interface { if err := dispatcher.Start(); err != nil { panic("Failed to start dispatcher") } - + clientConfig := dispatcher.ClientConfig(CadenceService) - + return compatibility.NewThrift2ProtoAdapter( apiv1.NewDomainAPIYARPCClient(clientConfig), apiv1.NewWorkflowAPIYARPCClient(clientConfig), @@ -108,7 +108,7 @@ func startWorker(logger *zap.Logger, service workflowserviceclient.Interface) { In this worker service, we start a HTTP server and create a new Cadence client running continuously at the background. Then start the server on your local, you may see logs such like -```log +```bash 2023-07-03T11:46:46.266-0700 INFO internal/internal_worker.go:826 Worker has no workflows registered, so workflow worker will not be started. {"Domain": "test-domain", "TaskList": "test-worker", "WorkerID": "35987@uber-C02F18EQMD6R@test-worker@90c0260e-ba5c-4652-9f10-c6d1f9e29c1d"} 2023-07-03T11:46:46.267-0700 INFO internal/internal_worker.go:834 Started Workflow Worker {"Domain": "test-domain", "TaskList": "test-worker", "WorkerID": "35987@uber-C02F18EQMD6R@test-worker@90c0260e-ba5c-4652-9f10-c6d1f9e29c1d"} 2023-07-03T11:46:46.267-0700 INFO internal/internal_worker.go:838 Worker has no activities registered, so activity worker will not be started. {"Domain": "test-domain", "TaskList": "test-worker", "WorkerID": "35987@uber-C02F18EQMD6R@test-worker@90c0260e-ba5c-4652-9f10-c6d1f9e29c1d"} @@ -153,7 +153,7 @@ func helloWorldActivity(ctx context.Context, name string) (string, error) { Don't forget to register the workflow and activity to the worker. -```go +```Go func init() { workflow.Register(helloWorldWorkflow) activity.Register(helloWorldActivity) @@ -161,7 +161,7 @@ func init() { ``` Import the `context` module if it was not automatically added. -```go +```Go import ( "context" ) @@ -176,26 +176,26 @@ cadence --domain test-domain workflow start --et 60 --tl test-worker --workflow_ ``` You should see logs in your worker terminal like -```log +```bash 2023-07-16T11:30:02.717-0700 INFO cadence-worker/code.go:104 Workflow completed. {"Domain": "test-domain", "TaskList": "test-worker", "WorkerID": "11294@uber-C02F18EQMD6R@test-worker@5829c68e-ace0-472f-b5f3-6ccfc7903dd5", "WorkflowType": "main.helloWorldWorkflow", "WorkflowID": "8acbda3c-d240-4f27-8388-97c866b8bfb5", "RunID": "4b91341f-056f-4f0b-ab64-83bcc3a53e5a", "Result": "Hello World!"} ``` Congratulations! You just launched your very first Cadence workflow from scratch ## (Optional) Step 4. Monitor Cadence workflow with Cadence web UI -When you start the Cadence backend server, it also automatically starts a front end portal for your workflow. Open you browser and go to +When you start the Cadence backend server, it also automatically starts a front end portal for your workflow. Open you browser and go to http://localhost:8088 You may see a dashboard below -![cadence-ui](./img/cadence_ui.png) +![cadence-ui](../../shared/img/cadence_ui.png) Type the domain you used for the tutorial, in this case, we type `test-domain` and hit enter. Then you can see a complete history of the workflows you have triggered associated to this domain. -![cadence-ui-detailed](./img/cadence_ui_detailed.png) +![cadence-ui-detailed](../../shared/img/cadence_ui_detailed.png) ## What is Next Now you have completed the tutorials. You can continue to explore the key [concepts](/docs/concepts) in Cadence, and also how to use them with [Go Client](/docs/go-client) -For complete, ready to build samples covering all the key Cadence concepts go to [Cadence-Samples](https://github.com/cadence-workflow/cadence-samples) for more examples. +For complete, ready to build samples covering all the key Cadence concepts go to [Cadence-Samples](https://github.com/uber-common/cadence-samples) for more examples. -You can also review [Cadence-Client](https://github.com/cadence-workflow/cadence-go-client/) and [go-docs](https://pkg.go.dev/go.uber.org/cadence) for more documentation. +You can also review [Cadence-Client](https://github.com/uber-go/cadence-client/) and [go-docs](https://pkg.go.dev/go.uber.org/cadence) for more documentation. diff --git a/docs/01-get-started/04-video-tutorials.md b/src/docs/01-get-started/04-video-tutorials.md similarity index 100% rename from docs/01-get-started/04-video-tutorials.md rename to src/docs/01-get-started/04-video-tutorials.md diff --git a/docs/01-get-started/index.md b/src/docs/01-get-started/index.md similarity index 83% rename from docs/01-get-started/index.md rename to src/docs/01-get-started/index.md index e1e0feaf1..4b2d9fd50 100644 --- a/docs/01-get-started/index.md +++ b/src/docs/01-get-started/index.md @@ -18,7 +18,7 @@ This allows you to write code using the full power of a programming language whi Cadence consists of a programming framework (or client library) and a managed service (or backend). The framework enables developers to author and coordinate :task:tasks: in familiar languages -([Go](https://github.com/cadence-workflow/cadence-go-client/) and [Java](https://github.com/cadence-workflow/cadence-java-client) +([Go](https://github.com/uber-go/cadence-client/) and [Java](https://github.com/uber/cadence-java-client) are supported officially, and [Python](https://github.com/firdaus/cadence-python) and [Ruby](https://github.com/coinbase/cadence-ruby) by the community). @@ -27,12 +27,12 @@ You can also use [iWF](https://github.com/indeedeng/iwf) as a DSL framework on t The Cadence backend service is stateless and relies on a persistent store. Currently, Cassandra and MySQL/Postgres storages are supported. An adapter to any other database that provides multi-row single shard transactions can be added. There are different service deployment models. At Uber, our team operates multitenant clusters -that are shared by hundreds of applications. See service [topology](/docs/concepts/topology) to understand the overall architecture. The GitHub repo for the Cadence server is [cadence-workflow/cadence](https://github.com/cadence-workflow/cadence). The docker +that are shared by hundreds of applications. See service [topology](/docs/concepts/topology) to understand the overall architecture. The GitHub repo for the Cadence server is [uber/cadence](https://github.com/uber/cadence). The docker image for the Cadence server is available on Docker Hub at [ubercadence/server](https://hub.docker.com/r/ubercadence/server). ## What's Next Let's try with some sample workflows. -To start with, go to [server installation](/docs/get-started/server-installation) to install cadence locally, and run a HelloWorld sample with [Java](/docs/get-started/java-hello-world) or [Golang](/docs/get-started/golang-hello-world). +To start with, go to [server installation](/docs/get-started/installation) to install cadence locally, and run a HelloWorld sample with [Java](/docs/get-started/java-hello-world) or [Golang](/docs/get-started/golang-hello-world). -When you have any trouble with the instructions, you can watch the [video tutorials](/docs/get-started/video-tutorials), and reach out to us on [Slack Channel](http://t.uber.com/cadence-slack), or raise any question on [StackOverflow](https://stackoverflow.com/questions/tagged/cadence-workflow) or open an [Github issue](https://github.com/cadence-workflow/cadence/issues/new/choose). +When you have any trouble with the instructions, you can watch the [video tutorials](/docs/get-started/video-tutorials), and reach out to us on [Slack Channel](http://t.uber.com/cadence-slack), or raise any question on [StackOverflow](https://stackoverflow.com/questions/tagged/cadence-workflow) or open an [Github issue](https://github.com/uber/cadence/issues/new/choose). diff --git a/docs/02-use-cases/01-periodic-execution.md b/src/docs/02-use-cases/01-periodic-execution.md similarity index 100% rename from docs/02-use-cases/01-periodic-execution.md rename to src/docs/02-use-cases/01-periodic-execution.md diff --git a/docs/02-use-cases/02-orchestration.md b/src/docs/02-use-cases/02-orchestration.md similarity index 100% rename from docs/02-use-cases/02-orchestration.md rename to src/docs/02-use-cases/02-orchestration.md diff --git a/docs/02-use-cases/03-polling.md b/src/docs/02-use-cases/03-polling.md similarity index 100% rename from docs/02-use-cases/03-polling.md rename to src/docs/02-use-cases/03-polling.md diff --git a/docs/02-use-cases/04-event-driven.md b/src/docs/02-use-cases/04-event-driven.md similarity index 100% rename from docs/02-use-cases/04-event-driven.md rename to src/docs/02-use-cases/04-event-driven.md diff --git a/docs/02-use-cases/05-partitioned-scan.md b/src/docs/02-use-cases/05-partitioned-scan.md similarity index 100% rename from docs/02-use-cases/05-partitioned-scan.md rename to src/docs/02-use-cases/05-partitioned-scan.md diff --git a/docs/02-use-cases/06-batch-job.md b/src/docs/02-use-cases/06-batch-job.md similarity index 100% rename from docs/02-use-cases/06-batch-job.md rename to src/docs/02-use-cases/06-batch-job.md diff --git a/docs/02-use-cases/07-provisioning.md b/src/docs/02-use-cases/07-provisioning.md similarity index 100% rename from docs/02-use-cases/07-provisioning.md rename to src/docs/02-use-cases/07-provisioning.md diff --git a/docs/02-use-cases/08-deployment.md b/src/docs/02-use-cases/08-deployment.md similarity index 100% rename from docs/02-use-cases/08-deployment.md rename to src/docs/02-use-cases/08-deployment.md diff --git a/docs/02-use-cases/09-operational-management.md b/src/docs/02-use-cases/09-operational-management.md similarity index 100% rename from docs/02-use-cases/09-operational-management.md rename to src/docs/02-use-cases/09-operational-management.md diff --git a/docs/02-use-cases/10-interactive.md b/src/docs/02-use-cases/10-interactive.md similarity index 100% rename from docs/02-use-cases/10-interactive.md rename to src/docs/02-use-cases/10-interactive.md diff --git a/docs/02-use-cases/11-dsl.md b/src/docs/02-use-cases/11-dsl.md similarity index 100% rename from docs/02-use-cases/11-dsl.md rename to src/docs/02-use-cases/11-dsl.md diff --git a/docs/02-use-cases/12-big-ml.md b/src/docs/02-use-cases/12-big-ml.md similarity index 100% rename from docs/02-use-cases/12-big-ml.md rename to src/docs/02-use-cases/12-big-ml.md diff --git a/docs/02-use-cases/index.md b/src/docs/02-use-cases/index.md similarity index 100% rename from docs/02-use-cases/index.md rename to src/docs/02-use-cases/index.md diff --git a/docs/03-concepts/01-workflows.md b/src/docs/03-concepts/01-workflows.md similarity index 100% rename from docs/03-concepts/01-workflows.md rename to src/docs/03-concepts/01-workflows.md diff --git a/docs/03-concepts/02-activities.md b/src/docs/03-concepts/02-activities.md similarity index 100% rename from docs/03-concepts/02-activities.md rename to src/docs/03-concepts/02-activities.md diff --git a/docs/03-concepts/03-events.md b/src/docs/03-concepts/03-events.md similarity index 100% rename from docs/03-concepts/03-events.md rename to src/docs/03-concepts/03-events.md diff --git a/docs/03-concepts/04-queries.md b/src/docs/03-concepts/04-queries.md similarity index 92% rename from docs/03-concepts/04-queries.md rename to src/docs/03-concepts/04-queries.md index 8914c04e6..afd1e8f80 100644 --- a/docs/03-concepts/04-queries.md +++ b/src/docs/03-concepts/04-queries.md @@ -19,9 +19,7 @@ Cadence team is currently working on implementing _update_ feature that would be The Cadence client libraries expose some predefined :query:queries: out of the box. Currently the only supported built-in :query: is _stack_trace_. This :query: returns stacks of all :workflow: owned threads. This is a great way to troubleshoot any :workflow: in production. Example - -```shell-session wordWrap=true -$ cadence --do samples-domain wf query -w -qt __stack_trace - +``` +$cadence --do samples-domain wf query -w -qt __stack_trace "coroutine 1 [blocked on selector-1.Select]:\nmain.sampleSignalCounterWorkflow(0x1a99ae8, 0xc00009d700, 0x0, 0x0, 0x0)\n\t/Users/qlong/indeed/cadence-samples/cmd/samples/recipes/signalcounter/signal_counter_workflow.go:38 +0x1be\nreflect.Value.call(0x1852ac0, 0x19cb608, 0x13, 0x1979180, 0x4, 0xc00045aa80, 0x2, 0x2, 0x2, 0x18, ...)\n\t/usr/local/Cellar/go/1.16.3/libexec/src/reflect/value.go:476 +0x8e7\nreflect.Value.Call(0x1852ac0, 0x19cb608, 0x13, 0xc00045aa80, 0x2, 0x2, 0x1, 0x2, 0xc00045a720)\n\t/usr/local/Cellar/go/1.16.3/libexec/src/reflect/value.go:337 +0xb9\ngo.uber.org/cadence/internal.(*workflowEnvironmentInterceptor).ExecuteWorkflow(0xc00045a720, 0x1a99ae8, 0xc00009d700, 0xc0001ca820, 0x20, 0xc00007fad0, 0x1, 0x1, 0x1, 0x1, ...)\n\t/Users/qlong/go/pkg/mod/go.uber.org/cadence@v0.17.1-0.20210708064625-c4a7e032cc13/internal/workflow.go:372 +0x2cb\ngo.uber.org/cadence/internal.(*workflowExecutor).Execute(0xc000098d80, 0x1a99ae8, 0xc00009d700, 0xc0001b127e, 0x2, 0x2, 0xc00044cb01, 0xc000070101, 0xc000073738, 0x1729f25, ...)\n\t/Users/qlong/go/pkg/mod/go.uber.org/cadence@v0.17.1-0.20210708064625-c4a7e032cc13/internal/internal_worker.go:699 +0x28d\ngo.uber.org/cadence/internal.(*syncWorkflowDefinition).Execute.func1(0x1a99ce0, 0xc00045a9f0)\n\t/Users/qlong/go/pkg/mod/go.uber.org/cadence@v0.17.1-0.20210708064625-c4a7e032cc13/internal/internal_workflow.go:466 +0x106" ``` diff --git a/docs/03-concepts/05-topology.md b/src/docs/03-concepts/05-topology.md similarity index 96% rename from docs/03-concepts/05-topology.md rename to src/docs/03-concepts/05-topology.md index 1c908b947..bebffe77d 100644 --- a/docs/03-concepts/05-topology.md +++ b/src/docs/03-concepts/05-topology.md @@ -18,7 +18,7 @@ Note that both types of :worker:workers: as well as external clients are roles a ![Cadence Architecture](https://user-images.githubusercontent.com/14902200/160308507-2854a98a-0582-4748-87e4-e0695d3b6e86.jpg) -At the core of Cadence is a highly scalable multitentant service. The service exposes all of its functionality through a strongly typed [gRPC API](https://github.com/cadence-workflow/cadence-idl/tree/master/proto/cadence-workflow/cadence/api/v1). A Cadence cluster include multiple services, each of which may run on multiple nodes for scalability and reliablity: +At the core of Cadence is a highly scalable multitentant service. The service exposes all of its functionality through a strongly typed [gRPC API](https://github.com/uber/cadence-idl/tree/master/proto/uber/cadence/api/v1). A Cadence cluster include multiple services, each of which may run on multiple nodes for scalability and reliablity: - Front End: which is a stateless service used to handle incoming requests from Workers. It is expected that an external load balancing mechanism is used to distribute load between Front End instances. - History Service: where the core logic of orchestrating workflow steps and activities is implemented - Matching Service: matches workflow/activity tasks that need to be executed to workflow/activity workers that are able to execute them. Matching is assigned task for execution by the history service diff --git a/docs/03-concepts/06-task-lists.md b/src/docs/03-concepts/06-task-lists.md similarity index 100% rename from docs/03-concepts/06-task-lists.md rename to src/docs/03-concepts/06-task-lists.md diff --git a/docs/03-concepts/07-archival.md b/src/docs/03-concepts/07-archival.md similarity index 90% rename from docs/03-concepts/07-archival.md rename to src/docs/03-concepts/07-archival.md index c15b78296..a7bdbd6db 100644 --- a/docs/03-concepts/07-archival.md +++ b/src/docs/03-concepts/07-archival.md @@ -16,7 +16,7 @@ The current implementation of the :archival:Archival: feature has two limitation ## Concepts -- **Archiver:** Archiver is the component that is responsible for archiving and retrieving :workflow: histories and visibility records. Its interface is generic and supports different kinds of :archival: locations: local file system, S3, Kafka, etc. Check [this README](https://github.com/cadence-workflow/cadence/blob/master/common/archiver/README.md) if you would like to add a new archiver implementation for your data store. +- **Archiver:** Archiver is the component that is responsible for archiving and retrieving :workflow: histories and visibility records. Its interface is generic and supports different kinds of :archival: locations: local file system, S3, Kafka, etc. Check [this README](https://github.com/uber/cadence/blob/master/common/archiver/README.md) if you would like to add a new archiver implementation for your data store. - **URI:** An URI is used to specify the :archival: location. Based on the scheme part of an URI, the corresponding archiver will be selected by the system to perform the :archival: operation. ## Configuring Archival @@ -43,7 +43,7 @@ A :domain: includes two pieces of :archival: related config: You can follow the steps below to run and test the :archival: feature locally: 1. `./cadence-server start` 2. `./cadence --do samples-domain domain register --gd false --history_archival_status enabled --visibility_archival_status enabled --retention 0` -3. Run the [helloworld cadence-sample](https://github.com/cadence-workflow/cadence-samples) by following the README +3. Run the [helloworld cadence-sample](https://github.com/uber-common/cadence-samples) by following the README 4. Copy the workflowID the completed :workflow: from log output 5. Retrieve runID through archived visibility record `./cadence --do samples-domain wf listarchived -q 'WorkflowID = ""'` 6. Retrieve archived history `./cadence --do samples-domain wf show --wid --rid ` @@ -52,10 +52,10 @@ In step 2, we registered a new :domain: and enabled both history and visibility ## Running in Production Cadence supports uploading workflow histories to Google Cloud and Amazon S3 for archival in production. -Check documentation in [GCloud archival component](https://github.com/cadence-workflow/cadence/tree/master/common/archiver/gcloud) and [S3 archival component](https://github.com/cadence-workflow/cadence/tree/master/common/archiver/s3store). +Check documentation in [GCloud archival component](https://github.com/uber/cadence/tree/master/common/archiver/gcloud) and [S3 archival component](https://github.com/uber/cadence/tree/master/common/archiver/s3store). Below is an example of Amazon S3 archival configuration: -```yaml +```yaml archival: history: status: "enabled" @@ -85,12 +85,12 @@ domainDefaults: In theory, we would like both history and visibility archival happen after workflow closes and retention period passes. However, due to some limitations in the implementation, only history archival happens after the retention period, while visibility archival happens immediately after workflow closes. Please treat this as an implementation details inside Cadence and do not relay on this fact. Archived data should only be checked after the retention period, and we may change the way we do visibility archival in the future. ### What's the query syntax for visibility archival? -The `listArchived` CLI command and API accept a SQL-like query for retrieving archived visibility records, similar to how the `listWorkflow` command works. Unfortunately, since different Archiver implementations have very different capability, there's currently no universal query syntax that works for all Archiver implementations. Please check the README (for example, [S3](https://github.com/cadence-workflow/cadence/tree/master/common/archiver/s3store) and [GCP](https://github.com/cadence-workflow/cadence/tree/master/common/archiver/gcloud)) of the Archiver used by your domain for the supported query syntax and limitations. +The `listArchived` CLI command and API accept a SQL-like query for retrieving archived visibility records, similar to how the `listWorkflow` command works. Unfortunately, since different Archiver implementations have very different capability, there's currently no universal query syntax that works for all Archiver implementations. Please check the README (for example, [S3](https://github.com/uber/cadence/tree/master/common/archiver/s3store) and [GCP](https://github.com/uber/cadence/tree/master/common/archiver/gcloud)) of the Archiver used by your domain for the supported query syntax and limitations. ### How does archival interact with global domains? If you have a global domain, when :archival: occurs it will first run on the active cluster and some time later it will run on the standby cluster when replication happens. -For history archival, Cadence will check if upload operation has been performed and skip duplicate efforts. -For visibility archival, there's no such check and duplicated visibility records will be uploaded. Depending on the Archiver implementation, those duplicated upload may consume more space in the underlying storage and duplicated entries may be returned. +For history archival, Cadence will check if upload operation has been performed and skip duplicate efforts. +For visibility archival, there's no such check and duplicated visibility records will be uploaded. Depending on the Archiver implementation, those duplicated upload may consume more space in the underlying storage and duplicated entries may be returned. ### Can I specify multiple archival URIs? Each :domain: can only have one URI for history :archival: and one URI for visibility :archival:. Different :domain:domains:, however, can have different URIs (with different schemes). diff --git a/docs/03-concepts/08-cross-dc-replication.md b/src/docs/03-concepts/08-cross-dc-replication.md similarity index 97% rename from docs/03-concepts/08-cross-dc-replication.md rename to src/docs/03-concepts/08-cross-dc-replication.md index c701c0c94..873e82a03 100644 --- a/docs/03-concepts/08-cross-dc-replication.md +++ b/src/docs/03-concepts/08-cross-dc-replication.md @@ -29,7 +29,7 @@ Cadence will only dispatch tasks on the current active cluster; :worker:workers: until the Global :domain:Domain: is failed over. This is recommended if XDC is being used in multiple clusters running in very remote data centers(regions), which forwarding is expensive to do. When using `all-domain-api-forwarding`, applications only need to run activity & workflow :worker:workers: polling on one cluster. This makes it easier for the application setup. This is recommended -when clusters are all in local or nearby datacenters. See more details in [discussion](https://github.com/cadence-workflow/cadence/discussions/4530). +when clusters are all in local or nearby datacenters. See more details in [discussion](https://github.com/uber/cadence/discussions/4530). ### Conflict Resolution Unlike local :domain:domains: which provide at-most-once semantics for :activity: execution, Global :domain:Domains: can only support at-least-once @@ -110,13 +110,13 @@ Feel free to explore the `cadence admin cluster failover` tab. ## Running Locally -The best way is to use Cadence [docker-compose](https://github.com/cadence-workflow/cadence/tree/master/docker): +The best way is to use Cadence [docker-compose](https://github.com/uber/cadence/tree/master/docker): `docker-compose -f docker-compose-multiclusters.yml up` ## Running in Production -Enable global domain feature needs to be enabled in [static config](/docs/operation-guide/setup/#static-configuration). +Enable global domain feature needs to be enabled in [static config](/docs/operation-guide/setup/#static-configs). Here we use clusterDCA and clusterDCB as an example. We pick clusterDCA as the primary(used to called "master") cluster. The only difference of being a primary cluster is that it is responsible for domain registration. Primary can be changed later but it needs to be the same across all clusters. @@ -179,7 +179,7 @@ After the configuration is deployed: 2. Run some workflow and failover domain from one to another `cadence --do domain update --active_cluster clusterDCB` -Then the domain should be failed over to clusterDCB. Now worklfows are read-only in clusterDCA. So your workers polling tasks from clusterDCA will become idle. +Then the domain should be failed over to clusterDCB. Now worklfows are read-only in clusterDCA. So your workers polling tasks from clusterDCA will become idle. Note 1: that even though clusterDCA is standy/read-only for this domain, it can be active for another domain. So being active/standy is per domain basis not per clusters. In other words, for example if you use XDC in case of DC failure of clusterDCA, you need to failover all domains from clusterDCA to clusterDCB. diff --git a/docs/03-concepts/09-search-workflows.md b/src/docs/03-concepts/09-search-workflows.md similarity index 86% rename from docs/03-concepts/09-search-workflows.md rename to src/docs/03-concepts/09-search-workflows.md index 16700a0e9..dee6ce3e3 100644 --- a/docs/03-concepts/09-search-workflows.md +++ b/src/docs/03-concepts/09-search-workflows.md @@ -10,15 +10,15 @@ permalink: /docs/concepts/search-workflows Cadence supports creating :workflow:workflows: with customized key-value pairs, updating the information within the :workflow: code, and then listing/searching :workflow:workflows: with a SQL-like :query:. For example, you can create :workflow:workflows: with keys `city` and `age`, then search all :workflow:workflows: with `city = seattle and age > 22`. -Also note that normal :workflow: properties like start time and :workflow: type can be queried as well. For example, the following :query: could be specified when [listing workflows from the CLI](/docs/cli#list-closed-or-open-workflow-executions) or using the list APIs ([Go](https://godoc.org/go.uber.org/cadence/client#Client), [Java](https://static.javadoc.io/com.uber.cadence/cadence-client/2.6.0/com/cadence-workflow/cadence/WorkflowService.Iface.html#ListWorkflowExecutions-com.uber.cadence.ListWorkflowExecutionsRequest-)): +Also note that normal :workflow: properties like start time and :workflow: type can be queried as well. For example, the following :query: could be specified when [listing workflows from the CLI](/docs/06-cli/#list-closed-or-open-workflow-executions) or using the list APIs ([Go](https://godoc.org/go.uber.org/cadence/client#Client), [Java](https://static.javadoc.io/com.uber.cadence/cadence-client/2.6.0/com/uber/cadence/WorkflowService.Iface.html#ListWorkflowExecutions-com.uber.cadence.ListWorkflowExecutionsRequest-)): ```sql -WorkflowType = "main.Workflow" AND CloseStatus != "completed" AND (StartTime > - "2019-06-07T16:46:34-08:00" OR CloseTime > "2019-06-07T16:46:34-08:00") - ORDER BY StartTime DESC +WorkflowType = "main.Workflow" AND CloseStatus != "completed" AND (StartTime > + "2019-06-07T16:46:34-08:00" OR CloseTime > "2019-06-07T16:46:34-08:00") + ORDER BY StartTime DESC ``` -In other places, this is also called as `advanced visibility`. While `basic visibility` is referred to basic listing without being able to search. +In other places, this is also called as `advanced visibility`. While `basic visibility` is referred to basic listing without being able to search. ## Memo vs Search Attributes @@ -40,7 +40,7 @@ type StartWorkflowOptions struct { } ``` -In the Java client, the *WorkflowOptions.Builder* has similar methods for [memo](https://static.javadoc.io/com.uber.cadence/cadence-client/2.6.0/com/cadence-workflow/cadence/client/WorkflowOptions.Builder.html#setMemo-java.util.Map-) and [search attributes](https://static.javadoc.io/com.uber.cadence/cadence-client/2.6.0/com/cadence-workflow/cadence/client/WorkflowOptions.Builder.html#setSearchAttributes-java.util.Map-). +In the Java client, the *WorkflowOptions.Builder* has similar methods for [memo](https://static.javadoc.io/com.uber.cadence/cadence-client/2.6.0/com/uber/cadence/client/WorkflowOptions.Builder.html#setMemo-java.util.Map-) and [search attributes](https://static.javadoc.io/com.uber.cadence/cadence-client/2.6.0/com/uber/cadence/client/WorkflowOptions.Builder.html#setSearchAttributes-java.util.Map-). Some important distinctions between memo and search attributes: @@ -99,13 +99,13 @@ The numbers for the attribute types map as follows: #### Keyword vs String(Text) -Note 1: **String** has been renamed to **Text** in [ElasticSearch](https://www.elastic.co/blog/strings-are-dead-long-live-strings). Cadence is also [planning](https://github.com/cadence-workflow/cadence/issues/4604) to rename it. +Note 1: **String** has been renamed to **Text** in [ElasticSearch](https://www.elastic.co/blog/strings-are-dead-long-live-strings). Cadence is also [planning](https://github.com/uber/cadence/issues/4604) to rename it. Note 2: **Keyword** and **String(Text)** are concepts taken from Elasticsearch. Each word in a **String(Text)** is considered a searchable keyword. For a UUID, that can be problematic as Elasticsearch will index each portion of the UUID separately. To have the whole string considered as a searchable keyword, use the **Keyword** type. For example, key RunID with value "2dd29ab7-2dd8-4668-83e0-89cae261cfb1" -- as a **Keyword** will only be matched by RunID = "2dd29ab7-2dd8-4668-83e0-89cae261cfb1" (or in the future with [regular expressions](https://github.com/cadence-workflow/cadence/issues/1137)) +- as a **Keyword** will only be matched by RunID = "2dd29ab7-2dd8-4668-83e0-89cae261cfb1" (or in the future with [regular expressions](https://github.com/uber/cadence/issues/1137)) - as a **String(Text)** will be matched by RunID = "2dd8", which may cause unwanted matches **Note:** String(Text) type can not be used in Order By :query:. @@ -146,7 +146,7 @@ Cadence reserves keys like DomainID, WorkflowID, and RunID. These can only be us [UpsertSearchAttributes](https://godoc.org/go.uber.org/cadence/workflow#UpsertSearchAttributes) is used to add or update search attributes from within the :workflow: code. -Go samples for search attributes can be found at [github.com/cadence-workflow/cadence-samples](https://github.com/cadence-workflow/cadence-samples/tree/master/cmd/samples/recipes/searchattributes). +Go samples for search attributes can be found at [github.com/uber-common/cadence-samples](https://github.com/uber-common/cadence-samples/tree/master/cmd/samples/recipes/searchattributes). UpsertSearchAttributes will merge attributes to the existing map in the :workflow:. Consider this example :workflow: code: @@ -187,17 +187,17 @@ When performing a [ContinueAsNew](/docs/go-client/continue-as-new/) or using [Cr ## Query Capabilities -:query:Query: :workflow:workflows: by using a SQL-like where clause when [listing workflows from the CLI](/docs/cli#list-closed-or-open-workflow-executions) or using the list APIs ([Go](https://godoc.org/go.uber.org/cadence/client#Client), [Java](https://static.javadoc.io/com.uber.cadence/cadence-client/2.6.0/com/cadence-workflow/cadence/WorkflowService.Iface.html#ListWorkflowExecutions-com.uber.cadence.ListWorkflowExecutionsRequest-)). +:query:Query: :workflow:workflows: by using a SQL-like where clause when [listing workflows from the CLI](/docs/06-cli/#list-closed-or-open-workflow-executions) or using the list APIs ([Go](https://godoc.org/go.uber.org/cadence/client#Client), [Java](https://static.javadoc.io/com.uber.cadence/cadence-client/2.6.0/com/uber/cadence/WorkflowService.Iface.html#ListWorkflowExecutions-com.uber.cadence.ListWorkflowExecutionsRequest-)). Note that you will only see :workflow:workflows: from one domain when :query:querying:. ### Supported Operators -- `AND`, `OR`, `()` -- `=`, `!=`, `>`, `>=`, `<`, `<=` -- `IN` -- `BETWEEN ... AND` -- `ORDER BY` +- AND, OR, () +- =, !=, >, >=, <, <= +- IN +- BETWEEN ... AND +- ORDER BY ### Default Attributes @@ -229,7 +229,7 @@ Some names and types are as follows: There are some special considerations for these attributes: - CloseStatus, CloseTime, DomainID, ExecutionTime, HistoryLength, RunID, StartTime, WorkflowID, WorkflowType are reserved by Cadence and are read-only -- Starting from [v0.18.0](https://github.com/cadence-workflow/cadence/commit/6e69fa1a6e9ae5d2f683759820f09d1286ba7797), Cadence automatically maps(case insensitive) string to CloseStatus so that you don't need to use integer in the query, to make it easier to use. +- Starting from [v0.18.0](https://github.com/uber/cadence/commit/6e69fa1a6e9ae5d2f683759820f09d1286ba7797), Cadence automatically maps(case insensitive) string to CloseStatus so that you don't need to use integer in the query, to make it easier to use. - 0 = "completed" - 1 = "failed" - 2 = "canceled" @@ -286,7 +286,7 @@ cadence --do samples-domain wf list -q 'WorkflowType = "main.Workflow" and (Work ```bash cadence --do samples-domain wf list -q 'WorkflowType = "main.Workflow" StartTime > "2019-06-07T16:46:34-08:00" and CloseTime = missing' ``` -All above command can be done with ListWorkflowExecutions API. +All above command can be done with ListWorkflowExecutions API. #### Count Workflows with Count API/Command @@ -302,11 +302,11 @@ cadence --do samples-domain wf count -q 'CloseStatus="failed"' cadence --do samples-domain wf count -q 'CloseStatus!="completed"' ``` -All above command can be done with CountWorkflowExecutions API. +All above command can be done with CountWorkflowExecutions API. ### Web UI Support -:query:Queries: are supported in [Cadence Web](https://github.com/cadence-workflow/cadence-web) as of release 3.4.0. Use the "Basic/Advanced" button to switch to "Advanced" mode and type the :query: in the search box. +:query:Queries: are supported in [Cadence Web](https://github.com/uber/cadence-web) as of release 3.4.0. Use the "Basic/Advanced" button to switch to "Advanced" mode and type the :query: in the search box. ### TLS Support for connecting to Elasticsearch @@ -331,7 +331,7 @@ elasticsearch: ## Running Locally 1. Increase Docker memory to higher than 6GB. Navigate to Docker -> Preferences -> Advanced -> Memory -2. Get the Cadence Docker compose file. Run `curl -O https://raw.githubusercontent.com/cadence-workflow/cadence/master/docker/docker-compose-es.yml` +2. Get the Cadence Docker compose file. Run `curl -O https://raw.githubusercontent.com/uber/cadence/master/docker/docker-compose-es.yml` 3. Start Cadence Docker (which contains Apache Kafka, Apache Zookeeper, and Elasticsearch) using `docker-compose -f docker-compose-es.yml up` 4. From the Docker output log, make sure Elasticsearch and Cadence started correctly. If you encounter an insufficient disk space error, try `docker system prune -a --volumes` 5. Register a local domain and start using it. `cadence --do samples-domain d re` @@ -340,12 +340,12 @@ elasticsearch: ## Running in Production To enable this feature in a Cadence cluster: -* Register index schema on ElasticSearch. Run two CURL commands following this [script](https://github.com/cadence-workflow/cadence/blob/a05ce6b0328b89aa516ae09d5ff601e35df2cc4f/docker/start.sh#L59). +* Register index schema on ElasticSearch. Run two CURL commands following this [script](https://github.com/uber/cadence/blob/a05ce6b0328b89aa516ae09d5ff601e35df2cc4f/docker/start.sh#L59). * Create a index template by using the schema , choose v6/v7 based on your ElasticSearch version * Create an index follow the index template, remember the name * Register topic on Kafka, and remember the name * Set up the right number of partitions based on your expected throughput(can be scaled up later) -* [Configure Cadence for ElasticSearch + Kafka like this documentation](https://github.com/cadence-workflow/cadence/blob/master/docs/visibility-on-elasticsearch.md#configuration) +* [Configure Cadence for ElasticSearch + Kafka like this documentation](https://github.com/uber/cadence/blob/master/docs/visibility-on-elasticsearch.md#configuration) Based on the full [static config](/docs/operation-guide/setup/#static-configuration), you may add some other fields like AuthN. Similarly for Kafka. @@ -355,3 +355,5 @@ To add new search attributes: 2. Update the [dynamic configuration](https://cadenceworkflow.io/docs/operation-guide/setup/#dynamic-configuration-overview) to allowlist the new attribute Note: starting a :workflow: with search attributes but without advanced visibility feature will succeed as normal, but will not be searchable and will not be shown in list results. + + diff --git a/docs/03-concepts/10-http-api.md b/src/docs/03-concepts/10-http-api.md similarity index 99% rename from docs/03-concepts/10-http-api.md rename to src/docs/03-concepts/10-http-api.md index 3c312083b..76f3f6d57 100644 --- a/docs/03-concepts/10-http-api.md +++ b/src/docs/03-concepts/10-http-api.md @@ -8,11 +8,11 @@ permalink: /docs/concepts/http-api ## Introduction -From **version 1.2.0** onwards, Cadence has introduced HTTP API support, which allows you to interact with the Cadence server -using the HTTP protocol. To put this into perspective, HTTP/JSON communication is a flexible method for server interaction. -In the context of Cadence, this implies that a range of RPC methods can be exposed and invoked using the HTTP protocol. -This enhancement broadens the scope of interaction with the Cadence server, enabling the use of any programming language that supports HTTP. -Consequently, you can leverage this functionality to initiate or terminate workflows from your bash scripts, monitor the +From **version 1.2.0** onwards, Cadence has introduced HTTP API support, which allows you to interact with the Cadence server +using the HTTP protocol. To put this into perspective, HTTP/JSON communication is a flexible method for server interaction. +In the context of Cadence, this implies that a range of RPC methods can be exposed and invoked using the HTTP protocol. +This enhancement broadens the scope of interaction with the Cadence server, enabling the use of any programming language that supports HTTP. +Consequently, you can leverage this functionality to initiate or terminate workflows from your bash scripts, monitor the status of your cluster, or execute any other operation that the Cadence RPC declaration supports. ## Setup @@ -25,32 +25,32 @@ To enable β€œstart workflow” HTTP API, add `http` section to Cadence RPC confi services: frontend: rpc: - # ... + <...> http: port: 8800 procedures: - - uber.cadence.api.v1.WorkflowAPI::StartWorkflowExecution + - uber.cadence.api.v1.WorkflowAPI::StartWorkflowExecution ``` Then you can run Cadence server in the following ways to use HTTP API. ### Using local binaries -Build and run `./cadence-server` as described in [Developing Cadence](https://github.com/cadence-workflow/cadence/blob/master/CONTRIBUTING.md). +Build and run `./cadence-server` as described in [Developing Cadence](https://github.com/uber/cadence/blob/master/CONTRIBUTING.md). ### Using β€œdocker run” command Refer to instructions described -in [Using docker image for production](https://github.com/cadence-workflow/cadence/tree/master/docker#using-docker-image-for-production). +in [Using docker image for production](https://github.com/uber/cadence/tree/master/docker#using-docker-image-for-production). Additionally add two more environment variables: ```bash docker run <...> - -e FRONTEND_HTTP_PORT=8800 -- HTTP PORT TO LISTEN + -e FRONTEND_HTTP_PORT=8800 -- HTTP PORT TO LISTEN -e FRONTEND_HTTP_PROCEDURES=uber.cadence.api.v1.WorkflowAPI::StartWorkflowExecution -- List of API methods exposed - ubercadence/server: + ubercadence/server: ``` ### Using docker-compose @@ -79,7 +79,7 @@ cadence: - "PROMETHEUS_ENDPOINT_3=0.0.0.0:8003" - "DYNAMIC_CONFIG_FILE_PATH=config/dynamicconfig/development.yaml" - "FRONTEND_HTTP_PORT=8800" - - "FRONTEND_HTTP_PROCEDURES=uber.cadence.api.v1.WorkflowAPI::StartWorkflowExecution" + - "FRONTEND_HTTP_PROCEDURES=uber.cadence.api.v1.WorkflowAPI::StartWorkflowExecution" ``` ## Using HTTP API @@ -93,7 +93,7 @@ curl -X POST http://0.0.0.0:8800 \ -H 'rpc-service: cadence-frontend' \ -H 'rpc-encoding: json' \ -H 'rpc-procedure: uber.cadence.api.v1.WorkflowAPI::StartWorkflowExecution' \ - -d @data.json + -d @data.json ``` Where `data.json` content looks something like this: @@ -112,7 +112,7 @@ Where `data.json` content looks something like this: }, "identity": "My custom caller identity", "requestId": "4D1E4058-6FCF-4BA8-BF16-8FA8B02F9651" -} +} ``` ## HTTP API Reference @@ -218,7 +218,7 @@ curl -X POST http://0.0.0.0:8800 \ -H 'rpc-encoding: json' \ -H 'rpc-procedure: uber.cadence.admin.v1.AdminAPI::CloseShard' \ -d \ - '{ + '{ "shard_id": 0 }' ``` diff --git a/src/docs/03-concepts/index.md b/src/docs/03-concepts/index.md new file mode 100644 index 000000000..4d1497619 --- /dev/null +++ b/src/docs/03-concepts/index.md @@ -0,0 +1,15 @@ +--- +layout: default +title: Introduction +permalink: /docs/concepts +--- + +# Concepts + +Cadence is a new developer friendly way to develop distributed applications. + +It borrows the core terminology from the workflow-automation space. So its concepts include [workflows](01-workflows/) and [activities](02-activities/). :workflow:Workflows: can react to [events](03-events/) and return internal state through [queries](04-queries/). + +The [deployment topology](05-topology/) explains how all these concepts are mapped to deployable software components. + +The [HTTP API reference](10-http-api/) describes how to use HTTP API to interact with Cadence server. diff --git a/docs/04-java-client/01-client-overview.md b/src/docs/04-java-client/01-client-overview.md similarity index 85% rename from docs/04-java-client/01-client-overview.md rename to src/docs/04-java-client/01-client-overview.md index c2dde39fb..788126380 100644 --- a/docs/04-java-client/01-client-overview.md +++ b/src/docs/04-java-client/01-client-overview.md @@ -6,7 +6,7 @@ permalink: /docs/java-client/client-overview # Client SDK Overview -- Samples: [https://github.com/cadence-workflow/cadence-java-samples](https://github.com/cadence-workflow/cadence-java-samples) +- Samples: [https://github.com/uber/cadence-java-samples](https://github.com/uber/cadence-java-samples) - JavaDoc documentation: [https://www.javadoc.io/doc/com.uber.cadence/cadence-client](https://www.javadoc.io/doc/com.uber.cadence/cadence-client) ## [JavaDoc Packages](https://www.javadoc.io/doc/com.uber.cadence/cadence-client/latest/index.html) @@ -17,7 +17,7 @@ APIs to implement activity: accessing activity info, or sending heartbeat. APIs for external application code to interact with Cadence workflows: start workflows, send signals or query workflows. ### com.uber.cadence.workflow -APIs to implement workflows. +APIs to implement workflows. ### com.uber.cadence.worker APIs to configure and start workers. @@ -25,7 +25,7 @@ APIs to configure and start workers. ### com.uber.cadence.testing APIs to write unit tests for workflows. -## [Samples](https://github.com/cadence-workflow/cadence-java-samples/tree/master/src/main/java/com/uber/cadence/samples) +## [Samples](https://github.com/uber/cadence-java-samples/tree/master/src/main/java/com/uber/cadence/samples) ### com.uber.cadence.samples.hello Samples of how to use the basic feature: activity, local activity, ChildWorkflow, Query, etc. This is the most important package you need to start with. diff --git a/docs/04-java-client/02-workflow-interface.md b/src/docs/04-java-client/02-workflow-interface.md similarity index 100% rename from docs/04-java-client/02-workflow-interface.md rename to src/docs/04-java-client/02-workflow-interface.md diff --git a/docs/04-java-client/03-implementing-workflows.md b/src/docs/04-java-client/03-implementing-workflows.md similarity index 99% rename from docs/04-java-client/03-implementing-workflows.md rename to src/docs/04-java-client/03-implementing-workflows.md index d8429d6ce..f13d7f003 100644 --- a/docs/04-java-client/03-implementing-workflows.md +++ b/src/docs/04-java-client/03-implementing-workflows.md @@ -166,7 +166,7 @@ might break already open :workflow:workflows:. Pass it as an argument to a :workflow: function or use an :activity: to load it. :workflow:Workflow: method arguments and return values are serializable to a byte array using the provided -[DataConverter](https://static.javadoc.io/com.uber.cadence/cadence-client/2.4.1/index.html?com/cadence-workflow/cadence/converter/DataConverter.html) +[DataConverter](https://static.javadoc.io/com.uber.cadence/cadence-client/2.4.1/index.html?com/uber/cadence/converter/DataConverter.html) interface. The default implementation uses JSON serializer, but you can use any alternative serialization mechanism. The values passed to :workflow:workflows: through invocation parameters or returned through a result value are recorded in the execution history. diff --git a/docs/04-java-client/04-starting-workflow-executions.md b/src/docs/04-java-client/04-starting-workflow-executions.md similarity index 100% rename from docs/04-java-client/04-starting-workflow-executions.md rename to src/docs/04-java-client/04-starting-workflow-executions.md diff --git a/docs/04-java-client/05-activity-interface.md b/src/docs/04-java-client/05-activity-interface.md similarity index 94% rename from docs/04-java-client/05-activity-interface.md rename to src/docs/04-java-client/05-activity-interface.md index 1fcf7195b..43b571578 100644 --- a/docs/04-java-client/05-activity-interface.md +++ b/src/docs/04-java-client/05-activity-interface.md @@ -11,7 +11,7 @@ An :activity: is a manifestation of a particular :task: in the business logic. :activity:Activities: are defined as methods of a plain Java interface. Each method defines a single :activity: type. A single :workflow: can use more than one :activity: interface and call more than one :activity: method from the same interface. The only requirement is that :activity: method arguments and return values are serializable to a byte array using the provided -[DataConverter](https://static.javadoc.io/com.uber.cadence/cadence-client/2.4.1/index.html?com/cadence-workflow/cadence/converter/DataConverter.html) +[DataConverter](https://static.javadoc.io/com.uber.cadence/cadence-client/2.4.1/index.html?com/uber/cadence/converter/DataConverter.html) interface. The default implementation uses a JSON serializer, but an alternative implementation can be easily configured. Following is an example of an interface that defines four activities: diff --git a/docs/04-java-client/06-implementing-activities.md b/src/docs/04-java-client/06-implementing-activities.md similarity index 97% rename from docs/04-java-client/06-implementing-activities.md rename to src/docs/04-java-client/06-implementing-activities.md index 7cdf0d909..93bea74d9 100644 --- a/docs/04-java-client/06-implementing-activities.md +++ b/src/docs/04-java-client/06-implementing-activities.md @@ -44,7 +44,7 @@ public class FileProcessingActivitiesImpl implements FileProcessingActivities { ## Accessing Activity Info -The [Activity](https://static.javadoc.io/com.uber.cadence/cadence-client/2.4.1/index.html?com/cadence-workflow/cadence/activity/Activity.html) +The [Activity](https://static.javadoc.io/com.uber.cadence/cadence-client/2.4.1/index.html?com/uber/cadence/activity/Activity.html) class provides static getters to access information about the :workflow: that invoked it. Note that this information is stored in a thread local variable. Therefore, calls to :activity:Activity: accessors succeed only in the thread that invoked the :activity: function. ```java @@ -72,7 +72,7 @@ and later a reply comes and is picked up by a different :worker: process. The wh as a single Cadence :activity:. To indicate that an :activity: should not be completed upon its method return, call `Activity.doNotCompleteOnReturn()` from the -original :activity: thread. Then later, when replies come, complete the :activity: using [ActivityCompletionClient](https://static.javadoc.io/com.uber.cadence/cadence-client/2.4.1/index.html?com/cadence-workflow/cadence/client/ActivityCompletionClient.html). +original :activity: thread. Then later, when replies come, complete the :activity: using [ActivityCompletionClient](https://static.javadoc.io/com.uber.cadence/cadence-client/2.4.1/index.html?com/uber/cadence/client/ActivityCompletionClient.html). To correlate :activity: invocation with completion, use either `TaskToken` or :workflow: and :activity: IDs. ```java diff --git a/docs/04-java-client/07-versioning.md b/src/docs/04-java-client/07-versioning.md similarity index 100% rename from docs/04-java-client/07-versioning.md rename to src/docs/04-java-client/07-versioning.md diff --git a/docs/04-java-client/08-distributed-cron.md b/src/docs/04-java-client/08-distributed-cron.md similarity index 96% rename from docs/04-java-client/08-distributed-cron.md rename to src/docs/04-java-client/08-distributed-cron.md index bf74a3df1..711b28c87 100644 --- a/docs/04-java-client/08-distributed-cron.md +++ b/src/docs/04-java-client/08-distributed-cron.md @@ -9,14 +9,14 @@ permalink: /docs/java-client/distributed-cron It is relatively straightforward to turn any Cadence :workflow: into a Cron :workflow:. All you need is to supply a cron schedule when starting the :workflow: using the CronSchedule parameter of -[StartWorkflowOptions](https://static.javadoc.io/com.uber.cadence/cadence-client/2.5.1/com/cadence-workflow/cadence/client/WorkflowOptions.html). +[StartWorkflowOptions](https://static.javadoc.io/com.uber.cadence/cadence-client/2.5.1/com/uber/cadence/client/WorkflowOptions.html). You can also start a :workflow: using the Cadence :CLI: with an optional cron schedule using the `--cron` argument. For :workflow:workflows: with CronSchedule: * CronSchedule is based on UTC time. For example cron schedule "15 8 \* \* \*" - will run daily at 8:15am UTC. Another example "*/2 * * * 5-6" will schedule a workflow every two minutes on fridays + will run daily at 8:15am UTC. Another example "*/2 * * * 5-6" will schedule a workflow every two minutes on fridays and saturdays. * If a :workflow: failed and a RetryPolicy is supplied to the StartWorkflowOptions as well, the :workflow: will retry based on the RetryPolicy. While the :workflow: is diff --git a/docs/04-java-client/09-workers.md b/src/docs/04-java-client/09-workers.md similarity index 88% rename from docs/04-java-client/09-workers.md rename to src/docs/04-java-client/09-workers.md index 2519b7cd7..443109e26 100644 --- a/docs/04-java-client/09-workers.md +++ b/src/docs/04-java-client/09-workers.md @@ -22,7 +22,7 @@ You can run a Cadence :worker: in a new or an existing service. Use the framewor .setMaxConcurrentActivityExecutionSize(100) .setMaxConcurrentWorkflowExecutionSize(100) .build()); - + // Workflows are stateful. So you need a type to create instances. worker.registerWorkflowImplementationTypes(GreetingWorkflowImpl.class); // Activities are stateless and thread safe. So a shared instance is used. @@ -52,6 +52,6 @@ Worker.Factory factory = new Worker.Factory(DOMAIN, factory.start(); ``` -The [WorkerFactoryOptions](https://www.javadoc.io/static/com.uber.cadence/cadence-client/2.7.9-alpha/com/cadence-workflow/cadence/worker/WorkerFactoryOptions.html) includes those that need to be shared across workers on the hosts like thread pool, sticky cache. +The [WorkerFactoryOptions](https://www.javadoc.io/static/com.uber.cadence/cadence-client/2.7.9-alpha/com/uber/cadence/worker/WorkerFactoryOptions.html) includes those that need to be shared across workers on the hosts like thread pool, sticky cache. -In [WorkerOptions](https://www.javadoc.io/static/com.uber.cadence/cadence-client/2.7.9-alpha/com/cadence-workflow/cadence/worker/WorkerOptions.Builder.html) you can customize things like pollerOptions, activities per second. +In [WorkerOptions](https://www.javadoc.io/static/com.uber.cadence/cadence-client/2.7.9-alpha/com/uber/cadence/worker/WorkerOptions.Builder.html) you can customize things like pollerOptions, activities per second. diff --git a/docs/04-java-client/10-signals.md b/src/docs/04-java-client/10-signals.md similarity index 89% rename from docs/04-java-client/10-signals.md rename to src/docs/04-java-client/10-signals.md index 155af6a26..ce691ccbe 100644 --- a/docs/04-java-client/10-signals.md +++ b/src/docs/04-java-client/10-signals.md @@ -28,7 +28,7 @@ execution by blocking on a :signal: channel. ## Implement Signal Handler in Workflow -See the below example from [sample](https://github.com/cadence-workflow/cadence-java-samples/blob/master/src/main/java/com/uber/cadence/samples/hello/HelloSignal.java). +See the below example from [sample](https://github.com/uber/cadence-java-samples/blob/master/src/main/java/com/uber/cadence/samples/hello/HelloSignal.java). ```java public interface HelloWorld { @@ -111,8 +111,8 @@ Note that the restart of the :worker: didn't affect the :workflow_execution:. It This is the most important feature of Cadence. The :workflow: code doesn't need to deal with :worker: failures at all. Its state is fully recovered to its current state that includes all the local variables and threads. Let's look at the line where the :workflow: is blocked: -```sh-session -$ docker run --network=host --rm ubercadence/cli:master --do test-domain workflow stack --workflow_id "Hello2" +```bash +> docker run --network=host --rm ubercadence/cli:master --do test-domain workflow stack --workflow_id "Hello2" Query result: "workflow-root: (BLOCKED on await) com.uber.cadence.internal.sync.SyncDecisionContext.await(SyncDecisionContext.java:546) @@ -125,7 +125,7 @@ sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)" Yes, indeed the :workflow: is blocked on await. This feature works for any open :workflow:, greatly simplifying troubleshooting in production. Let's complete the :workflow: by sending a :signal: with a "Bye" greeting: -```log +```bash 16:58:22.962 [workflow-root] INFO c.u.c.samples.hello.GettingStarted - 4: Bye World! ``` Note that the value of the count variable was not lost during the restart. @@ -141,8 +141,8 @@ run and then send the :signal:. `SignalWithStartWorkflow` therefore doesn't take parameter. Learn more from the `--help` manual: -```sh-session -$ docker run --network=host --rm ubercadence/cli:master --do test-domain workflow signalwithstart -h +```bash +docker run --network=host --rm ubercadence/cli:master --do test-domain workflow signalwithstart -h NAME: cadence workflow signalwithstart - signal the current open workflow if exists, or attempt to start a new run based on IDResuePolicy and signals it @@ -158,11 +158,11 @@ USAGE: You may want to signal workflows without running the command line. The -[WorkflowClient](https://www.javadoc.io/doc/com.uber.cadence/cadence-client/latest/com/cadence-workflow/cadence/client/WorkflowClient.html) API allows you to send signal (or SignalWithStartWorkflow) from outside of the workflow +[WorkflowClient](https://www.javadoc.io/doc/com.uber.cadence/cadence-client/latest/com/uber/cadence/client/WorkflowClient.html) API allows you to send signal (or SignalWithStartWorkflow) from outside of the workflow to send a :signal: to the current :workflow:. Note that when using `newWorkflowStub` to signal a workflow, you MUST NOT passing WorkflowOptions. -The [WorkflowStub](https://www.javadoc.io/static/com.uber.cadence/cadence-client/2.7.9-alpha/com/cadence-workflow/cadence/client/WorkflowClient.html#newWorkflowStub-java.lang.Class-com.uber.cadence.client.WorkflowOptions-) with WorkflowOptions is only for starting workflows. +The [WorkflowStub](https://www.javadoc.io/static/com.uber.cadence/cadence-client/2.7.9-alpha/com/uber/cadence/client/WorkflowClient.html#newWorkflowStub-java.lang.Class-com.uber.cadence.client.WorkflowOptions-) with WorkflowOptions is only for starting workflows. -The [WorkflowStub](https://www.javadoc.io/static/com.uber.cadence/cadence-client/2.7.9-alpha/com/cadence-workflow/cadence/client/WorkflowClient.html#newWorkflowStub-java.lang.Class-java.lang.String-) without WorkflowOptions is for signal or [query](/docs/java-client/queries) +The [WorkflowStub](https://www.javadoc.io/static/com.uber.cadence/cadence-client/2.7.9-alpha/com/uber/cadence/client/WorkflowClient.html#newWorkflowStub-java.lang.Class-java.lang.String-) without WorkflowOptions is for signal or [query](/docs/java-client/queries) diff --git a/docs/04-java-client/11-queries.md b/src/docs/04-java-client/11-queries.md similarity index 89% rename from docs/04-java-client/11-queries.md rename to src/docs/04-java-client/11-queries.md index 2c89a14e6..fd496c249 100644 --- a/docs/04-java-client/11-queries.md +++ b/src/docs/04-java-client/11-queries.md @@ -26,10 +26,10 @@ library. You can add custom :query: types to handle :query:queries: such as :que Cadence provides a :query: feature that supports synchronously returning any information from a :workflow: to an external caller. -Interface [__QueryMethod__](https://www.javadoc.io/doc/com.uber.cadence/cadence-client/latest/com/cadence-workflow/cadence/workflow/QueryMethod.html) indicates that the method is a query method. Query method can be used to query a workflow state by external process at any time during its execution. This annotation applies only to workflow interface methods. +Interface [__QueryMethod__](https://www.javadoc.io/doc/com.uber.cadence/cadence-client/latest/com/uber/cadence/workflow/QueryMethod.html) indicates that the method is a query method. Query method can be used to query a workflow state by external process at any time during its execution. This annotation applies only to workflow interface methods. -See the [:workflow:](https://github.com/cadence-workflow/cadence-java-samples/blob/master/src/main/java/com/uber/cadence/samples/hello/HelloQuery.java) example code : +See the [:workflow:](https://github.com/uber/cadence-java-samples/blob/master/src/main/java/com/uber/cadence/samples/hello/HelloQuery.java) example code : ```java public interface HelloWorld { @@ -109,7 +109,7 @@ cadence: docker run --network=host --rm ubercadence/cli:master --do test-domain The :query:Query: method can accept parameters. This might be useful if only part of the :workflow: state should be returned. ## Run Query from external application code -The [WorkflowStub](https://www.javadoc.io/static/com.uber.cadence/cadence-client/2.7.9-alpha/com/cadence-workflow/cadence/client/WorkflowClient.html#newWorkflowStub-java.lang.Class-java.lang.String-) without WorkflowOptions is for signal or [query](/docs/java-client/queries) +The [WorkflowStub](https://www.javadoc.io/static/com.uber.cadence/cadence-client/2.7.9-alpha/com/uber/cadence/client/WorkflowClient.html#newWorkflowStub-java.lang.Class-java.lang.String-) without WorkflowOptions is for signal or [query](/docs/java-client/queries) ## Consistent Query @@ -134,6 +134,6 @@ In order to run consistent :query: through the :CLI: do the following: `cadence-cli --domain samples-domain workflow query -w my_workflow_id -r my_run_id -qt current_state --qcl strong` -In order to run a :query: using application code, you need to use [service client](https://www.javadoc.io/doc/com.uber.cadence/cadence-client/latest/com/cadence-workflow/cadence/WorkflowService.Iface.html#SignalWorkflowExecution-com.uber.cadence.SignalWorkflowExecutionRequest-). +In order to run a :query: using application code, you need to use [service client](https://www.javadoc.io/doc/com.uber.cadence/cadence-client/latest/com/uber/cadence/WorkflowService.Iface.html#SignalWorkflowExecution-com.uber.cadence.SignalWorkflowExecutionRequest-). When using strongly consistent :query: you should expect higher latency than eventually consistent :query:. diff --git a/docs/04-java-client/12-retries.md b/src/docs/04-java-client/12-retries.md similarity index 97% rename from docs/04-java-client/12-retries.md rename to src/docs/04-java-client/12-retries.md index e7198b5eb..9a6cc0edc 100644 --- a/docs/04-java-client/12-retries.md +++ b/src/docs/04-java-client/12-retries.md @@ -7,7 +7,7 @@ permalink: /docs/java-client/retries # Activity and workflow retries :activity:Activities: and :workflow:workflows: can fail due to various intermediate conditions. In those cases, we want to retry the failed :activity: or child :workflow: or even the parent :workflow:. This can be achieved -by supplying an optional [retry options](https://www.javadoc.io/static/com.uber.cadence/cadence-client/2.7.9-alpha/com/cadence-workflow/cadence/common/RetryOptions.Builder.html#setInitialInterval-java.time.Duration-). +by supplying an optional [retry options](https://www.javadoc.io/static/com.uber.cadence/cadence-client/2.7.9-alpha/com/uber/cadence/common/RetryOptions.Builder.html#setInitialInterval-java.time.Duration-). > Note that sometimes it's also referred as RetryPolicy @@ -30,7 +30,7 @@ This value is the cap of the interval. Default is 100x of initial interval. ### ExpirationInterval Maximum time to retry. Either ExpirationInterval or MaximumAttempts is required. When exceeded the retries stop even if maximum retries is not reached yet. -First (non-retry) attempt is unaffected by this field and is guaranteed to run +First (non-retry) attempt is unaffected by this field and is guaranteed to run for the entirety of the workflow timeout duration (ExecutionStartToCloseTimeoutSeconds). ### MaximumAttempts @@ -52,7 +52,7 @@ It's probably too complicated to learn how to set those timeouts by reading the **Regular Activity without retry**: 1. Use ScheduleToClose for overall timeout 2. Leave ScheduleToStart and StartToClose empty -3. If ScheduleToClose is too large(like 10 mins), then set Heartbeat timeout to a smaller value like 10s. Call heartbeat API inside activity regularly. +3. If ScheduleToClose is too large(like 10 mins), then set Heartbeat timeout to a smaller value like 10s. Call heartbeat API inside activity regularly. **LocalActivity with retry**: @@ -65,7 +65,7 @@ It's probably too complicated to learn how to set those timeouts by reading the **Regular Activity with retry**: 1. Use ScheduleToClose as timeout of each attempt 2. Leave ScheduleToStart and StartToClose empty -3. If ScheduleToClose is too large(like 10 mins), then set Heartbeat timeout to a smaller value like 10s. Call heartbeat API inside activity regularly. +3. If ScheduleToClose is too large(like 10 mins), then set Heartbeat timeout to a smaller value like 10s. Call heartbeat API inside activity regularly. 4. Use retryOptions.InitialInterval, retryOptions.BackoffCoefficient, retryOptions.MaximumInterval to control backoff. 5. Use retryOptions.ExperiationInterval as overall timeout of all attempts. 6. Leave retryOptions.MaximumAttempts empty. @@ -84,7 +84,7 @@ StartToClose to workflow. * **Requirement and defaults:** - * Either ScheduleToClose is provided or both of ScheduleToStart and StartToClose are provided. + * Either ScheduleToClose is provided or both of ScheduleToStart and StartToClose are provided. * If only ScheduleToClose, then ScheduleToStart and StartToClose are default to it. * If only ScheduleToStart and StartToClose are provided, then `ScheduleToClose = ScheduleToStart + StartToClose`. * All of them are capped by workflowTimeout. (e.g. if workflowTimeout is 1hour, set 2 hour for ScheduleToClose will still get 1 hour :`ScheduleToClose=Min(ScheduleToClose, workflowTimeout)` ) diff --git a/docs/04-java-client/13-child-workflows.md b/src/docs/04-java-client/13-child-workflows.md similarity index 100% rename from docs/04-java-client/13-child-workflows.md rename to src/docs/04-java-client/13-child-workflows.md diff --git a/docs/04-java-client/14-exception-handling.md b/src/docs/04-java-client/14-exception-handling.md similarity index 97% rename from docs/04-java-client/14-exception-handling.md rename to src/docs/04-java-client/14-exception-handling.md index dc8d75249..fa172df46 100644 --- a/docs/04-java-client/14-exception-handling.md +++ b/src/docs/04-java-client/14-exception-handling.md @@ -13,10 +13,10 @@ Exceptions thrown by a child workflow are received by a parent workflow wrapped Exceptions thrown by a workflow are received by a workflow client wrapped into `com.uber.cadence.client.WorkflowFailureException`. - In this [example](https://github.com/cadence-workflow/cadence-java-samples/blob/master/src/main/java/com/uber/cadence/samples/hello/HelloException.java) a Workflow Client executes a workflow which executes a child workflow which + In this [example](https://github.com/uber/cadence-java-samples/blob/master/src/main/java/com/uber/cadence/samples/hello/HelloException.java) a Workflow Client executes a workflow which executes a child workflow which executes an activity which throws an IOException. The resulting exception stack trace is: -```log +``` com.uber.cadence.client.WorkflowFailureException: WorkflowType="GreetingWorkflow::getGreeting", WorkflowID="38b9ce7a-e370-4cd8-a9f3-35e7295f7b3d", RunID="37ceb58c-9271-4fca-b5aa-ba06c5495214 at com.uber.cadence.internal.dispatcher.UntypedWorkflowStubImpl.getResult(UntypedWorkflowStubImpl.java:139) at com.uber.cadence.internal.dispatcher.UntypedWorkflowStubImpl.getResult(UntypedWorkflowStubImpl.java:111) @@ -151,7 +151,7 @@ public class HelloException { } System.exit(0); } - + } ``` diff --git a/docs/04-java-client/15-continue-as-new.md b/src/docs/04-java-client/15-continue-as-new.md similarity index 89% rename from docs/04-java-client/15-continue-as-new.md rename to src/docs/04-java-client/15-continue-as-new.md index 8a1f21e19..6887150f6 100644 --- a/docs/04-java-client/15-continue-as-new.md +++ b/src/docs/04-java-client/15-continue-as-new.md @@ -11,7 +11,7 @@ a sleep where the entire logic of the :workflow: is inside the body of the **for with this approach is that the history for that :workflow: will keep growing to a point where it reaches the maximum size enforced by the service. -[**ContinueAsNew**](https://www.javadoc.io/static/com.uber.cadence/cadence-client/2.7.9-alpha/com/cadence-workflow/cadence/workflow/Workflow.html#continueAsNew-java.lang.Object...-) +[**ContinueAsNew**](https://www.javadoc.io/static/com.uber.cadence/cadence-client/2.7.9-alpha/com/uber/cadence/workflow/Workflow.html#continueAsNew-java.lang.Object...-) is the low level construct that enables implementing such :workflow:workflows: without the risk of failures down the road. The operation atomically completes the current execution and starts a new execution of the :workflow: with the same **:workflow_ID:**. The new execution will not carry diff --git a/docs/04-java-client/16-side-effect.md b/src/docs/04-java-client/16-side-effect.md similarity index 100% rename from docs/04-java-client/16-side-effect.md rename to src/docs/04-java-client/16-side-effect.md diff --git a/docs/04-java-client/17-testing.md b/src/docs/04-java-client/17-testing.md similarity index 85% rename from docs/04-java-client/17-testing.md rename to src/docs/04-java-client/17-testing.md index 7aa9ce22a..32d3427b8 100644 --- a/docs/04-java-client/17-testing.md +++ b/src/docs/04-java-client/17-testing.md @@ -6,9 +6,9 @@ permalink: /docs/java-client/testing # Activity Test Environment -[TestActivityEnvironment](https://www.javadoc.io/static/com.uber.cadence/cadence-client/2.7.9-alpha/com/cadence-workflow/cadence/testing/TestActivityEnvironment.html) is the helper class for unit testing activity implementations. Supports calls to Activity methods from the tested activities. An example test: +[TestActivityEnvironment](https://www.javadoc.io/static/com.uber.cadence/cadence-client/2.7.9-alpha/com/uber/cadence/testing/TestActivityEnvironment.html) is the helper class for unit testing activity implementations. Supports calls to Activity methods from the tested activities. An example test: -[See full example here.](https://github.com/cadence-workflow/cadence-java-samples/blob/master/src/test/java/com/uber/cadence/samples/hello/HelloActivityTest.java) +[See full example here.](https://github.com/uber/cadence-java-samples/blob/master/src/test/java/com/uber/cadence/samples/hello/HelloActivityTest.java) ```java @@ -36,9 +36,9 @@ permalink: /docs/java-client/testing ## Workflow Test Environment TestWorkflowEnvironment provides workflow unit testing capabilities. -Testing the workflow code is hard as it might be potentially very long running. The included in-memory implementation of the Cadence service supports an automatic time skipping. Anytime a workflow under the test as well as the unit test code are waiting on a timer (or sleep) the internal service time is automatically advanced to the nearest time that unblocks one of the waiting threads. This way a workflow that runs in production for months is unit tested in milliseconds. Here is an example of a test that executes in a few milliseconds instead of over two hours that are needed for the workflow to complete. +Testing the workflow code is hard as it might be potentially very long running. The included in-memory implementation of the Cadence service supports an automatic time skipping. Anytime a workflow under the test as well as the unit test code are waiting on a timer (or sleep) the internal service time is automatically advanced to the nearest time that unblocks one of the waiting threads. This way a workflow that runs in production for months is unit tested in milliseconds. Here is an example of a test that executes in a few milliseconds instead of over two hours that are needed for the workflow to complete. -[See full example here. ](https://github.com/cadence-workflow/cadence-java-samples/blob/master/src/test/java/com/uber/cadence/samples/hello/HelloSignalTest.java#L76) +[See full example here. ](https://github.com/uber/cadence-java-samples/blob/master/src/test/java/com/uber/cadence/samples/hello/HelloSignalTest.java#L76) ```java public class SignaledWorkflowImpl implements SignaledWorkflow { diff --git a/docs/04-java-client/18-workflow-replay-shadowing.md b/src/docs/04-java-client/18-workflow-replay-shadowing.md similarity index 89% rename from docs/04-java-client/18-workflow-replay-shadowing.md rename to src/docs/04-java-client/18-workflow-replay-shadowing.md index 6eed9c901..fdb07ee10 100644 --- a/docs/04-java-client/18-workflow-replay-shadowing.md +++ b/src/docs/04-java-client/18-workflow-replay-shadowing.md @@ -10,7 +10,7 @@ In the Versioning section, we mentioned that incompatible changes to workflow de ## Workflow Replayer -Workflow Replayer is a testing component for replaying existing workflow histories against a workflow definition. The replaying logic is the same as the one used for processing workflow tasks, so if there's any incompatible changes in the workflow definition, the replay test will fail. +Workflow Replayer is a testing component for replaying existing workflow histories against a workflow definition. The replaying logic is the same as the one used for processing workflow tasks, so if there's any incompatible changes in the workflow definition, the replay test will fail. ### Write a Replay Test @@ -22,7 +22,7 @@ Replayer can read workflow history from a local json file or fetch it directly f cadence --do workflow show --wid --rid --of ``` -The dumped workflow history will be stored in the file at the path you specified in json format. +The dumped workflow history will be stored in the file at the path you specified in json format. #### Step 2: Call the replay method @@ -45,7 +45,7 @@ If an exception is returned from the replay method, it means there's a incompati ### Sample Replay Test -This sample is also available in our samples repo at [here](https://github.com/cadence-workflow/cadence-java-samples/blob/master/src/test/java/com/uber/cadence/samples/hello/HelloActivityReplayTest.java). +This sample is also available in our samples repo at [here](https://github.com/uber/cadence-java-samples/blob/master/src/test/java/com/uber/cadence/samples/hello/HelloActivityReplayTest.java). ```java public class HelloActivityReplayTest { @@ -61,17 +61,17 @@ public class HelloActivityReplayTest { Workflow Replayer works well when verifying the compatibility against a small number of workflows histories. If there are lots of workflows in production that need to be verified, dumping all histories manually clearly won't work. Directly fetching histories from cadence server might be a solution, but the time to replay all workflow histories might be too long for a test. -Workflow Shadower is built on top of Workflow Replayer to address this problem. The basic idea of shadowing is: scan workflows based on the filters you defined, fetch history for each workflow in the scan result from Cadence server and run the replay test. It can be run either as a test to serve local development purpose or as a workflow in your worker to continuously replay production workflows. +Workflow Shadower is built on top of Workflow Replayer to address this problem. The basic idea of shadowing is: scan workflows based on the filters you defined, fetch history for each workflow in the scan result from Cadence server and run the replay test. It can be run either as a test to serve local development purpose or as a workflow in your worker to continuously replay production workflows. ### Shadow Options -Complete documentation on shadow options which includes default values, accepted values, etc. can be found [here](https://github.com/cadence-workflow/cadence-java-client/blob/master/src/main/java/com/uber/cadence/worker/ShadowingOptions.java). The following sections are just a brief description of each option. +Complete documentation on shadow options which includes default values, accepted values, etc. can be found [here](https://github.com/uber/cadence-java-client/blob/master/src/main/java/com/uber/cadence/worker/ShadowingOptions.java). The following sections are just a brief description of each option. #### Scan Filters - WorkflowQuery: If you are familiar with our advanced visibility query syntax, you can specify a query directly. If specified, all other scan filters must be left empty. - WorkflowTypes: A list of workflow Type names. -- WorkflowStatuses: A list of workflow status. +- WorkflowStatuses: A list of workflow status. - WorkflowStartTimeFilter: Min and max timestamp for workflow start time. - WorkflowSamplingRate: Sampling workflows from the scan result before executing the replay test. @@ -91,9 +91,9 @@ Complete documentation on shadow options which includes default values, accepted ### Local Shadowing Test -Local shadowing test is similar to the replay test. First create a workflow shadower with optional shadow and replay options, then register the workflow that needs to be shadowed. Finally, call the `Run` method to start the shadowing. The method will return if shadowing has finished or any non-deterministic error is found. +Local shadowing test is similar to the replay test. First create a workflow shadower with optional shadow and replay options, then register the workflow that needs to be shadowed. Finally, call the `Run` method to start the shadowing. The method will return if shadowing has finished or any non-deterministic error is found. -Here's a simple example. The example is also available [here](https://github.com/cadence-workflow/cadence-java-samples/blob/master/src/test/java/com/uber/cadence/samples/hello/HelloWorkflowShadowingTest.java). +Here's a simple example. The example is also available [here](https://github.com/uber/cadence-java-samples/blob/master/src/test/java/com/uber/cadence/samples/hello/HelloWorkflowShadowingTest.java). ```java public void testShadowing() throws Throwable { @@ -116,19 +116,19 @@ public void testShadowing() throws Throwable { ### Shadowing Worker -NOTE: +NOTE: - **All shadow workflows are running in one Cadence system domain, and right now, every user domain can only have one shadow workflow at a time.** - **The Cadence server used for scanning and getting workflow history will also be the Cadence server for running your shadow workflow.** Currently, there's no way to specify different Cadence servers for hosting the shadowing workflow and scanning/fetching workflow. Your worker can also be configured to run in shadow mode to run shadow tests as a workflow. This is useful if there's a number of workflows that need to be replayed. Using a workflow can make sure the shadowing won't accidentally fail in the middle and the replay load can be distributed by deploying more shadow mode workers. It can also be incorporated into your deployment process to make sure there's no failed replay checks before deploying your change to production workers. -When running in shadow mode, the normal decision worker will be disabled so that it won't update any production workflows. A special shadow activity worker will be started to execute activities for scanning and replaying workflows. The actual shadow workflow logic is controlled by Cadence server and your worker is only responsible for scanning and replaying workflows. +When running in shadow mode, the normal decision worker will be disabled so that it won't update any production workflows. A special shadow activity worker will be started to execute activities for scanning and replaying workflows. The actual shadow workflow logic is controlled by Cadence server and your worker is only responsible for scanning and replaying workflows. -[Replay succeed, skipped and failed metrics](https://github.com/cadence-workflow/cadence-java-client/blob/master/src/main/java/com/uber/cadence/internal/metrics/MetricsType.java#L169-L172) will be emitted by your worker when executing the shadow workflow and you can monitor those metrics to see if there's any incompatible changes. +[Replay succeed, skipped and failed metrics](https://github.com/uber/cadence-java-client/blob/master/src/main/java/com/uber/cadence/internal/metrics/MetricsType.java#L169-L172) will be emitted by your worker when executing the shadow workflow and you can monitor those metrics to see if there's any incompatible changes. To enable the shadow mode, you can initialize a shadowing worker and pass in the shadowing options. -To enable the shadowing worker, here is a example. The example is also available [here](https://github.com/cadence-workflow/cadence-java-samples/blob/master/src/main/java/com/uber/cadence/samples/shadowing/ShadowTraffic.java): +To enable the shadowing worker, here is a example. The example is also available [here](https://github.com/uber/cadence-java-samples/blob/master/src/main/java/com/uber/cadence/samples/shadowing/ShadowTraffic.java): ```java WorkflowClient workflowClient = diff --git a/docs/04-java-client/index.md b/src/docs/04-java-client/index.md similarity index 66% rename from docs/04-java-client/index.md rename to src/docs/04-java-client/index.md index 86009a8f7..f4999ea42 100644 --- a/docs/04-java-client/index.md +++ b/src/docs/04-java-client/index.md @@ -4,41 +4,36 @@ title: Introduction permalink: /docs/java-client --- -# Java client ![Java Client Release](https://img.shields.io/github/v/release/cadence-workflow/cadence-java-client?sort=semver&display_name=tag&label=Latest%20Release&link=https%3A%2F%2Fgithub.com%2Fuber%2Fcadence-java-client%2Freleases%2Flatest) +# Java client ![Java Client Release](https://img.shields.io/github/v/release/uber/cadence-java-client?sort=semver&display_name=tag&label=Latest%20Release&link=https%3A%2F%2Fgithub.com%2Fuber%2Fcadence-java-client%2Freleases%2Flatest) The following are important links for the Cadence Java client: -- GitHub project: [https://github.com/cadence-workflow/cadence-java-client](https://github.com/cadence-workflow/cadence-java-client) -- Samples: [https://github.com/cadence-workflow/cadence-java-samples](https://github.com/cadence-workflow/cadence-java-samples) +- GitHub project: [https://github.com/uber/cadence-java-client](https://github.com/uber/cadence-java-client) +- Samples: [https://github.com/uber/cadence-java-samples](https://github.com/uber/cadence-java-samples) - JavaDoc documentation: [https://www.javadoc.io/doc/com.uber.cadence/cadence-client](https://www.javadoc.io/doc/com.uber.cadence/cadence-client) Add *cadence-client* as a dependency to your *pom.xml*: -```xml com.uber.cadence cadence-client LATEST.RELEASE.VERSION -``` or to *build.gradle*: -```gradle dependencies { implementation group: 'com.uber.cadence', name: 'cadence-client', version: 'LATEST.RELEASE.VERSION' } -``` + If you are using [gradle 6.9 or older](https://docs.gradle.org/current/userguide/upgrading_version_6.html#sec:configuration_removal), you can use `compile group` -```gradle dependencies { compile group: 'com.uber.cadence', name: 'cadence-client', version: 'LATEST.RELEASE.VERSION' } -``` -Release versions are available in the [release page](https://github.com/cadence-workflow/cadence-java-client/releases) +Release versions are available in the [release page](https://github.com/uber/cadence-java-client/releases) diff --git a/docs/05-go-client/01-workers.md b/src/docs/05-go-client/01-workers.md similarity index 97% rename from docs/05-go-client/01-workers.md rename to src/docs/05-go-client/01-workers.md index 3da8d142a..3c8c38b1d 100644 --- a/docs/05-go-client/01-workers.md +++ b/src/docs/05-go-client/01-workers.md @@ -103,7 +103,7 @@ import ( "go.uber.org/cadence/compatibility" "go.uber.org/cadence/worker" - apiv1 "github.com/cadence-workflow/cadence-idl/go/proto/api/v1" + apiv1 "github.com/uber/cadence-idl/go/proto/api/v1" "github.com/uber-go/tally" "go.uber.org/zap" "go.uber.org/zap/zapcore" @@ -153,7 +153,7 @@ import ( "go.uber.org/cadence/compatibility" "go.uber.org/cadence/worker" - apiv1 "github.com/cadence-workflow/cadence-idl/go/proto/api/v1" + apiv1 "github.com/uber/cadence-idl/go/proto/api/v1" "github.com/uber-go/tally" "go.uber.org/zap" "go.uber.org/zap/zapcore" @@ -176,29 +176,29 @@ import ( func buildCadenceClient() workflowserviceclient.Interface { grpcTransport := grpc.NewTransport() var dialOptions []grpc.DialOption - + caCert, err := ioutil.ReadFile("/path/to/cert/file") if err != nil { fmt.Printf("Failed to load server CA certificate: %v", zap.Error(err)) } - + caCertPool := x509.NewCertPool() if !caCertPool.AppendCertsFromPEM(caCert) { fmt.Errorf("Failed to add server CA's certificate") } - + tlsConfig := tls.Config{ RootCAs: caCertPool, } - + creds := credentials.NewTLS(&tlsConfig) dialOptions = append(dialOptions, grpc.DialerCredentials(creds)) - + dialer := grpcTransport.NewDialer(dialOptions...) outbound := grpcTransport.NewOutbound( peer.NewSingle(hostport.PeerIdentifier(HostPort), dialer) ) - + dispatcher := yarpc.NewDispatcher(yarpc.Config{ Name: ClientName, Outbounds: yarpc.Outbounds{ @@ -208,9 +208,9 @@ func buildCadenceClient() workflowserviceclient.Interface { if err := dispatcher.Start(); err != nil { panic("Failed to start dispatcher") } - + clientConfig := dispatcher.ClientConfig(CadenceService) - + return compatibility.NewThrift2ProtoAdapter( apiv1.NewDomainAPIYARPCClient(clientConfig), apiv1.NewWorkflowAPIYARPCClient(clientConfig), diff --git a/docs/05-go-client/02-create-workflows.md b/src/docs/05-go-client/02-create-workflows.md similarity index 100% rename from docs/05-go-client/02-create-workflows.md rename to src/docs/05-go-client/02-create-workflows.md diff --git a/docs/05-go-client/02.5-starting-workflows.md b/src/docs/05-go-client/02.5-starting-workflows.md similarity index 100% rename from docs/05-go-client/02.5-starting-workflows.md rename to src/docs/05-go-client/02.5-starting-workflows.md diff --git a/docs/05-go-client/03-activities.md b/src/docs/05-go-client/03-activities.md similarity index 98% rename from docs/05-go-client/03-activities.md rename to src/docs/05-go-client/03-activities.md index 84830ad63..56fa030e5 100644 --- a/docs/05-go-client/03-activities.md +++ b/src/docs/05-go-client/03-activities.md @@ -86,7 +86,7 @@ When an :activity: times out due to a missed heartbeat, the last value of the de above sample) is returned from the `cadence.ExecuteActivity` function as the details field of `TimeoutError` with `TimeoutType_HEARTBEAT`. -New **auto heartbeat** option in [Cadence Go Client 0.17.0 release](https://github.com/cadence-workflow/cadence-go-client/releases/tag/v0.17.0): +New **auto heartbeat** option in [Cadence Go Client 0.17.0 release](https://github.com/uber-go/cadence-client/releases/tag/v0.17.0): In case you don't need to report progress, but still want to report liveness of your worker through heartbeating for your long running activities, there's a new auto-heartbeat option that you can enable when you register your activity. When this option is enabled Cadence library will do the heartbeat for you in the background. ```go diff --git a/docs/05-go-client/04-execute-activity.md b/src/docs/05-go-client/04-execute-activity.md similarity index 100% rename from docs/05-go-client/04-execute-activity.md rename to src/docs/05-go-client/04-execute-activity.md diff --git a/docs/05-go-client/05-child-workflows.md b/src/docs/05-go-client/05-child-workflows.md similarity index 100% rename from docs/05-go-client/05-child-workflows.md rename to src/docs/05-go-client/05-child-workflows.md diff --git a/docs/05-go-client/06-retries.md b/src/docs/05-go-client/06-retries.md similarity index 100% rename from docs/05-go-client/06-retries.md rename to src/docs/05-go-client/06-retries.md diff --git a/docs/05-go-client/07-error-handling.md b/src/docs/05-go-client/07-error-handling.md similarity index 100% rename from docs/05-go-client/07-error-handling.md rename to src/docs/05-go-client/07-error-handling.md diff --git a/docs/05-go-client/08-signals.md b/src/docs/05-go-client/08-signals.md similarity index 100% rename from docs/05-go-client/08-signals.md rename to src/docs/05-go-client/08-signals.md diff --git a/docs/05-go-client/09-continue-as-new.md b/src/docs/05-go-client/09-continue-as-new.md similarity index 100% rename from docs/05-go-client/09-continue-as-new.md rename to src/docs/05-go-client/09-continue-as-new.md diff --git a/docs/05-go-client/10-side-effect.md b/src/docs/05-go-client/10-side-effect.md similarity index 100% rename from docs/05-go-client/10-side-effect.md rename to src/docs/05-go-client/10-side-effect.md diff --git a/docs/05-go-client/11-queries.md b/src/docs/05-go-client/11-queries.md similarity index 100% rename from docs/05-go-client/11-queries.md rename to src/docs/05-go-client/11-queries.md diff --git a/docs/05-go-client/12-activity-async-completion.md b/src/docs/05-go-client/12-activity-async-completion.md similarity index 100% rename from docs/05-go-client/12-activity-async-completion.md rename to src/docs/05-go-client/12-activity-async-completion.md diff --git a/docs/05-go-client/13-workflow-testing.md b/src/docs/05-go-client/13-workflow-testing.md similarity index 100% rename from docs/05-go-client/13-workflow-testing.md rename to src/docs/05-go-client/13-workflow-testing.md diff --git a/docs/05-go-client/14-workflow-versioning.md b/src/docs/05-go-client/14-workflow-versioning.md similarity index 100% rename from docs/05-go-client/14-workflow-versioning.md rename to src/docs/05-go-client/14-workflow-versioning.md diff --git a/docs/05-go-client/15-sessions.md b/src/docs/05-go-client/15-sessions.md similarity index 96% rename from docs/05-go-client/15-sessions.md rename to src/docs/05-go-client/15-sessions.md index 14208eb31..c847bf502 100644 --- a/docs/05-go-client/15-sessions.md +++ b/src/docs/05-go-client/15-sessions.md @@ -124,7 +124,7 @@ token := workflow.GetSessionInfo(sessionCtx).GetRecreateToken() ## Q & A ### Is there a complete example? -Yes, the [file processing example](https://github.com/cadence-workflow/cadence-samples/blob/master/cmd/samples/fileprocessing/workflow.go) in the cadence-sample repo has been updated to use the session framework. +Yes, the [file processing example](https://github.com/uber-common/cadence-samples/blob/master/cmd/samples/fileprocessing/workflow.go) in the cadence-sample repo has been updated to use the session framework. ### What happens to my activity if the worker dies? If your :activity: has already been scheduled, it will be cancelled. If not, you will get a `workflow.ErrSessionFailed` error when you call `workflow.ExecuteActivity()`. @@ -135,8 +135,8 @@ It's per :worker: process, so make sure there's only one :worker: process runnin ## Future Work -* **[Support automatic session re-establishing](https://github.com/cadence-workflow/cadence-go-client/issues/775)** +* **[Support automatic session re-establishing](https://github.com/uber-go/cadence-client/issues/775)** Right now a session is considered failed if the :worker: process dies. However, for some use cases, you may only care whether :worker: host is alive or not. For these uses cases, the session should be automatically re-established if the :worker: process is restarted. -* **[Support fine-grained concurrent session limitation](https://github.com/cadence-workflow/cadence-go-client/issues/776)** +* **[Support fine-grained concurrent session limitation](https://github.com/uber-go/cadence-client/issues/776)** The current implementation assumes that all sessions are consuming the same type of resource and there's only one global limitation. Our plan is to allow you to specify what type of resource your session will consume and enforce different limitations on different types of resources. diff --git a/docs/05-go-client/16-distributed-cron.md b/src/docs/05-go-client/16-distributed-cron.md similarity index 100% rename from docs/05-go-client/16-distributed-cron.md rename to src/docs/05-go-client/16-distributed-cron.md diff --git a/docs/05-go-client/17-tracing.md b/src/docs/05-go-client/17-tracing.md similarity index 89% rename from docs/05-go-client/17-tracing.md rename to src/docs/05-go-client/17-tracing.md index a4175cffd..68f4fcfb5 100644 --- a/docs/05-go-client/17-tracing.md +++ b/src/docs/05-go-client/17-tracing.md @@ -26,7 +26,7 @@ We provide a standard way to propagate custom context across a :workflow:. allow configuring a context propagator. The context propagator extracts and passes on information present in the `context.Context` and `workflow.Context` objects across the :workflow:. Once a context propagator is configured, you should be able to access the required values in the context objects as you would normally do in Go. -For a sample, the Go client implements a [tracing context propagator](https://github.com/cadence-workflow/cadence-go-client/blob/master/internal/tracer.go). +For a sample, the Go client implements a [tracing context propagator](https://github.com/uber-go/cadence-client/blob/master/internal/tracer.go). ### Server-Side Headers Support @@ -41,7 +41,7 @@ struct Header { The client leverages this to pass around selected context information. [HeaderReader](https://godoc.org/go.uber.org/cadence/internal#HeaderReader) and [HeaderWriter](https://godoc.org/go.uber.org/cadence/internal#HeaderWriter) are interfaces -that allow reading and writing to the Cadence server headers. The client already provides [implementations](https://github.com/cadence-workflow/cadence-go-client/blob/master/internal/headers.go) +that allow reading and writing to the Cadence server headers. The client already provides [implementations](https://github.com/uber-go/cadence-client/blob/master/internal/headers.go) for these. `HeaderWriter` sets a field in the header. Headers is a map, so setting a value for the the same key multiple times will overwrite the previous values. `HeaderReader` iterates through the headers map and runs the provided handler function on each key/value pair, allowing you to deal with the fields you are interested in. @@ -66,7 +66,7 @@ headers using the [HeaderWriter](https://godoc.org/go.uber.org/cadence/internal# - `Extract` reads the headers and places the information of interest back into the [context.Context](https://golang.org/pkg/context/#Context) object - `ExtractToWorkflow` is the same as above, but operates on a [workflow.Context](https://godoc.org/go.uber.org/cadence/internal#Context) object -The [tracing context propagator](https://github.com/cadence-workflow/cadence-go-client/blob/master/internal/tracer.go) +The [tracing context propagator](https://github.com/uber-go/cadence-client/blob/master/internal/tracer.go) shows a sample implementation of context propagation. ```go @@ -85,7 +85,7 @@ type ContextPropagator interface { ### Is there a complete example? -The [context propagation sample](https://github.com/cadence-workflow/cadence-samples/blob/master/cmd/samples/recipes/ctxpropagation/workflow.go) +The [context propagation sample](https://github.com/uber-common/cadence-samples/blob/master/cmd/samples/recipes/ctxpropagation/workflow.go) configures a custom context propagator and shows context propagation of custom keys across a :workflow: and an :activity:. ### Can I configure multiple context propagators? diff --git a/docs/05-go-client/18-workflow-replay-shadowing.md b/src/docs/05-go-client/18-workflow-replay-shadowing.md similarity index 91% rename from docs/05-go-client/18-workflow-replay-shadowing.md rename to src/docs/05-go-client/18-workflow-replay-shadowing.md index 6cc672c7a..1ec1c3bc5 100644 --- a/docs/05-go-client/18-workflow-replay-shadowing.md +++ b/src/docs/05-go-client/18-workflow-replay-shadowing.md @@ -10,7 +10,7 @@ In the Versioning section, we mentioned that incompatible changes to workflow de ## Workflow Replayer -Workflow Replayer is a testing component for replaying existing workflow histories against a workflow definition. The replaying logic is the same as the one used for processing workflow tasks, so if there's any incompatible changes in the workflow definition, the replay test will fail. +Workflow Replayer is a testing component for replaying existing workflow histories against a workflow definition. The replaying logic is the same as the one used for processing workflow tasks, so if there's any incompatible changes in the workflow definition, the replay test will fail. ### Write a Replay Test @@ -52,11 +52,11 @@ replayer.RegisterWorkflow(myWorkflowFunc2, workflow.RegisterOptions{ Replayer can read workflow history from a local json file or fetch it directly from the Cadence server. If you would like to use the first method, you can use the following CLI command, otherwise you can skip to the next step. -```bash +``` cadence --do workflow show --wid --rid --of ``` -The dumped workflow history will be stored in the file at the path you specified in json format. +The dumped workflow history will be stored in the file at the path you specified in json format. #### Step 4: Call the replay method @@ -87,7 +87,7 @@ Note: currently an error will be returned if there are less than 3 events in the ### Sample Replay Test -This sample is also available in our samples repo at [here](https://github.com/cadence-workflow/cadence-samples/blob/master/cmd/samples/recipes/helloworld/replay_test.go#L39). +This sample is also available in our samples repo at [here](https://github.com/uber-common/cadence-samples/blob/master/cmd/samples/recipes/helloworld/replay_test.go#L39). ```go func TestReplayWorkflowHistoryFromFile(t *testing.T) { @@ -102,17 +102,17 @@ func TestReplayWorkflowHistoryFromFile(t *testing.T) { Workflow Replayer works well when verifying the compatibility against a small number of workflow histories. If there are lots of workflows in production need to be verified, dumping all histories manually clearly won't work. Directly fetching histories from cadence server might be a solution, but the time to replay all workflow histories might be too long for a test. -Workflow Shadower is built on top of Workflow Replayer to address this problem. The basic idea of shadowing is: scan workflows based on the filters you defined, fetch history for each of workflow in the scan result from Cadence server and run the replay test. It can be run either as a test to serve local development purpose or as a workflow in your worker to continuously replay production workflows. +Workflow Shadower is built on top of Workflow Replayer to address this problem. The basic idea of shadowing is: scan workflows based on the filters you defined, fetch history for each of workflow in the scan result from Cadence server and run the replay test. It can be run either as a test to serve local development purpose or as a workflow in your worker to continuously replay production workflows. ### Shadow Options -Complete documentation on shadow options which includes default values, accepted values, etc. can be found [here](https://github.com/cadence-workflow/cadence-go-client/blob/master/internal/workflow_shadower.go#L53). The following sections are just a brief description of each option. +Complete documentation on shadow options which includes default values, accepted values, etc. can be found [here](https://github.com/uber-go/cadence-client/blob/master/internal/workflow_shadower.go#L53). The following sections are just a brief description of each option. #### Scan Filters - WorkflowQuery: If you are familiar with our advanced visibility query syntax, you can specify a query directly. If specified, all other scan filters must be left empty. - WorkflowTypes: A list of workflow Type names. -- WorkflowStatus: A list of workflow status. +- WorkflowStatus: A list of workflow status. - WorkflowStartTimeFilter: Min and max timestamp for workflow start time. - SamplingRate: Sampling workflows from the scan result before executing the replay test. @@ -132,9 +132,9 @@ Complete documentation on shadow options which includes default values, accepted ### Local Shadowing Test -Local shadowing test is similar to the replay test. First create a workflow shadower with optional shadow and replay options, then register the workflow that need to be shadowed. Finally, call the `Run` method to start the shadowing. The method will return if shadowing has finished or any non-deterministic error is found. +Local shadowing test is similar to the replay test. First create a workflow shadower with optional shadow and replay options, then register the workflow that need to be shadowed. Finally, call the `Run` method to start the shadowing. The method will return if shadowing has finished or any non-deterministic error is found. -Here's a simple example. The example is also available [here](https://github.com/cadence-workflow/cadence-samples/blob/master/cmd/samples/recipes/helloworld/shadow_test.go). +Here's a simple example. The example is also available [here](https://github.com/uber-common/cadence-samples/blob/master/cmd/samples/recipes/helloworld/shadow_test.go). ```go func TestShadowWorkflow(t *testing.T) { @@ -159,18 +159,18 @@ func TestShadowWorkflow(t *testing.T) { ### Shadowing Worker -NOTE: +NOTE: - **All shadow workflows are running in one Cadence system domain, and right now, every user domain can only have one shadow workflow at a time.** - **The Cadence server used for scanning and getting workflow history will also be the Cadence server for running your shadow workflow.** Currently, there's no way to specify different Cadence servers for hosting the shadowing workflow and scanning/fetching workflow. Your worker can also be configured to run in shadow mode to run shadow tests as a workflow. This is useful if there's a number of workflows need to be replayed. Using a workflow can make sure the shadowing won't accidentally fail in the middle and the replay load can be distributed by deploying more shadow mode workers. It can also be incorporated into your deployment process to make sure there's no failed replay checks before deploying your change to production workers. -When running in shadow mode, the normal decision, activity and session worker will be disabled so that it won't update any production workflows. A special shadow activity worker will be started to execute activities for scanning and replaying workflows. The actual shadow workflow logic is controlled by Cadence server and your worker is only responsible for scanning and replaying workflows. +When running in shadow mode, the normal decision, activity and session worker will be disabled so that it won't update any production workflows. A special shadow activity worker will be started to execute activities for scanning and replaying workflows. The actual shadow workflow logic is controlled by Cadence server and your worker is only responsible for scanning and replaying workflows. -[Replay succeed, skipped and failed metrics](https://github.com/cadence-workflow/cadence-go-client/blob/master/internal/common/metrics/constants.go#L105) will be emitted by your worker when executing the shadow workflow and you can monitor those metrics to see if there's any incompatible changes. +[Replay succeed, skipped and failed metrics](https://github.com/uber-go/cadence-client/blob/master/internal/common/metrics/constants.go#L105) will be emitted by your worker when executing the shadow workflow and you can monitor those metrics to see if there's any incompatible changes. -To enable the shadow mode, the only change needed is setting the `EnableShadowWorker` field in `worker.Options` to `true`, and then specify the `ShadowOptions`. +To enable the shadow mode, the only change needed is setting the `EnableShadowWorker` field in `worker.Options` to `true`, and then specify the `ShadowOptions`. Registered workflows will be forwarded to the underlying WorkflowReplayer. DataConverter, WorkflowInterceptorChainFactories, ContextPropagators, and Tracer specified in the `worker.Options` will also be used as ReplayOptions. Since all shadow workflows are running in one system domain, to avoid conflict, **the actual task list name used will be `domain-tasklist`.** -A sample setup can be found [here](https://github.com/cadence-workflow/cadence-samples/blob/master/cmd/samples/recipes/helloworld/main.go#L24). +A sample setup can be found [here](https://github.com/uber-common/cadence-samples/blob/master/cmd/samples/recipes/helloworld/main.go#L24). diff --git a/docs/05-go-client/19-workflow-non-deterministic-error.md b/src/docs/05-go-client/19-workflow-non-deterministic-error.md similarity index 93% rename from docs/05-go-client/19-workflow-non-deterministic-error.md rename to src/docs/05-go-client/19-workflow-non-deterministic-error.md index 9a0b44f3a..276e712e1 100644 --- a/docs/05-go-client/19-workflow-non-deterministic-error.md +++ b/src/docs/05-go-client/19-workflow-non-deterministic-error.md @@ -13,7 +13,7 @@ In production environment, your workflow code will run on a distributed system o Consider the following diagram where `Workflow A` is running on `Host A` but suddenly it crashes. -![change-workflow-ownership](./img/change-workflow-ownership.png) +![change-workflow-ownership](../../shared/img/non-determinsitic-errors-page-visuals/change-workflow-ownership.png) Workflow A then will be picked up by Host B and continues its execution. This process is called change of workflow ownership. However, after Host B gains ownership of the Workflow A, it does not have any information about its historical executions. For example, Workflow A may have executed many activities and it fails. Host B needs to redo all its history until the moment of failure. The process of reconstructing history of a workflow is called history replay. @@ -94,7 +94,7 @@ Programmatically, Cadence surfaces 4 categories of non-deterministic errors. Wit ```go fmt.Errorf("nondeterministic workflow: missing replay decision for %s", util.HistoryEventToString(e)) ``` -For source code click [here](https://github.com/cadence-workflow/cadence-go-client/blob/e5081b085b0333bac23f198e57959681e0aee987/internal/internal_task_handlers.go#L1206) +For source code click [here](https://github.com/uber-go/cadence-client/blob/e5081b085b0333bac23f198e57959681e0aee987/internal/internal_task_handlers.go#L1206) This means after replay code, the decision is scheduled less than history events. Using the previous history as an example, when the workflow is waiting at the one hour timer(event ID 22), if we delete the line of : ```go @@ -106,7 +106,7 @@ and restart worker, then it will run into this error. Because in the history, th ```go fmt.Errorf("nondeterministic workflow: extra replay decision for %s", util.DecisionToString(d)) ``` -For source code click [here](https://github.com/cadence-workflow/cadence-go-client/blob/e5081b085b0333bac23f198e57959681e0aee987/internal/internal_task_handlers.go#L1210) +For source code click [here](https://github.com/uber-go/cadence-client/blob/e5081b085b0333bac23f198e57959681e0aee987/internal/internal_task_handlers.go#L1210) This is basically the opposite of the previous case, which means that during replay, Cadence generates more decisions than those in history events. Using the previous history as an example, when the workflow is waiting at the one hour timer(event ID 22), if we change the line of: ```go @@ -131,7 +131,7 @@ And restart worker, then it will run into this error. Because in the history, th ```go fmt.Errorf("nondeterministic workflow: history event is %s, replay decision is %s",util.HistoryEventToString(e), util.DecisionToString(d)) ``` -For source code click [here](https://github.com/cadence-workflow/cadence-go-client/blob/e5081b085b0333bac23f198e57959681e0aee987/internal/internal_task_handlers.go#L1214) +For source code click [here](https://github.com/uber-go/cadence-client/blob/e5081b085b0333bac23f198e57959681e0aee987/internal/internal_task_handlers.go#L1214) This means after replay code, the decision scheduled is different than the one in history. Using the previous history as an example, when the workflow is waiting at the one hour timer(event ID 22), if we change the line of : @@ -148,7 +148,7 @@ And restart worker, then it will run into this error. Because in the history, th ```go fmt.Sprintf("unknown decision %v, possible causes are nondeterministic workflow definition code"+" or incompatible change in the workflow definition", id) ``` -For source code click [here](https://github.com/cadence-workflow/cadence-go-client/blob/e5081b085b0333bac23f198e57959681e0aee987/internal/internal_decision_state_machine.go#L693) +For source code click [here](https://github.com/uber-go/cadence-client/blob/e5081b085b0333bac23f198e57959681e0aee987/internal/internal_decision_state_machine.go#L693) This usually means workflow history is corrupted due to some bug. For example, the same activity can be scheduled and differentiated by activityID. So ActivityIDs for different activities are supposed to be unique in workflow history. If however we have an ActivityID collision, replay will run into this error. diff --git a/docs/05-go-client/index.md b/src/docs/05-go-client/index.md similarity index 79% rename from docs/05-go-client/index.md rename to src/docs/05-go-client/index.md index 4dd6c2384..953199711 100644 --- a/docs/05-go-client/index.md +++ b/src/docs/05-go-client/index.md @@ -18,6 +18,6 @@ For more information, see [Creating Workflows](/docs/go-client/create-workflows) ## Links -- GitHub project: [https://github.com/cadence-workflow/cadence-go-client](https://github.com/cadence-workflow/cadence-go-client) -- Samples: [https://github.com/cadence-workflow/cadence-samples](https://github.com/cadence-workflow/cadence-samples) +- GitHub project: [https://github.com/uber-go/cadence-client](https://github.com/uber-go/cadence-client) +- Samples: [https://github.com/uber-common/cadence-samples](https://github.com/uber-common/cadence-samples) - GoDoc documentation: [https://godoc.org/go.uber.org/cadence](https://godoc.org/go.uber.org/cadence) diff --git a/docs/06-cli/index.md b/src/docs/06-cli/index.md similarity index 94% rename from docs/06-cli/index.md rename to src/docs/06-cli/index.md index fe1770f7e..6d3a65f71 100644 --- a/docs/06-cli/index.md +++ b/src/docs/06-cli/index.md @@ -13,15 +13,15 @@ The Cadence :CLI: is a command-line tool you can use to perform various :task:ta ## Using the CLI ### Homebrew -```bash +``` brew install cadence-workflow ``` After the installation is done, you can use CLI: -```bash +``` cadence --help ``` -This will always install the latest version. Follow [this instructions](https://github.com/cadence-workflow/cadence/discussions/4457) if you need to install older versions of Cadence CLI. +This will always install the latest version. Follow [this instructions](https://github.com/uber/cadence/discussions/4457) if you need to install older versions of Cadence CLI. ### Docker The Cadence :CLI: can be used directly from the Docker Hub image *ubercadence/cli* or by building the :CLI: tool @@ -36,9 +36,9 @@ docker run -it --rm ubercadence/cli:master --address --domain ```bash docker run -it --rm ubercadence/cli: --address --domain samples-domain domain describe ``` -For example `docker run --rm ubercadence/cli:0.21.3 --domain samples-domain domain describe` will be the CLI that is released as part of the [v0.21.3 release](https://github.com/cadence-workflow/cadence/releases/tag/v0.21.3). -See [docker hub page](https://hub.docker.com/r/ubercadence/cli/tags?page=1&ordering=last_updated) for all the CLI image tags. -Note that CLI versions of 0.20.0 works for all server versions of 0.12 to 0.19 as well. That's because [the CLI version doesn't change in those versions](https://stackoverflow.com/questions/68217385/what-is-clientversionnotsupportederror-and-how-to-resolve-it). +For example `docker run --rm ubercadence/cli:0.21.3 --domain samples-domain domain describe` will be the CLI that is released as part of the [v0.21.3 release](https://github.com/uber/cadence/releases/tag/v0.21.3). +See [docker hub page](https://hub.docker.com/r/ubercadence/cli/tags?page=1&ordering=last_updated) for all the CLI image tags. +Note that CLI versions of 0.20.0 works for all server versions of 0.12 to 0.19 as well. That's because [the CLI version doesn't change in those versions](https://stackoverflow.com/questions/68217385/what-is-clientversionnotsupportederror-and-how-to-resolve-it). NOTE: On Docker versions 18.03 and later, you may get a "connection refused" error when connecting to local server. You can work around this by setting the host to "host.docker.internal" (see [here](https://docs.docker.com/docker-for-mac/networking/#use-cases-and-workarounds) for more info). @@ -49,29 +49,27 @@ docker run -it --rm ubercadence/cli:master --address host.docker.internal:7933 - NOTE: Be sure to update your image when you want to try new features: `docker pull ubercadence/cli:master ` NOTE: If you are running docker-compose Cadence server, you can also logon to the container to execute CLI: -```sh-session -# this logs you onto the Cadence docker container -$ docker exec -it docker_cadence_1 /bin/bash +``` +docker exec -it docker_cadence_1 /bin/bash -# this command runs within the container -% cadence --address $(hostname -i):7933 --do samples domain register +# cadence --address $(hostname -i):7933 --do samples domain register ``` -### Build it yourself -To build the :CLI: tool locally, clone the [Cadence server repo](https://github.com/cadence-workflow/cadence), check out the version tag (e.g. `git checkout v0.21.3`) and run +### Build it yourself +To build the :CLI: tool locally, clone the [Cadence server repo](https://github.com/uber/cadence), check out the version tag (e.g. `git checkout v0.21.3`) and run `make tools`. This produces an executable called `cadence`. With a local build, the same command to describe a :domain: would look like this: ```bash cadence --domain samples-domain domain describe ``` -Alternatively, you can build the CLI image, see [instructions](https://github.com/cadence-workflow/cadence/blob/master/docker/README.md#diy-building-an-image-for-any-tag-or-branch) +Alternatively, you can build the CLI image, see [instructions](docker/README.md#diy-building-an-image-for-any-tag-or-branch) -## Documentation +## Documentation CLI are documented by `--help` or `-h` in ANY tab of all levels: -```sh-session -$ cadence --help +``` +$cadence --help NAME: cadence - A command-line tool for cadence users @@ -96,9 +94,9 @@ GLOBAL OPTIONS: --help, -h show help --version, -v print the version ``` -And -```sh-session -$ cadence workflow -h +And +``` +$cadence workflow -h NAME: cadence workflow - Operate cadence workflow @@ -134,8 +132,8 @@ OPTIONS: --help, -h show help ``` -```sh-session -$ cadence wf signal -h +``` +$cadence wf signal -h NAME: cadence workflow signal - signal a workflow execution @@ -175,7 +173,7 @@ Run `cadence tasklist` for help on tasklist operations ```bash cadence --domain samples-domain domain register # OR using short alias -cadence --do samples-domain d re +cadence --do samples-domain d re ``` If your Cadence cluster has enable [global domain(XDC replication)](https://cadenceworkflow.io/docs/concepts/cross-dc-replication/), then you have to specify the replicaiton settings when registering a domain: ```bash @@ -205,7 +203,7 @@ To run a :workflow:, the user must specify the following: 3. Execution start to close timeout in seconds (--et) 4. Input in JSON format (--i) (optional) -s example uses [this cadence-samples workflow](https://github.com/cadence-workflow/cadence-samples/blob/master/cmd/samples/recipes/helloworld/helloworld_workflow.go) +s example uses [this cadence-samples workflow](https://github.com/uber-common/cadence-samples/blob/master/cmd/samples/recipes/helloworld/helloworld_workflow.go) and takes a string as input with the `-i '"cadence"'` parameter. Single quotes (`''`) are used to wrap input as JSON. **Note:** You need to start the :worker: so that the :workflow: can make progress. diff --git a/docs/07-operation-guide/01-setup.md b/src/docs/07-operation-guide/01-setup.md similarity index 79% rename from docs/07-operation-guide/01-setup.md rename to src/docs/07-operation-guide/01-setup.md index 54de1c0ac..b105e3b18 100644 --- a/docs/07-operation-guide/01-setup.md +++ b/src/docs/07-operation-guide/01-setup.md @@ -28,7 +28,7 @@ The default directory for configuration files is named **config/**. This directo * Availability Zone File: If an availability zone is specified (either through the `$CADENCE_AVAILABILITY_ZONE` environment variable or as a command-line argument), a file named after the zone will be merged. For example, if you specify "az1" as the zone, `production_az1.yaml` will be used as well. To merge `base.yaml`, `production.yaml`, and `production_az1.yaml` files, you need to specify "production" as the runtime environment and "az1" as the zone. -```log +``` // base.yaml -> production.yaml -> production_az1.yaml = final configuration ``` @@ -57,25 +57,25 @@ There are quite many configs in Cadence. Here are the most basic configuration t | blobstore | This is also for archival history feature Default cadence server is using file based blob store implementation. | N/A | | domainDefaults | default config for each domain. Right now only being used for Archival feature. | N/A | | dynamicconfig (previously known as dynamicConfigClient) | Dynamic config is a config manager that enables you to change configs without restarting servers. It’s a good way for Cadence to keep high availability and make things easy to configure.

By default Cadence server uses `filebased` client which allows you to override default configs using a YAML file. However, this approach can be cumbersome in production environment because it's the operator's responsibility to sync the YAML files across Cadence nodes.

Therefore, we provide another option, `configstore` client, that stores config changes in the persistent data store for Cadence (e.g., Cassandra database) rather than the YAML file. This approach shifts the responsibility of syncing config changes from the operator to Cadence service. You can use Cadence CLI commands to list/get/update/restore config changes.

You can also implement the dynamic config interface if you have a better way to manage configs. | Same as the sample development config | -| persistence | Configuration for data store / persistence layer.

Values of DefaultStore VisibilityStore AdvancedVisibilityStore should be keys of map DataStores.

DefaultStore is for core Cadence functionality.

VisibilityStore is for basic visibility feature

AdvancedVisibilityStore is for advanced visibility

Go to [advanced visibility](/docs/concepts/search-workflows/#running-in-production) for detailed configuration of advanced visibility. See [persistence documentation](https://github.com/cadence-workflow/cadence/blob/master/docs/persistence.md) about using different database for Cadence| As explanation | +| persistence | Configuration for data store / persistence layer.

Values of DefaultStore VisibilityStore AdvancedVisibilityStore should be keys of map DataStores.

DefaultStore is for core Cadence functionality.

VisibilityStore is for basic visibility feature

AdvancedVisibilityStore is for advanced visibility

Go to [advanced visibility](/docs/concepts/search-workflows/#running-in-production) for detailed configuration of advanced visibility. See [persistence documentation](https://github.com/uber/cadence/blob/master/docs/persistence.md) about using different database for Cadence| As explanation | ### The full list of static configuration Starting from v0.21.0, all the static configuration are defined by GoDocs in details. |Version|GoDocs Link| Github Link | | --------- | --------- | --------- | -| v0.21.0 | [Configuration Docs](https://pkg.go.dev/github.com/cadence-workflow/cadence@v0.21.0/common/config#Config) | [Configuration](https://github.com/cadence-workflow/cadence/blob/v0.21.0/common/config/config.go#L37)| -| ...[other higher versions](https://pkg.go.dev/github.com/cadence-workflow/cadence@v0.21.0?tab=versions) | ...Replace the version in the URL of v0.21.0| ...Replace the version in the URL of v0.21.0| +| v0.21.0 | [Configuration Docs](https://pkg.go.dev/github.com/uber/cadence@v0.21.0/common/config#Config) | [Configuration](https://github.com/uber/cadence/blob/v0.21.0/common/config/config.go#L37)| +| ...[other higher versions](https://pkg.go.dev/github.com/uber/cadence@v0.21.0?tab=versions) | ...Replace the version in the URL of v0.21.0| ...Replace the version in the URL of v0.21.0| For earlier versions, you can find all the configurations similarly: |Version|GoDocs Link| Github Link | | --------- | --------- | --------- | -| v0.20.0 | [Configuration Docs](https://pkg.go.dev/github.com/cadence-workflow/cadence@v0.20.0/common/service/config#Config) | [Configuration](https://github.com/cadence-workflow/cadence/blob/v0.20.0/common/service/config/config.go#L37)| -| v0.19.2 | [Configuration Docs](https://pkg.go.dev/github.com/cadence-workflow/cadence@v0.19.2/common/service/config#Config) | [Configuration](https://github.com/cadence-workflow/cadence/blob/v0.19.2/common/service/config/config.go#L37)| -| v0.18.2 | [Configuration Docs](https://pkg.go.dev/github.com/cadence-workflow/cadence@v0.18.2/common/service/config#Config) | [Configuration](https://github.com/cadence-workflow/cadence/blob/v0.18.2/common/service/config/config.go#L37)| -| v0.17.0 | [Configuration Docs](https://pkg.go.dev/github.com/cadence-workflow/cadence@v0.17.0/common/service/config#Config) | [Configuration](https://github.com/cadence-workflow/cadence/blob/v0.17.0/common/service/config/config.go#L37)| -| ...[other lower versions](https://pkg.go.dev/github.com/cadence-workflow/cadence@v0.20.0?tab=versions) | ...Replace the version in the URL of v0.20.0| ...Replace the version in the URL of v0.20.0 | +| v0.20.0 | [Configuration Docs](https://pkg.go.dev/github.com/uber/cadence@v0.20.0/common/service/config#Config) | [Configuration](https://github.com/uber/cadence/blob/v0.20.0/common/service/config/config.go#L37)| +| v0.19.2 | [Configuration Docs](https://pkg.go.dev/github.com/uber/cadence@v0.19.2/common/service/config#Config) | [Configuration](https://github.com/uber/cadence/blob/v0.19.2/common/service/config/config.go#L37)| +| v0.18.2 | [Configuration Docs](https://pkg.go.dev/github.com/uber/cadence@v0.18.2/common/service/config#Config) | [Configuration](https://github.com/uber/cadence/blob/v0.18.2/common/service/config/config.go#L37)| +| v0.17.0 | [Configuration Docs](https://pkg.go.dev/github.com/uber/cadence@v0.17.0/common/service/config#Config) | [Configuration](https://github.com/uber/cadence/blob/v0.17.0/common/service/config/config.go#L37)| +| ...[other lower versions](https://pkg.go.dev/github.com/uber/cadence@v0.20.0?tab=versions) | ...Replace the version in the URL of v0.20.0| ...Replace the version in the URL of v0.20.0 | ## Dynamic Configuration @@ -83,23 +83,23 @@ Dynamic configuration is for fine tuning a Cadence cluster. There are a lot more dynamic configurations than static configurations. Most of the default values are good for small clusters. As a cluster is scaled up, you may look for tuning it for the optimal performance. -Starting from v0.21.0 with this [change](https://github.com/cadence-workflow/cadence/pull/4156/files), all the dynamic configuration are well defined by GoDocs. +Starting from v0.21.0 with this [change](https://github.com/uber/cadence/pull/4156/files), all the dynamic configuration are well defined by GoDocs. |Version|GoDocs Link| Github Link | | --------- | --------- | --------- | -| v0.21.0 | [Dynamic Configuration Docs](https://pkg.go.dev/github.com/cadence-workflow/cadence@v0.21.0/common/dynamicconfig#Key) | [Dynamic Configuration](https://github.com/cadence-workflow/cadence/blob/v0.21.0/common/dynamicconfig/constants.go#L58)| -| ...[other higher versions](https://pkg.go.dev/github.com/cadence-workflow/cadence@v0.21.0?tab=versions) | ...Replace the version in the URL of v0.21.0| ...Replace the version in the URL of v0.21.0| +| v0.21.0 | [Dynamic Configuration Docs](https://pkg.go.dev/github.com/uber/cadence@v0.21.0/common/dynamicconfig#Key) | [Dynamic Configuration](https://github.com/uber/cadence/blob/v0.21.0/common/dynamicconfig/constants.go#L58)| +| ...[other higher versions](https://pkg.go.dev/github.com/uber/cadence@v0.21.0?tab=versions) | ...Replace the version in the URL of v0.21.0| ...Replace the version in the URL of v0.21.0| For earlier versions, you can find all the configurations similarly: |Version|GoDocs Link| Github Link | | --------- | --------- | --------- | -| v0.20.0 | [Dynamic Configuration Docs](https://pkg.go.dev/github.com/cadence-workflow/cadence@v0.20.0/common/service/dynamicconfig#Key) | [Dynamic Configuration](https://github.com/cadence-workflow/cadence/blob/v0.20.0/common/service/dynamicconfig/constants.go#L53)| -| v0.19.2 | [Dynamic Configuration Docs](https://pkg.go.dev/github.com/cadence-workflow/cadence@v0.19.2/common/service/dynamicconfig#Key) | [Dynamic Configuration](https://github.com/cadence-workflow/cadence/blob/v0.19.2/common/service/dynamicconfig/constants.go#L53)| -| v0.18.2 | [Dynamic Configuration Docs](https://pkg.go.dev/github.com/cadence-workflow/cadence@v0.18.2/common/service/dynamicconfig#Key) | [Dynamic Configuration](https://github.com/cadence-workflow/cadence/blob/v0.18.2/common/service/dynamicconfig/constants.go#L53)| -| v0.17.0 | [Dynamic Configuration Docs](https://pkg.go.dev/github.com/cadence-workflow/cadence@v0.17.0/common/service/dynamicconfig#Key) | [Dynamic Configuration](https://github.com/cadence-workflow/cadence/blob/v0.17.0/common/service/dynamicconfig/constants.go#L53)| -| ...[other lower versions](https://pkg.go.dev/github.com/cadence-workflow/cadence@v0.20.0?tab=versions) | ...Replace the version in the URL of v0.20.0| ...Replace the version in the URL of v0.20.0 | +| v0.20.0 | [Dynamic Configuration Docs](https://pkg.go.dev/github.com/uber/cadence@v0.20.0/common/service/dynamicconfig#Key) | [Dynamic Configuration](https://github.com/uber/cadence/blob/v0.20.0/common/service/dynamicconfig/constants.go#L53)| +| v0.19.2 | [Dynamic Configuration Docs](https://pkg.go.dev/github.com/uber/cadence@v0.19.2/common/service/dynamicconfig#Key) | [Dynamic Configuration](https://github.com/uber/cadence/blob/v0.19.2/common/service/dynamicconfig/constants.go#L53)| +| v0.18.2 | [Dynamic Configuration Docs](https://pkg.go.dev/github.com/uber/cadence@v0.18.2/common/service/dynamicconfig#Key) | [Dynamic Configuration](https://github.com/uber/cadence/blob/v0.18.2/common/service/dynamicconfig/constants.go#L53)| +| v0.17.0 | [Dynamic Configuration Docs](https://pkg.go.dev/github.com/uber/cadence@v0.17.0/common/service/dynamicconfig#Key) | [Dynamic Configuration](https://github.com/uber/cadence/blob/v0.17.0/common/service/dynamicconfig/constants.go#L53)| +| ...[other lower versions](https://pkg.go.dev/github.com/uber/cadence@v0.20.0?tab=versions) | ...Replace the version in the URL of v0.20.0| ...Replace the version in the URL of v0.20.0 | -However, the GoDocs in earlier versions don't contain detailed information. You need to look it up the newer version of GoDocs. -For example, search for "EnableGlobalDomain" in Dynamic Configuration [Comments in v0.21.0](https://github.com/cadence-workflow/cadence/blob/667b7c68e67682a8d23f4b8f93e91a791313d8d6/common/dynamicconfig/constants.go) or [Docs of v0.21.0](https://pkg.go.dev/github.com/cadence-workflow/cadence@v0.21.0/common/dynamicconfig#Key), as the usage of DynamicConfiguration never changes. +However, the GoDocs in earlier versions don't contain detailed information. You need to look it up the newer version of GoDocs. +For example, search for "EnableGlobalDomain" in Dynamic Configuration [Comments in v0.21.0](https://github.com/uber/cadence/blob/667b7c68e67682a8d23f4b8f93e91a791313d8d6/common/dynamicconfig/constants.go) or [Docs of v0.21.0](https://pkg.go.dev/github.com/uber/cadence@v0.21.0/common/dynamicconfig#Key), as the usage of DynamicConfiguration never changes. * **KeyName** is the key that you will use in the dynamicconfig yaml content @@ -115,7 +115,7 @@ For example, search for "EnableGlobalDomain" in Dynamic Configuration [Comments * `N/A` means no filters can be set. The config will be global. For example, if you want to change the ratelimiting for List API, below is the config: -```clike +``` // FrontendVisibilityListMaxQPS is max qps frontend can list open/close workflows // KeyName: frontend.visibilityListMaxQPS // Value type: Int @@ -132,14 +132,14 @@ frontend.visibilityListMaxQPS: domainName: "domainA" - value: 2000 constraints: - domainName: "domainB" + domainName: "domainB" ``` You will expect to see `domainA` will be able to perform 1K List operation per second, while `domainB` can perform 2K per second. NOTE 1: the size related configuration numbers are based on byte. -NOTE 2: for `.persistenceMaxQPS` versus `.persistenceGlobalMaxQPS` --- persistenceMaxQPS is local for single node while persistenceGlobalMaxQPS is global for all node. persistenceGlobalMaxQPS is preferred if set as greater than zero. But by default it is zero so persistenceMaxQPS is being used. +NOTE 2: for .persistenceMaxQPS versus .persistenceGlobalMaxQPS --- persistenceMaxQPS is local for single node while persistenceGlobalMaxQPS is global for all node. persistenceGlobalMaxQPS is preferred if set as greater than zero. But by default it is zero so persistenceMaxQPS is being used. ### How to update Dynamic Configuration @@ -152,9 +152,9 @@ By default, Cadence uses file-based client to manage dynamic configurations. Fol cadence: image: ubercadence/server:master-auto-setup ports: - # ...(don't change anything here) + ...(don't change anything here) environment: - # ...(don't change anything here) + ...(don't change anything here) - "DYNAMIC_CONFIG_FILE_PATH=/etc/custom-dynamicconfig/development.yaml" volumes: - "/Users//cadence/config/dynamicconfig:/etc/custom-dynamicconfig" @@ -175,13 +175,13 @@ After restarting Cadence instances, execute a command like this to let Cadence l `cadence --domain <> workflow list` Then you should see the logs like below -```log +``` cadence_1 | {"level":"info","ts":"2021-05-07T18:43:07.869Z","msg":"First loading dynamic config","service":"cadence-frontend","key":"frontend.visibilityListMaxQPS,domainName:sample,clusterName:primary","value":"10000","default-value":"10","logging-call-at":"config.go:93"} ``` #### Config store client -You can set the `dynamicconfig` client in the static configuration to `configstore` in order to store config changes in a database, as shown below. +You can set the `dynamicconfig` client in the static configuration to `configstore` in order to store config changes in a database, as shown below. ```yaml dynamicconfig: client: configstore @@ -215,16 +215,16 @@ After changing the client to `configstore` and restarting Cadence, you can manag ## Deployment & Release Kubernetes is the most popular way to deploy Cadence cluster. And easiest way is to use [Cadence Helm Charts](https://github.com/banzaicloud/banzai-charts/tree/master/cadence) that maintained by a community project. -If you are looking for deploying Cadence using other technologies, then it's reccomended to use Cadence docker images. You can use offical ones, or you may customize it based on what you need. See [Cadence docker package](https://github.com/cadence-workflow/cadence/tree/master/docker#using-docker-image-for-production) for how to run the images. +If you are looking for deploying Cadence using other technologies, then it's reccomended to use Cadence docker images. You can use offical ones, or you may customize it based on what you need. See [Cadence docker package](https://github.com/uber/cadence/tree/master/docker#using-docker-image-for-production) for how to run the images. -It's always recommended to use the latest release. See [Cadence release pages](https://github.com/cadence-workflow/cadence/releases). +It's always recommended to use the latest release. See [Cadence release pages](https://github.com/uber/cadence/releases). Please subscribe the release of project by : -Go to https://github.com/cadence-workflow/cadence -> Click the right top "Watch" button -> Custom -> "Release". +Go to https://github.com/uber/cadence -> Click the right top "Watch" button -> Custom -> "Release". -And see [how to upgrade a Cadence cluster](/docs/operation-guide/maintain/#upgrading-server) +And see [how to upgrade a Cadence cluster](/docs/operation-guide/maintain/#upgrading-server) ## Stress/Bench Test a cluster -It's recommended to run bench test on your cluster following this [package](https://github.com/cadence-workflow/cadence/tree/master/bench) to see the maximum throughput that it can take, whenever you change some setup. +It's recommended to run bench test on your cluster following this [package](https://github.com/uber/cadence/tree/master/bench) to see the maximum throughput that it can take, whenever you change some setup. diff --git a/docs/07-operation-guide/02-maintain.md b/src/docs/07-operation-guide/02-maintain.md similarity index 87% rename from docs/07-operation-guide/02-maintain.md rename to src/docs/07-operation-guide/02-maintain.md index f7c405031..f7372cdd8 100644 --- a/docs/07-operation-guide/02-maintain.md +++ b/src/docs/07-operation-guide/02-maintain.md @@ -9,11 +9,11 @@ This includes how to use and maintain a Cadence cluster for both clients and ser ## Scale up & down Cluster * When CPU/Memory is getting bottleneck on Cadence instances, you may scale up or add more instances. -* Watch [Cadence metrics](/docs/operation-guide/monitoring/) +* Watch [Cadence metrics](/docs/operation-guide/monitor/) * See if the external traffic to frontend is normal * If the slowness is due to too many tasks on a tasklist, you may need to [scale up the tasklist](/docs/operation-guide/maintain/#scale-up-a-tasklist-using-scalable-tasklist-feature) * If persistence latency is getting too high, try scale up your DB instance -* Never change the [`numOfShards` of a cluster](/docs/operation-guide/setup/#static-configuration). If you need that because the current one is too small, follow the instructions to [migrate your cluster to a new one](migration). +* Never change the [`numOfShards` of a cluster](/docs/operation-guide/setup/#static-configuration). If you need that because the current one is too small, follow the instructions to [migrate your cluster to a new one](/docs/operation-guide/maintain/#migrate-cadence-cluster). ## Scale up a tasklist using `Scalable tasklist` feature By default a tasklist is not scalable enough to support hundreds of tasks per second. That’s mainly because each tasklist is assigned to a Matching service node, and dispatching tasks in a tasklist is in sequence. @@ -36,9 +36,9 @@ matching.numTasklistReadPartitions is the number of partitions when your worker There are a few things to know when using this feature: * Always make sure `matching.numTasklistWritePartitions <= matching.numTasklistReadPartitions` . Otherwise there may be some tasks that are sent to a tasklist partition but no poller(worker) will be able to pick up. * Because of above, when scaling down the number of partitions, you must decrease the WritePartitions first, to wait for a certain time to ensure that tasks are drained, and then decrease ReadPartitions. -* Both domain names and taskListName should be specified in the dynamic config. An example of using this feature. See more details about dynamic config format using file based [dynamic config](/docs/operation-guide/setup/#static-configuration). +* Both domain names and taskListName should be specified in the dynamic config. An example of using this feature. See more details about dynamic config format using file based [dynamic config](/docs/operation-guide/setup/#static-configs). -```yaml +``` matching.numTasklistWritePartitions: - value: 10 constraints: @@ -68,9 +68,9 @@ Make sure rolling restart to keep high availability. * MaxIdelConns should be less than MaxConns, so that the connections can be distributed better across hosts. -## Upgrading Server +## Upgrading Server -To get notified about release, please subscribe the release of project by : Go to https://github.com/cadence-workflow/cadence -> Click the right top "Watch" button -> Custom -> "Release". +To get notified about release, please subscribe the release of project by : Go to https://github.com/uber/cadence -> Click the right top "Watch" button -> Custom -> "Release". It's recommended to upgrade one minor version at a time. E.g, if you are at 0.10, you should upgrade to 0.11, stabilize it with running some normal workload to make sure that the upgraded server is happy with the schema changes. After ~1 hour, then upgrade to 0.12. then 0.13. etc. @@ -81,7 +81,7 @@ The reason is that for each minor upgrade, you should be able to follow the rele Things that you may need to do for upgrading a minor version(patch version upgrades should not need it): * Schema(DB/ElasticSearch) changes * Configuration format/layout changes -* Data migration -- this is very rare. For example, [upgrading from 0.15.x to 0.16.0 requires a data migration](https://github.com/cadence-workflow/cadence/releases/tag/v0.16.0). +* Data migration -- this is very rare. For example, [upgrading from 0.15.x to 0.16.0 requires a data migration](https://github.com/uber/cadence/releases/tag/v0.16.0). You should read through the release instruction for each minor release to understand what needs to be done. @@ -98,15 +98,15 @@ NOTE: Do not use β€œauto-setup” images to upgrade your schema. It's mainly for ### How to apply DB schema changes -For how to apply database schema, refer to this doc: [SQL tool README](https://github.com/cadence-workflow/cadence/tree/master/tools/sql) -[Cassandra tool README](https://github.com/cadence-workflow/cadence/tree/master/tools/cassandra) +For how to apply database schema, refer to this doc: [SQL tool README](https://github.com/uber/cadence/tree/master/tools/sql) +[Cassandra tool README](https://github.com/uber/cadence/tree/master/tools/cassandra) The tool makes use of a table called β€œschema_versions” to keep track of upgrading History. But there is no transaction guarantee for cross table operations. So in case of some error, you may need to fix or apply schema change manually. Also, the schema tool by default will upgrade schema to the latest, so no manual is required. ( you can also specify to let it upgrade to any place, like 0.14). -Database schema changes are versioned in the folders: [Versioned Schema Changes](https://github.com/cadence-workflow/cadence/tree/master/schema/mysql/v57/cadence/versioned) for Default Store -and [Versioned Schema Changes](https://github.com/cadence-workflow/cadence/tree/master/schema/mysql/v57/visibility/versioned) for Visibility Store if you use database for basic visibility instead of ElasticSearch. +Database schema changes are versioned in the folders: [Versioned Schema Changes](https://github.com/uber/cadence/tree/master/schema/mysql/v57/cadence/versioned) for Default Store +and [Versioned Schema Changes](https://github.com/uber/cadence/tree/master/schema/mysql/v57/visibility/versioned) for Visibility Store if you use database for basic visibility instead of ElasticSearch. If you use homebrew, the schema files are located at `/usr/local/etc/cadence/schema/`. -Alternatively, you can checkout the [repo](https://github.com/cadence-workflow/cadence) and the release tag. E.g. `git checkout v0.21.0` and then the schema files is at `./schema/` +Alternatively, you can checkout the [repo](https://github.com/uber/cadence) and the release tag. E.g. `git checkout v0.21.0` and then the schema files is at `./schema/` diff --git a/docs/07-operation-guide/03-monitoring.md b/src/docs/07-operation-guide/03-monitoring.md similarity index 93% rename from docs/07-operation-guide/03-monitoring.md rename to src/docs/07-operation-guide/03-monitoring.md index a7b254daf..3581a32bb 100644 --- a/docs/07-operation-guide/03-monitoring.md +++ b/src/docs/07-operation-guide/03-monitoring.md @@ -10,15 +10,15 @@ permalink: /docs/operation-guide/monitor Cadence emits metrics for both Server and client libraries: -* Follow this example to emit [client side metrics for Golang client](https://github.com/cadence-workflow/cadence-samples/pull/36) +* Follow this example to emit [client side metrics for Golang client](https://github.com/uber-common/cadence-samples/pull/36) * You can use other metrics emitter like [M3](https://github.com/uber-go/tally/tree/master/m3) * Alternatively, you can implement the tally [Reporter interface](https://github.com/uber-go/tally/blob/master/reporter.go) -* Follow this example to emit [client side metrics for Java client](https://github.com/cadence-workflow/cadence-java-samples/blob/master/src/main/java/com/uber/cadence/samples/hello/HelloMetric.java) if using 3.x client, or [this example](https://github.com/longquanzheng/cadence-java-samples-1/pull/1) if using 2.x client. +* Follow this example to emit [client side metrics for Java client](https://github.com/uber/cadence-java-samples/blob/master/src/main/java/com/uber/cadence/samples/hello/HelloMetric.java) if using 3.x client, or [this example](https://github.com/longquanzheng/cadence-java-samples-1/pull/1) if using 2.x client. * You can use other metrics emitter like [M3](https://github.com/uber-java/tally/tree/master/m3) * Alternatively, you can implement the tally [Reporter interface](https://github.com/uber-java/tally/blob/master/core/src/main/java/com/uber/m3/tally/Scope.java) -* For running Cadence services in production, please follow this [example of hemlchart](https://github.com/banzaicloud/banzai-charts/blob/master/cadence/templates/server-service-monitor.yaml) to emit server side metrics. Or you can follow [the example of local environment](https://github.com/cadence-workflow/cadence/blob/master/config/development_prometheus.yaml#L40) to Prometheus. All services need to expose a HTTP port to provide metircs like below +* For running Cadence services in production, please follow this [example of hemlchart](https://github.com/banzaicloud/banzai-charts/blob/master/cadence/templates/server-service-monitor.yaml) to emit server side metrics. Or you can follow [the example of local environment](https://github.com/uber/cadence/blob/master/config/development_prometheus.yaml#L40) to Prometheus. All services need to expose a HTTP port to provide metircs like below ```yaml metrics: @@ -29,7 +29,7 @@ metrics: The rest of the instruction uses local environment as an example. -For testing local server emitting metrics to Promethues, the easiest way is to use [docker-compose](https://github.com/cadence-workflow/cadence/blob/master/docker/) to start a local Cadence instance. +For testing local server emitting metrics to Promethues, the easiest way is to use [docker-compose](https://github.com/uber/cadence/blob/master/docker/) to start a local Cadence instance. Make sure to update the `prometheus_config.yml` to add "host.docker.internal:9098" to the scrape list before starting the docker-compose: ```yaml @@ -56,26 +56,26 @@ Note: `host.docker.internal` [may not work for some docker versions](https://doc * Go the the sample repo, build the helloworld sample `make helloworld` and run the worker `./bin/helloworld -m worker`, and then in another Shell start a workflow `./bin/helloworld` * Go to your [local Prometheus dashboard](http://localhost:9090/), you should be able to check the metrics emitted by handler from client/frontend/matching/history/sysWorker and confirm your services are healthy through [targets](http://localhost:9090/targets) -Screen Shot 2021-02-20 at 11 31 11 AM +Screen Shot 2021-02-20 at 11 31 11 AM * Go to [local Grafana](http://localhost:3000) , login as `admin/admin`. * Configure Prometheus as datasource: use `http://host.docker.internal:9090` as URL of prometheus. -* Import the [Grafana dashboard tempalte](monitoring#grafanaprometheus-dashboard-templates) as JSON files. +* Import the [Grafana dashboard tempalte](/docs/operation-guide/monitor/#grafana-prometheus-dashboard-templates) as JSON files. Client side dashboard looks like this: -Screen Shot 2021-02-20 at 12 32 23 PM +Screen Shot 2021-02-20 at 12 32 23 PM And server basic dashboard: -Screen Shot 2021-02-20 at 12 31 54 PM +Screen Shot 2021-02-20 at 12 31 54 PM -Screen Shot 2021-02-20 at 11 06 54 AM +Screen Shot 2021-02-20 at 11 06 54 AM ## DataDog dashboard templates -This [package](https://github.com/cadence-workflow/Cadence-Docs/tree/master/src/datadog) contains examples of Cadence dashboards with DataDog. +This [package](https://github.com/uber/cadence-docs/tree/master/src/datadog) contains examples of Cadence dashboards with DataDog. * `Cadence-Client` is the dashboard that includes all the metrics to help you understand Cadence client behavior. Most of these metrics are emitted by the client SDKs, with a few exceptions from server side (for example, workflow timeout). @@ -85,32 +85,32 @@ To use DataDog with Cadence, follow [this instruction](https://docs.datadoghq.co NOTE1: don't forget to adjust `max_returned_metrics` to a higher number(e.g. 100000). Otherwise DataDog agent won't be able to [collect all metrics(default is 2000)](https://docs.datadoghq.com/integrations/guide/prometheus-host-collection/). -NOTE2: the template contains templating variables `$App` and `$Availability_Zone`. Feel free to remove them if you don't have them in your setup. +NOTE2: the template contains templating variables `$App` and `$Availability_Zone`. Feel free to remove them if you don't have them in your setup. ## Grafana+Prometheus dashboard templates -This [package](https://github.com/cadence-workflow/Cadence-Docs/tree/master/src/grafana/prometheus) contains examples of Cadence dashboards with Prometheus. +This [package](https://github.com/uber/cadence-docs/tree/master/src/grafana/prometheus) contains examples of Cadence dashboards with Prometheus. * `Cadence-Client` is the dashboard of client metrics, and a few server side metrics that belong to client side but have to be emitted by server(for example, workflow timeout). * `Cadence-Server-Basic` is the the basic server dashboard to monitor/navigate the health/status of a Cadence cluster. -* Apart from the basic server dashboard, it's recommended to set up dashboards on different components for Cadence server: Frontend, History, Matching, Worker, Persistence, Archival, etc. Any [contribution](https://github.com/cadence-workflow/Cadence-Docs) is always welcome to enrich the existing templates or new templates! +* Apart from the basic server dashboard, it's recommended to set up dashboards on different components for Cadence server: Frontend, History, Matching, Worker, Persistence, Archival, etc. Any [contribution](https://github.com/uber/cadence-docs) is always welcome to enrich the existing templates or new templates! ## Periodic tests(Canary) for health check -It's recommended that you run periodical test to get signals on the healthness of your cluster. Please following instructions in [our canary package](https://github.com/cadence-workflow/cadence/tree/master/canary) to set these tests up. +It's recommended that you run periodical test to get signals on the healthness of your cluster. Please following instructions in [our canary package](https://github.com/uber/cadence/tree/master/canary) to set these tests up. ## Cadence Frontend Monitoring This section describes recommended dashboards for monitoring Cadence services in your cluster. The structure mostly follows the DataDog dashboard template listed above. ### Service Availability(server metrics) -* Meaning: the availability of Cadence server using server metrics. +* Meaning: the availability of Cadence server using server metrics. * Suggested monitor: below 95% > 5 min then alert, below 99% for > 5 min triggers a warning * Monitor action: When fired, check if there is any persistence errors. If so then check the healthness of the database(may need to restart or scale up). If not then check the error logs. * Datadog query example -```dql +``` sum:cadence_frontend.cadence_errors{*} sum:cadence_frontend.cadence_requests{*} (1 - a / b) * 100 @@ -120,7 +120,7 @@ sum:cadence_frontend.cadence_requests{*} * Meaning: how many workflows are started per second. This helps determine if your server is overloaded. * Suggested monitor: This is a business metrics. No monitoring required. * Datadog query example -```dql +``` sum:cadence_frontend.cadence_requests{(operation IN (startworkflowexecution,signalwithstartworkflowexecution))} by {operation}.as_rate() ``` @@ -128,7 +128,7 @@ sum:cadence_frontend.cadence_requests{(operation IN (startworkflowexecution,sign * Meaning: How many activities are started per second. Helps determine if the server is overloaded. * Suggested monitor: This is a business metrics. No monitoring required. * Datadog query example -```dql +``` sum:cadence_frontend.cadence_requests{operation:pollforactivitytask} by {operation}.as_rate() ``` @@ -136,7 +136,7 @@ sum:cadence_frontend.cadence_requests{operation:pollforactivitytask} by {operati * Meaning: How many workflow decisions are started per second. Helps determine if the server is overloaded. * Suggested monitor: This is a business metrics. No monitoring required. * Datadog query example -```dql +``` sum:cadence_frontend.cadence_requests{operation:pollfordecisiontask} by {operation}.as_rate() ``` @@ -144,7 +144,7 @@ sum:cadence_frontend.cadence_requests{operation:pollfordecisiontask} by {operati * Meaning: The success counter of canary test suite * Suggested monitor: Monitor needed. If fired, look at the failed canary test case and investigate the reason of failure. * Datadog query example -```dql +``` sum:cadence_history.workflow_success{workflowtype:workflow_sanity} by {workflowtype}.as_count() ``` @@ -152,7 +152,7 @@ sum:cadence_history.workflow_success{workflowtype:workflow_sanity} by {workflowt * Meaning: all API on frontend per second. Information only. * Suggested monitor: This is a business metrics. No monitoring required. * Datadog query example -```dql +``` sum:cadence_frontend.cadence_requests{*}.as_rate() ``` @@ -160,46 +160,46 @@ sum:cadence_frontend.cadence_requests{*}.as_rate() * Meaning: API on frontend per second. Information only. * Suggested monitor: This is a business metrics. No monitoring required. * Datadog query example -```dql +``` sum:cadence_frontend.cadence_requests{*} by {operation}.as_rate() ``` ### Frontend API errors per second(breakdown per operation) * Meaning: API error on frontend per second. Information only. -* Suggested monitor: This is to facilitate investigation. No monitoring required. -* Datadog query example -```dql -sum:cadence_frontend.cadence_errors{*} by {operation}.as_rate() -sum:cadence_frontend.cadence_errors_bad_request{*} by {operation}.as_rate() -sum:cadence_frontend.cadence_errors_domain_not_active{*} by {operation}.as_rate() -sum:cadence_frontend.cadence_errors_service_busy{*} by {operation}.as_rate() -sum:cadence_frontend.cadence_errors_entity_not_exists{*} by {operation}.as_rate() -sum:cadence_frontend.cadence_errors_workflow_execution_already_completed{*} by {operation}.as_rate() -sum:cadence_frontend.cadence_errors_execution_already_started{*} by {operation}.as_rate() -sum:cadence_frontend.cadence_errors_domain_already_exists{*} by {operation}.as_rate() -sum:cadence_frontend.cadence_errors_cancellation_already_requested{*} by {operation}.as_rate() -sum:cadence_frontend.cadence_errors_query_failed{*} by {operation}.as_rate() -sum:cadence_frontend.cadence_errors_limit_exceeded{*} by {operation}.as_rate() -sum:cadence_frontend.cadence_errors_context_timeout{*} by {operation}.as_rate() -sum:cadence_frontend.cadence_errors_retry_task{*} by {operation}.as_rate() -sum:cadence_frontend.cadence_errors_bad_binary{*} by {operation}.as_rate() -sum:cadence_frontend.cadence_errors_client_version_not_supported{*} by {operation}.as_rate() -sum:cadence_frontend.cadence_errors_incomplete_history{*} by {operation}.as_rate() -sum:cadence_frontend.cadence_errors_nondeterministic{*} by {operation}.as_rate() -sum:cadence_frontend.cadence_errors_unauthorized{*} by {operation}.as_rate() -sum:cadence_frontend.cadence_errors_authorize_failed{*} by {operation}.as_rate() -sum:cadence_frontend.cadence_errors_remote_syncmatch_failed{*} by {operation}.as_rate() -sum:cadence_frontend.cadence_errors_domain_name_exceeded_warn_limit{*} by {operation}.as_rate() -sum:cadence_frontend.cadence_errors_identity_exceeded_warn_limit{*} by {operation}.as_rate() -sum:cadence_frontend.cadence_errors_workflow_id_exceeded_warn_limit{*} by {operation}.as_rate() -sum:cadence_frontend.cadence_errors_signal_name_exceeded_warn_limit{*} by {operation}.as_rate() -sum:cadence_frontend.cadence_errors_workflow_type_exceeded_warn_limit{*} by {operation}.as_rate() -sum:cadence_frontend.cadence_errors_request_id_exceeded_warn_limit{*} by {operation}.as_rate() -sum:cadence_frontend.cadence_errors_task_list_name_exceeded_warn_limit{*} by {operation}.as_rate() -sum:cadence_frontend.cadence_errors_activity_id_exceeded_warn_limit{*} by {operation}.as_rate() -sum:cadence_frontend.cadence_errors_activity_type_exceeded_warn_limit{*} by {operation}.as_rate() -sum:cadence_frontend.cadence_errors_marker_name_exceeded_warn_limit{*} by {operation}.as_rate() -sum:cadence_frontend.cadence_errors_timer_id_exceeded_warn_limit{*} by {operation}.as_rate() +* Suggested monitor: This is to facilitate investigation. No monitoring required. +* Datadog query example +``` +sum:cadence_frontend.cadence_errors{*} by {operation}.as_rate() +sum:cadence_frontend.cadence_errors_bad_request{*} by {operation}.as_rate() +sum:cadence_frontend.cadence_errors_domain_not_active{*} by {operation}.as_rate() +sum:cadence_frontend.cadence_errors_service_busy{*} by {operation}.as_rate() +sum:cadence_frontend.cadence_errors_entity_not_exists{*} by {operation}.as_rate() +sum:cadence_frontend.cadence_errors_workflow_execution_already_completed{*} by {operation}.as_rate() +sum:cadence_frontend.cadence_errors_execution_already_started{*} by {operation}.as_rate() +sum:cadence_frontend.cadence_errors_domain_already_exists{*} by {operation}.as_rate() +sum:cadence_frontend.cadence_errors_cancellation_already_requested{*} by {operation}.as_rate() +sum:cadence_frontend.cadence_errors_query_failed{*} by {operation}.as_rate() +sum:cadence_frontend.cadence_errors_limit_exceeded{*} by {operation}.as_rate() +sum:cadence_frontend.cadence_errors_context_timeout{*} by {operation}.as_rate() +sum:cadence_frontend.cadence_errors_retry_task{*} by {operation}.as_rate() +sum:cadence_frontend.cadence_errors_bad_binary{*} by {operation}.as_rate() +sum:cadence_frontend.cadence_errors_client_version_not_supported{*} by {operation}.as_rate() +sum:cadence_frontend.cadence_errors_incomplete_history{*} by {operation}.as_rate() +sum:cadence_frontend.cadence_errors_nondeterministic{*} by {operation}.as_rate() +sum:cadence_frontend.cadence_errors_unauthorized{*} by {operation}.as_rate() +sum:cadence_frontend.cadence_errors_authorize_failed{*} by {operation}.as_rate() +sum:cadence_frontend.cadence_errors_remote_syncmatch_failed{*} by {operation}.as_rate() +sum:cadence_frontend.cadence_errors_domain_name_exceeded_warn_limit{*} by {operation}.as_rate() +sum:cadence_frontend.cadence_errors_identity_exceeded_warn_limit{*} by {operation}.as_rate() +sum:cadence_frontend.cadence_errors_workflow_id_exceeded_warn_limit{*} by {operation}.as_rate() +sum:cadence_frontend.cadence_errors_signal_name_exceeded_warn_limit{*} by {operation}.as_rate() +sum:cadence_frontend.cadence_errors_workflow_type_exceeded_warn_limit{*} by {operation}.as_rate() +sum:cadence_frontend.cadence_errors_request_id_exceeded_warn_limit{*} by {operation}.as_rate() +sum:cadence_frontend.cadence_errors_task_list_name_exceeded_warn_limit{*} by {operation}.as_rate() +sum:cadence_frontend.cadence_errors_activity_id_exceeded_warn_limit{*} by {operation}.as_rate() +sum:cadence_frontend.cadence_errors_activity_type_exceeded_warn_limit{*} by {operation}.as_rate() +sum:cadence_frontend.cadence_errors_marker_name_exceeded_warn_limit{*} by {operation}.as_rate() +sum:cadence_frontend.cadence_errors_timer_id_exceeded_warn_limit{*} by {operation}.as_rate() ``` * `cadence_errors` is internal service errors. * any `cadence_errors_*` is client side error @@ -210,7 +210,7 @@ sum:cadence_frontend.cadence_errors_timer_id_exceeded_warn_limit{*} by {operatio * Suggested monitor: 95% of all apis and of all operations that take over 1.5 seconds triggers a warning, over 2 seconds triggers an alert * Monitor action: If fired, investigate the database read/write latency. May need to throttle some spiky traffic from certain domains, or scale up the database * Datadog query example -```dql +``` avg:cadence_frontend.cadence_latency.quantile{(operation NOT IN (pollfordecisiontask,pollforactivitytask,getworkflowexecutionhistory,queryworkflow,listworkflowexecutions,listclosedworkflowexecutions,listopenworkflowexecutions)) AND $pXXLatency} by {operation} ``` @@ -219,7 +219,7 @@ avg:cadence_frontend.cadence_latency.quantile{(operation NOT IN (pollfordecision * Monitor: 95% of all apis and of all operations that take over 2 seconds triggers a warning, over 3 seconds triggers an alert * Monitor action: If fired, investigate the ElasticSearch read latency. May need to throttle some spiky traffic from certain domains, or scale up ElasticSearch cluster. * Datadog query example -```dql +``` avg:cadence_frontend.cadence_latency.quantile{(operation IN (listclosedworkflowexecutions,listopenworkflowexecutions,listworkflowexecutions,countworkflowexecutions)) AND $pXXLatency} by {operation} ``` @@ -227,7 +227,7 @@ avg:cadence_frontend.cadence_latency.quantile{(operation IN (listclosedworkflowe * Meaning: Long poll means that the worker is waiting for a task. The latency is an Indicator for how busy the worker is. Poll for activity task and poll for decision task are the types of long poll requests.The api call times out at 50 seconds if no task can be picked up.A very low latency could mean that more workers need to be added. * Suggested monitor: No monitor needed as long latency is expected. * Datadog query example -```dql +``` avg:cadence_frontend.cadence_latency.quantile{$pXXLatency,operation:pollforactivitytask} by {operation} avg:cadence_frontend.cadence_latency.quantile{$pXXLatency,operation:pollfordecisiontask} by {operation} ``` @@ -237,7 +237,7 @@ avg:cadence_frontend.cadence_latency.quantile{$pXXLatency,operation:pollfordecis This latency depends on the time it takes for the workflow to complete. QueryWorkflow API latency is also unpredictable as it depends on the availability and performance of workflow workers, which are owned by the application and workflow implementation(may require replaying history). * Suggested monitor: No monitor needed * Datadog query example -```dql +``` avg:cadence_frontend.cadence_latency.quantile{(operation IN (getworkflowexecutionhistory,queryworkflow)) AND $pXXLatency} by {operation} ``` @@ -246,7 +246,7 @@ avg:cadence_frontend.cadence_latency.quantile{(operation IN (getworkflowexecutio In the future it can be used to set some rate limiting per domain. * Suggested monitor: No monitor needed. * Datadog query example -```dql +``` sum:cadence_frontend.cadence_requests{(operation IN (signalwithstartworkflowexecution,signalworkflowexecution,startworkflowexecution,terminateworkflowexecution,resetworkflowexecution,requestcancelworkflowexecution,listworkflowexecutions))} by {domain,operation}.as_rate() ``` @@ -257,7 +257,7 @@ This section describes the recommended dashboards for monitoring Cadence applica * Workflow successfully started/signalWithStart and completed/canceled/continuedAsNew * Monitor: not recommended * Datadog query example -```dql +``` sum:cadence_client.cadence_workflow_start{$Domain,$Tasklist,$WorkflowType} by {workflowtype,env,domain,tasklist}.as_rate() sum:cadence_client.cadence_workflow_completed{$Domain,$Tasklist,$WorkflowType} by {workflowtype,env,domain,tasklist}.as_rate() sum:cadence_client.cadence_workflow_canceled{$Domain,$Tasklist,$WorkflowType} by {workflowtype,domain,env,tasklist}.as_rate() @@ -271,7 +271,7 @@ sum:cadence_client.cadence_workflow_signal_with_start{$Domain,$Tasklist,$Workflo * Monitor: application should set monitor on timeout and failure to make sure workflow are not failing. Cancel/terminate are usually triggered by human intentionally. * When the metrics fire, go to Cadence UI to find the failed workflows and investigate the workflow history to understand the type of failure * Datadog query example -```dql +``` sum:cadence_client.cadence_workflow_failed{$Domain,$Tasklist,$WorkflowType} by {workflowtype,domain,env}.as_count() sum:cadence_history.workflow_failed{$Domain,$WorkflowType} by {domain,env,workflowtype}.as_count() sum:cadence_history.workflow_terminate{$Domain,$WorkflowType} by {domain,env,workflowtype}.as_count() @@ -286,7 +286,7 @@ The timeout for this long poll api is 50 seconds. If no task is received within * Monitor: application can should monitor on it to make sure workers are available * When fires, investigate the worker deployment to see why they are not available, also check if they are using the right domain/tasklist * Datadog query example -```dql +``` sum:cadence_client.cadence_decision_poll_total{$Domain,$Tasklist}.as_count() sum:cadence_client.cadence_decision_poll_failed{$Domain,$Tasklist}.as_count() sum:cadence_client.cadence_decision_poll_no_task{$Domain,$Tasklist}.as_count() @@ -297,7 +297,7 @@ sum:cadence_client.cadence_decision_poll_succeed{$Domain,$Tasklist}.as_count() * Indicate how many decision tasks are scheduled * Monitor: not recommended -- Information only to know whether or not a tasklist is overloaded * Datadog query example -```dql +``` sum:cadence_matching.cadence_requests_per_tl{*,operation:adddecisiontask,$Tasklist,$Domain} by {tasklist,domain}.as_rate() ``` @@ -308,27 +308,27 @@ The task list is overloaded(confirmed by DecisionTaskScheduled per second widget * Monitor: application can set monitor on it to make sure latency is tolerable * When fired, check if worker capacity is enough, then check if tasklist is overloaded. If needed, contact the Cadence cluster Admin to enable scalable tasklist to add more partitions to the tasklist * Datadog query example -```dql +``` avg:cadence_client.cadence_decision_scheduled_to_start_latency.avg{$Domain,$Tasklist} by {env,domain,tasklist} max:cadence_client.cadence_decision_scheduled_to_start_latency.max{$Domain,$Tasklist} by {env,domain,tasklist} max:cadence_client.cadence_decision_scheduled_to_start_latency.95percentile{$Domain,$Tasklist} by {env,domain,tasklist} ``` -### Decision Execution Failure +### Decision Execution Failure * This means some critical bugs in workflow code causing decision task execution failure -* Monitor: application should set monitor on it to make sure no consistent failure -* When fired, you may need to terminate the problematic workflows to mitigate the issue. After you identify the bugs, you can fix the code and then reset the workflow to recover +* Monitor: application should set monitor on it to make sure no consistent failure +* When fired, you may need to terminate the problematic workflows to mitigate the issue. After you identify the bugs, you can fix the code and then reset the workflow to recover * Datadog query example -```dql +``` sum:cadence_client.cadence_decision_execution_failed{$Domain,$Tasklist} by {tasklist,workflowtype}.as_count() ``` -### Decision Execution Timeout +### Decision Execution Timeout * This means some critical bugs in workflow code causing decision task execution timeout -* Monitor: application should set monitor on it to make sure no consistent timeout -* When fired, you may need to terminate the problematic workflows to mitigate the issue. After you identify the bugs, you can fix the code and then reset the workflow to recover +* Monitor: application should set monitor on it to make sure no consistent timeout +* When fired, you may need to terminate the problematic workflows to mitigate the issue. After you identify the bugs, you can fix the code and then reset the workflow to recover * Datadog query example -```dql +``` sum:cadence_history.start_to_close_timeout{operation:timeractivetaskdecision*,$Domain}.as_count() ``` @@ -338,7 +338,7 @@ For example, if you expect a workflow to take duration d to complete, you can us * Monitor: application can monitor this metrics if expecting workflow to complete within a certain duration. * When fired, investigate the workflow history to see the workflow takes longer than expected to complete * Datadog query example -```dql +``` avg:cadence_client.cadence_workflow_endtoend_latency.median{$Domain,$Tasklist,$WorkflowType} by {env,domain,tasklist,workflowtype} avg:cadence_client.cadence_workflow_endtoend_latency.95percentile{$Domain,$Tasklist,$WorkflowType} by {env,domain,tasklist,workflowtype} ``` @@ -348,7 +348,7 @@ avg:cadence_client.cadence_workflow_endtoend_latency.95percentile{$Domain,$Taskl * A monitor should be set on this metric * When fired, you may rollback the deployment to mitigate your issue. Usually this caused by bad (non-backward compatible) code change. After rollback, look at your worker error logs to see where the bug is. * Datadog query example -```dql +``` sum:cadence_client.cadence_worker_panic{$Domain} by {env,domain}.as_rate() sum:cadence_client.cadence_non_deterministic_error{$Domain} by {env,domain}.as_rate() ``` @@ -367,7 +367,7 @@ CacheHitRate too low means workers will have to replay history to rebuild the wo * A monitor can be set on this metric, if performance is important. * When fired, adjust the stickyCacheSize in the WorkerFactoryOption, or add more workers * Datadog query example -```dql +``` sum:cadence_client.cadence_sticky_cache_miss{$Domain} by {env,domain}.as_count() sum:cadence_client.cadence_sticky_cache_hit{$Domain} by {env,domain}.as_count() (b / (a+b)) * 100 @@ -375,9 +375,9 @@ sum:cadence_client.cadence_sticky_cache_hit{$Domain} by {env,domain}.as_count() ### Activity Task Operations * Activity started/completed counters -* Monitor: not recommended +* Monitor: not recommended * Datadog query example -```dql +``` sum:cadence_client.cadence_activity_task_failed{$Domain,$Tasklist} by {activitytype}.as_rate() sum:cadence_client.cadence_activity_task_completed{$Domain,$Tasklist} by {activitytype}.as_rate() sum:cadence_client.cadence_activity_task_timeouted{$Domain,$Tasklist} by {activitytype}.as_rate() @@ -385,9 +385,9 @@ sum:cadence_client.cadence_activity_task_timeouted{$Domain,$Tasklist} by {activi ### Local Activity Task Operations * Local Activity execution counters -* Monitor: not recommended +* Monitor: not recommended * Datadog query example -```dql +``` sum:cadence_client.cadence_local_activity_total{$Domain,$Tasklist} by {activitytype}.as_count() ``` @@ -396,7 +396,7 @@ sum:cadence_client.cadence_local_activity_total{$Domain,$Tasklist} by {activityt * Monitor: application can set monitor on it if expecting workflow start/complete activities with certain latency * When fired, investigate the activity code and its dependencies * Datadog query example -```dql +``` avg:cadence_client.cadence_activity_execution_latency.avg{$Domain,$Tasklist} by {env,domain,tasklist,activitytype} max:cadence_client.cadence_activity_execution_latency.max{$Domain,$Tasklist} by {env,domain,tasklist,activitytype} ``` @@ -409,7 +409,7 @@ The timeout for this long poll api is 50 seconds. If within that 50 seconds, no * Monitor: application can set monitor on it to make sure activity workers are available * When fires, investigate the worker deployment to see why they are not available, also check if they are using the right domain/tasklist * Datadog query example -```dql +``` sum:cadence_client.cadence_activity_poll_total{$Domain,$Tasklist} by {activitytype}.as_count() sum:cadence_client.cadence_activity_poll_failed{$Domain,$Tasklist} by {activitytype}.as_count() sum:cadence_client.cadence_activity_poll_succeed{$Domain,$Tasklist} by {activitytype}.as_count() @@ -420,7 +420,7 @@ sum:cadence_client.cadence_activity_poll_no_task{$Domain,$Tasklist} by {activity * Indicate how many activities tasks are scheduled * Monitor: not recommended -- Information only to know whether or not a tasklist is overloaded * Datadog query example -```dql +``` sum:cadence_matching.cadence_requests_per_tl{*,operation:addactivitytask,$Tasklist,$Domain} by {tasklist,domain}.as_rate() ``` @@ -431,7 +431,7 @@ There are too many activities scheduled into the same tasklist and the tasklist * Monitor: application Should set monitor on it * When fired, check if workers are enough, then check if the tasklist is overloaded. If needed, contact the Cadence cluster Admin to enable scalable tasklist to add more partitions to the tasklist * Datadog query example -```dql +``` avg:cadence_client.cadence_activity_scheduled_to_start_latency.avg{$Domain,$Tasklist} by {env,domain,tasklist,activitytype} max:cadence_client.cadence_activity_scheduled_to_start_latency.max{$Domain,$Tasklist} by {env,domain,tasklist,activitytype} max:cadence_client.cadence_activity_scheduled_to_start_latency.95percentile{$Domain,$Tasklist} by {env,domain,tasklist,activitytype} @@ -448,7 +448,7 @@ cadence_activity_task_failed counter increase per activity attempt cadence_activity_execution_failed counter increase when activity fails after all attempts * should only monitor on cadence_activity_execution_failed * Datadog query example -```dql +``` sum:cadence_client.cadence_activity_execution_failed{$Domain} by {domain,env}.as_rate() sum:cadence_client.cadence_activity_task_panic{$Domain} by {domain,env}.as_count() sum:cadence_client.cadence_activity_task_failed{$Domain} by {domain,env}.as_rate() @@ -468,7 +468,7 @@ sum:cadence_history.schedule_to_close_timeout{$Domain} by {domain,env}.as_count( * Monitor: application can set monitor on it * When fired, check application logs to see if the error is Cadence server error or client side error. Error like EntityNotExists/ExecutionAlreadyStarted/QueryWorkflowFailed/etc are client side error, meaning that the application is misusing the APIs. If most errors are server side errors(internalServiceError), you can contact Cadence admin. * Datadog query example -```dql +``` sum:cadence_client.cadence_error{*} by {domain}.as_count() sum:cadence_client.cadence_request{*} by {domain}.as_count() (1 - a / b) * 100 @@ -478,7 +478,7 @@ sum:cadence_client.cadence_request{*} by {domain}.as_count() * The latency of the API, excluding long poll APIs. * Application can set monitor on certain APIs, if necessary. * Datadog query example -```dql +``` avg:cadence_client.cadence_latency.95percentile{$Domain,!cadence_metric_scope:cadence-pollforactivitytask,!cadence_metric_scope:cadence-pollfordecisiontask} by {cadence_metric_scope} ``` @@ -486,7 +486,7 @@ avg:cadence_client.cadence_latency.95percentile{$Domain,!cadence_metric_scope:ca * A counter breakdown by API to help investigate availability * No monitor needed * Datadog query example -```dql +``` sum:cadence_client.cadence_request{$Domain,!cadence_metric_scope:cadence-pollforactivitytask,!cadence_metric_scope:cadence-pollfordecisiontask} by {cadence_metric_scope}.as_count() ``` @@ -494,7 +494,7 @@ sum:cadence_client.cadence_request{$Domain,!cadence_metric_scope:cadence-pollfor * A counter breakdown by API error to help investigate availability * No monitor needed * Datadog query example -```dql +``` sum:cadence_client.cadence_error{$Domain} by {cadence_metric_scope}.as_count() ``` @@ -505,7 +505,7 @@ It should never be greater than 2MB. * A monitor should be set on this metric. * When fired, please review the design/code ASAP to reduce the blob size. Reducing the input/output of workflow/activity/signal will help. * Datadog query example -```dql +``` ​​max:cadence_history.event_blob_size.quantile{!domain:all,$Domain} by {domain} ``` @@ -516,7 +516,7 @@ As a suggestion for workflow design, workflow history should never grow greater * A monitor should be set on this metric. * When fired, please review the design/code ASAP to reduce the history size. Reducing the input/output of workflow/activity/signal will help. Also you may need to use ContinueAsNew to break a single execution into smaller pieces. * Datadog query example -```dql +``` ​​max:cadence_history.history_size.quantile{!domain:all,$Domain} by {domain} ``` @@ -528,7 +528,7 @@ It should never be greater than 50K(workflow exceeding 200K events will be termi * A monitor should be set on this metric. * When fired, please review the design/code ASAP to reduce the history length. You may need to use ContinueAsNew to break a single execution into smaller pieces. * Datadog query example -```dql +``` ​​max:cadence_history.history_count.quantile{!domain:all,$Domain} by {domain} ``` @@ -541,7 +541,7 @@ History is the most critical/core service for cadence which implements the workf If there’s shard movement without deployments then that’s unexpected and there’s probably a performance issue. The shard ownership is assigned by a particular history host, so if the shard is moving it’ll be hard for the frontend service to route a request to a particular history shard and to find it. * A monitor can be set to be alerted on shard movements without deployment. * Datadog query example -```dql +``` sum:cadence_history.membership_changed_count{operation:shardcontroller} sum:cadence_history.shard_closed_count{operation:shardcontroller} sum:cadence_history.sharditem_created_count{operation:shardcontroller} @@ -552,28 +552,28 @@ sum:cadence_history.sharditem_removed_count{operation:shardcontroller} * TransferTask is an internal background task that moves workflow state and transfers an action task from the history engine to another service(e.g. Matching service, ElasticSearch, etc) * No monitor needed * Datadog query example -```dql +``` sum:cadence_history.task_requests{operation:transferactivetask*} by {operation}.as_rate() ``` ### Timer Tasks Per Second * Timer tasks are tasks that are scheduled to be triggered at a given time in future. For example, workflow.sleep() will wait an x amount of time then the task will be pushed somewhere for a worker to pick up. * Datadog query example -```dql +``` sum:cadence_history.task_requests{operation:timeractivetask*} by {operation}.as_rate() ``` ### Transfer Tasks Per Domain * Count breakdown by domain * Datadog query example -```dql +``` sum:cadence_history.task_requests_per_domain{operation:transferactive*} by {domain}.as_count() ``` ### Timer Tasks Per Domain * Count breakdown by domain * Datadog query example -```dql +``` sum:cadence_history.task_requests_per_domain{operation:timeractive*} by {domain}.as_count() ``` @@ -584,7 +584,7 @@ sum:cadence_history.task_requests_per_domain{operation:timeractive*} by {domain} If so then investigate the database(may need to scale up) If not then see if need to scale up Cadence deployment(K8s instance) * Datadog query example -```dql +``` avg:cadence_history.task_latency.quantile{$pXXLatency,operation:transfer*} by {operation} avg:cadence_history.task_latency_processing.quantile{$pXXLatency,operation:transfer*} by {operation} avg:cadence_history.task_latency_queue.quantile{$pXXLatency,operation:transfer*} by {operation} @@ -597,7 +597,7 @@ avg:cadence_history.task_latency_queue.quantile{$pXXLatency,operation:transfer*} If so then investigate the database(may need to scale up) [Mostly] If not then see if need to scale up Cadence deployment(K8s instance) * Datadog query example -```dql +``` avg:cadence_history.task_latency.quantile{$pXXLatency,operation:timer*} by {operation} avg:cadence_history.task_latency_processing.quantile{$pXXLatency,operation:timer*} by {operation} avg:cadence_history.task_latency_queue.quantile{$pXXLatency,operation:timer*} by {operation} @@ -622,7 +622,7 @@ avg:cadence_history.task_latency_queue.quantile{$pXXLatency,operation:timer*} by ### History API per Second Information about history API Datadog query example -```dql +``` sum:cadence_history.cadence_requests{*} by {operation}.as_rate() ``` @@ -631,42 +631,42 @@ sum:cadence_history.cadence_requests{*} by {operation}.as_rate() * Information about history API * No monitor needed * Datadog query example -```dql +``` sum:cadence_history.cadence_errors{*} by {operation}.as_rate() -sum:cadence_history.cadence_errors_bad_request{*} by {operation}.as_rate() -sum:cadence_history.cadence_errors_domain_not_active{*} by {operation}.as_rate() -sum:cadence_history.cadence_errors_service_busy{*} by {operation}.as_rate() -sum:cadence_history.cadence_errors_entity_not_exists{*} by {operation}.as_rate() -sum:cadence_history.cadence_errors_workflow_execution_already_completed{*} by {operation}.as_rate() -sum:cadence_history.cadence_errors_execution_already_started{*} by {operation}.as_rate() -sum:cadence_history.cadence_errors_domain_already_exists{*} by {operation}.as_rate() -sum:cadence_history.cadence_errors_cancellation_already_requested{*} by {operation}.as_rate() -sum:cadence_history.cadence_errors_query_failed{*} by {operation}.as_rate() -sum:cadence_history.cadence_errors_limit_exceeded{*} by {operation}.as_rate() -sum:cadence_history.cadence_errors_context_timeout{*} by {operation}.as_rate() -sum:cadence_history.cadence_errors_retry_task{*} by {operation}.as_rate() -sum:cadence_history.cadence_errors_bad_binary{*} by {operation}.as_rate() -sum:cadence_history.cadence_errors_client_version_not_supported{*} by {operation}.as_rate() -sum:cadence_history.cadence_errors_incomplete_history{*} by {operation}.as_rate() -sum:cadence_history.cadence_errors_nondeterministic{*} by {operation}.as_rate() -sum:cadence_history.cadence_errors_unauthorized{*} by {operation}.as_rate() -sum:cadence_history.cadence_errors_authorize_failed{*} by {operation}.as_rate() -sum:cadence_history.cadence_errors_remote_syncmatch_failed{*} by {operation}.as_rate() -sum:cadence_history.cadence_errors_domain_name_exceeded_warn_limit{*} by {operation}.as_rate() -sum:cadence_history.cadence_errors_identity_exceeded_warn_limit{*} by {operation}.as_rate() -sum:cadence_history.cadence_errors_workflow_id_exceeded_warn_limit{*} by {operation}.as_rate() -sum:cadence_history.cadence_errors_signal_name_exceeded_warn_limit{*} by {operation}.as_rate() -sum:cadence_history.cadence_errors_workflow_type_exceeded_warn_limit{*} by {operation}.as_rate() -sum:cadence_history.cadence_errors_request_id_exceeded_warn_limit{*} by {operation}.as_rate() -sum:cadence_history.cadence_errors_task_list_name_exceeded_warn_limit{*} by {operation}.as_rate() -sum:cadence_history.cadence_errors_activity_id_exceeded_warn_limit{*} by {operation}.as_rate() -sum:cadence_history.cadence_errors_activity_type_exceeded_warn_limit{*} by {operation}.as_rate() -sum:cadence_history.cadence_errors_marker_name_exceeded_warn_limit{*} by {operation}.as_rate() -sum:cadence_history.cadence_errors_timer_id_exceeded_warn_limit{*} by {operation}.as_rate() +sum:cadence_history.cadence_errors_bad_request{*} by {operation}.as_rate() +sum:cadence_history.cadence_errors_domain_not_active{*} by {operation}.as_rate() +sum:cadence_history.cadence_errors_service_busy{*} by {operation}.as_rate() +sum:cadence_history.cadence_errors_entity_not_exists{*} by {operation}.as_rate() +sum:cadence_history.cadence_errors_workflow_execution_already_completed{*} by {operation}.as_rate() +sum:cadence_history.cadence_errors_execution_already_started{*} by {operation}.as_rate() +sum:cadence_history.cadence_errors_domain_already_exists{*} by {operation}.as_rate() +sum:cadence_history.cadence_errors_cancellation_already_requested{*} by {operation}.as_rate() +sum:cadence_history.cadence_errors_query_failed{*} by {operation}.as_rate() +sum:cadence_history.cadence_errors_limit_exceeded{*} by {operation}.as_rate() +sum:cadence_history.cadence_errors_context_timeout{*} by {operation}.as_rate() +sum:cadence_history.cadence_errors_retry_task{*} by {operation}.as_rate() +sum:cadence_history.cadence_errors_bad_binary{*} by {operation}.as_rate() +sum:cadence_history.cadence_errors_client_version_not_supported{*} by {operation}.as_rate() +sum:cadence_history.cadence_errors_incomplete_history{*} by {operation}.as_rate() +sum:cadence_history.cadence_errors_nondeterministic{*} by {operation}.as_rate() +sum:cadence_history.cadence_errors_unauthorized{*} by {operation}.as_rate() +sum:cadence_history.cadence_errors_authorize_failed{*} by {operation}.as_rate() +sum:cadence_history.cadence_errors_remote_syncmatch_failed{*} by {operation}.as_rate() +sum:cadence_history.cadence_errors_domain_name_exceeded_warn_limit{*} by {operation}.as_rate() +sum:cadence_history.cadence_errors_identity_exceeded_warn_limit{*} by {operation}.as_rate() +sum:cadence_history.cadence_errors_workflow_id_exceeded_warn_limit{*} by {operation}.as_rate() +sum:cadence_history.cadence_errors_signal_name_exceeded_warn_limit{*} by {operation}.as_rate() +sum:cadence_history.cadence_errors_workflow_type_exceeded_warn_limit{*} by {operation}.as_rate() +sum:cadence_history.cadence_errors_request_id_exceeded_warn_limit{*} by {operation}.as_rate() +sum:cadence_history.cadence_errors_task_list_name_exceeded_warn_limit{*} by {operation}.as_rate() +sum:cadence_history.cadence_errors_activity_id_exceeded_warn_limit{*} by {operation}.as_rate() +sum:cadence_history.cadence_errors_activity_type_exceeded_warn_limit{*} by {operation}.as_rate() +sum:cadence_history.cadence_errors_marker_name_exceeded_warn_limit{*} by {operation}.as_rate() +sum:cadence_history.cadence_errors_timer_id_exceeded_warn_limit{*} by {operation}.as_rate() ``` * `cadence_errors` is internal service errors. * any `cadence_errors_*` is client side error - + ### Max History Size The history size of the workflow cannot be too large otherwise it will cause performance issue during replay. The soft limit is 200MB. If exceeding workflow will be terminated by server. * No monitor needed @@ -690,7 +690,7 @@ Matching service is to match/assign tasks from cadence service to workers. Match * API processed by matching service per second * No monitor needed * Datadog query example -```dql +``` sum:cadence_matching.cadence_requests{*} by {operation}.as_rate() ``` @@ -698,7 +698,7 @@ sum:cadence_matching.cadence_requests{*} by {operation}.as_rate() * API errors by matching service per second * No monitor needed * Datadog query example -```dql +``` sum:cadence_matching.cadence_errors_per_tl{*} by {operation,domain,tasklist}.as_rate() sum:cadence_matching.cadence_errors_bad_request_per_tl{*} by {operation,domain,tasklist} sum:cadence_matching.cadence_errors_bad_request{*} by {operation,domain,tasklist} @@ -746,7 +746,7 @@ sum:cadence_matching.cadence_errors_event_already_started{*} by {operation,domai * Regular APIs are the APIs excluding long polls * No monitor needed * Datadog query example -```dql +``` avg:cadence_matching.cadence_latency_per_tl.quantile{$pXXLatency,!operation:pollfor*,!operation:queryworkflow} by {operation,tasklist} ``` @@ -755,7 +755,7 @@ avg:cadence_matching.cadence_latency_per_tl.quantile{$pXXLatency,!operation:poll To confirm if there are too many tasks being added to the tasklist, use β€œAddTasks per second - domain, tasklist breakdown” * No monitor needed * Datadog query example -```dql +``` sum:cadence_matching.syncmatch_latency_per_tl.quantile{$pXXLatency} by {operation,tasklist,domain} ``` @@ -763,7 +763,7 @@ sum:cadence_matching.syncmatch_latency_per_tl.quantile{$pXXLatency} by {operatio * If a match is done asynchronously it writes a match to the db to use later. Measures the time when the worker is not actively looking for tasks. If this is high, more workers are needed. * No monitor needed * Datadog query example -```dql +``` sum:cadence_matching.asyncmatch_latency_per_tl.quantile{$pXXLatency} by {operation,tasklist,domain} ``` @@ -777,7 +777,7 @@ The following monotors should be set up for Cadence persistence. If so then investigate the database(may need to scale up) [Mostly] If not then see if need to scale up Cadence deployment(K8s instance) * Datadog query example -```dql +``` sum:cadence_frontend.persistence_errors{*} by {operation}.as_count() sum:cadence_frontend.persistence_requests{*} by {operation}.as_count() sum:cadence_matching.persistence_errors{*} by {operation}.as_count() @@ -795,7 +795,7 @@ sum:cadence_worker.persistence_requests{*} by {operation}.as_count() ### Persistence By Service TPS * No monitor needed * Datadog query example -```dql +``` sum:cadence_frontend.persistence_requests{*}.as_rate() sum:cadence_history.persistence_requests{*}.as_rate() sum:cadence_worker.persistence_requests{*}.as_rate() @@ -806,7 +806,7 @@ sum:cadence_matching.persistence_requests{*}.as_rate() ### Persistence By Operation TPS * No monitor needed * Datadog query example -```dql +``` sum:cadence_frontend.persistence_requests{*} by {operation}.as_rate() sum:cadence_history.persistence_requests{*} by {operation}.as_rate() sum:cadence_worker.persistence_requests{*} by {operation}.as_rate() @@ -819,7 +819,7 @@ sum:cadence_matching.persistence_requests{*} by {operation}.as_rate() * When fired, investigate the database(may need to scale up) [Mostly] If there’s a high latency, then there could be errors or something wrong with the db * Datadog query example -```dql +``` avg:cadence_matching.persistence_latency.quantile{$pXXLatency} by {operation} avg:cadence_worker.persistence_latency.quantile{$pXXLatency} by {operation} avg:cadence_frontend.persistence_latency.quantile{$pXXLatency} by {operation} @@ -830,7 +830,7 @@ avg:cadence_history.persistence_latency.quantile{$pXXLatency} by {operation} * It's to help investigate availability issue * No monitor needed * Datadog query example -```dql +``` sum:cadence_frontend.persistence_errors{*} by {operation}.as_count() sum:cadence_history.persistence_errors{*} by {operation}.as_count() sum:cadence_worker.persistence_errors{*} by {operation}.as_count() @@ -893,7 +893,7 @@ For reading visibility records, Frontend service will query ElasticSearch direct * The availability of Cadence server using database * Monitor can be set * Datadog query example -```dql +``` sum:cadence_frontend.elasticsearch_errors{*} by {operation}.as_count() sum:cadence_frontend.elasticsearch_requests{*} by {operation}.as_count() sum:cadence_history.elasticsearch_errors{*} by {operation}.as_count() @@ -906,7 +906,7 @@ sum:cadence_history.elasticsearch_requests{*} by {operation}.as_count() * The error of persistence API call by service * No monitor needed * Datadog query example -```dql +``` sum:cadence_frontend.elasticsearch_requests{*}.as_rate() sum:cadence_history.elasticsearch_requests{*}.as_rate() ``` @@ -915,7 +915,7 @@ sum:cadence_history.elasticsearch_requests{*}.as_rate() * The rate of persistence API call by API * No monitor needed * Datadog query example -```dql +``` sum:cadence_frontend.elasticsearch_requests{*} by {operation}.as_rate() sum:cadence_history.elasticsearch_requests{*} by {operation}.as_rate() ``` @@ -925,7 +925,7 @@ sum:cadence_history.elasticsearch_requests{*} by {operation}.as_rate() * The latency of persistence API call * No monitor needed * Datadog query example -```dql +``` avg:cadence_frontend.elasticsearch_latency.quantile{$pXXLatency} by {operation} avg:cadence_history.elasticsearch_latency.quantile{$pXXLatency} by {operation} ``` @@ -934,7 +934,7 @@ avg:cadence_history.elasticsearch_latency.quantile{$pXXLatency} by {operation} * The error of persistence API call * No monitor needed * Datadog query example -```dql +``` sum:cadence_frontend.elasticsearch_errors{*} by {operation}.as_count() sum:cadence_history.elasticsearch_errors{*} by {operation}.as_count() ``` @@ -945,7 +945,7 @@ sum:cadence_history.elasticsearch_errors{*} by {operation}.as_count() * When fired, restart Cadence service first to mitigate. Then look at logs to see why the process is stopped(process panic/error/etc). May consider add more pods (replicaCount) to sys-worker service for higher availability * Datadog query example -```dql +``` sum:cadence_worker.es_processor_requests{*} by {operation}.as_count() sum:cadence_worker.es_processor_retries{*} by {operation}.as_count() ``` @@ -957,7 +957,7 @@ Almost all errors are retryable errors so it’s not a problem. * When fired, Go to Kibana to find logs about the error details. The most common error is missing the ElasticSearch index field -- an index field is added in dynamicconfig but not in ElasticSearch, or vice versa . If so, follow the runbook to add the field to ElasticSearch or dynamic config. * Datadog query example -```dql +``` sum:cadence_worker.es_processor_error{*} by {operation}.as_count() sum:cadence_worker.es_processor_corrupted_data{*} by {operation}.as_count() ``` @@ -966,7 +966,7 @@ sum:cadence_worker.es_processor_corrupted_data{*} by {operation}.as_count() * The latency of the processing logic * No monitor needed * Datadog query example -```dql +``` sum:cadence_worker.es_processor_process_msg_latency.quantile{$pXXLatency} by {operation}.as_count() ``` @@ -998,6 +998,7 @@ Depends on which database, you should at least monitor on the below metrics ## Cadence Service SLO Recommendation -* Core API availability: `99.9%` -* Core API latency: `<1s` -* Overall task dispatch latency: `<2s` (queue_latency for transfer task and timer task) +* Core API availability: 99.9% +* Core API latency: <1s +* Overall task dispatch latency: <2s (queue_latency for transfer task and timer task) + diff --git a/docs/07-operation-guide/04-troubleshooting.md b/src/docs/07-operation-guide/04-troubleshooting.md similarity index 91% rename from docs/07-operation-guide/04-troubleshooting.md rename to src/docs/07-operation-guide/04-troubleshooting.md index f25372146..0e897ba8b 100644 --- a/docs/07-operation-guide/04-troubleshooting.md +++ b/src/docs/07-operation-guide/04-troubleshooting.md @@ -5,7 +5,7 @@ permalink: /docs/operation-guide/troubleshooting --- # Cluster Troubleshooting -This section is to cover some common operation issues as a RunBook. Feel free to add more, or raise issues in the to ask for more in [cadence-docs](https://github.com/cadence-workflow/Cadence-Docs/issues) project.Or talk to us in Slack support channel! +This section is to cover some common operation issues as a RunBook. Feel free to add more, or raise issues in the to ask for more in [cadence-docs](https://github.com/uber/cadence-docs/issues) project.Or talk to us in Slack support channel! We will keep adding more stuff. Any contribution is very welcome. @@ -14,12 +14,12 @@ We will keep adding more stuff. Any contribution is very welcome. * Check metrics to see how many List operations are performed per second on the domain. Alternatively you can enable `debug` log level to see more details of how a List request is ratelimited, if it's a staging/QA cluster. * Raise the ratelimiting for the domain if you believe the default ratelimit is too low * `Failed to lock shard. Previous range ID: 132; new range ID: 133` and `Failed to update shard. Previous range ID: 210; new range ID: 212` - * When this keep happening, it's very likely a critical configuration error. Either there are two clusters using the same database, or two clusters are using the same ringpop(bootstrap hosts). + * When this keep happening, it's very likely a critical configuration error. Either there are two clusters using the same database, or two clusters are using the same ringpop(bootstrap hosts). ## API high latency, timeout, Task disptaching slowness Or Too many operations onto DB and timeouts -* If it happens after you attemped to truncate tables inorder to reuse the same database/keyspace for a new cluster, it's possible that the data is not deleted completely. You should make sure to shutdown the Cadence when trucating, and make sure the database is cleaned. Alternatively, use a different keyspace/database is a safer way. +* If it happens after you attemped to truncate tables inorder to reuse the same database/keyspace for a new cluster, it's possible that the data is not deleted completely. You should make sure to shutdown the Cadence when trucating, and make sure the database is cleaned. Alternatively, use a different keyspace/database is a safer way. * Timeout pushing task to matching engine, e.g. `"Fail to process task","service":"cadence-history","shard-id":431,"address":"172.31.48.64:7934","component":"transfer-queue-processor","cluster-name":"active","shard-id":431,"queue-task-id":590357768,"queue-task-visibility-timestamp":1637356594382077880,"xdc-failover-version":-24,"queue-task-type":0,"wf-domain-id":"f4d6824f-9d24-4a82-81e0-e0e080be4c21","wf-id":"55d64d58-e398-4bf5-88bc-a4696a2ba87f:63ed7cda-afcf-41cd-9d5a-ee5e1b0f2844","wf-run-id":"53b52ee0-3218-418e-a9bf-7768e671f9c1","error":"code:deadline-exceeded message:timeout","lifecycle":"ProcessingFailed","logging-call-at":"task.go:331"` - * If this happens after traffic increased for a certain domain, it's likely that a tasklist is overloaded. Consider [scale up the tasklist](/docs/operation-guide/maintain/#scale-up-a-tasklist-using-scalable-tasklist-feature) + * If this happens after traffic increased for a certain domain, it's likely that a tasklist is overloaded. Consider [scale up the tasklist](/docs/operation-guide/maintain/#scale-up-a-tasklist-using-scalable-tasklist-feature) -* If the request volume aligned with the traffic increased on all domain, consider [scale up the cluster](/docs/operation-guide/maintain/#scale-up--down-cluster) +* If the request volume aligned with the traffic increased on all domain, consider [scale up the cluster](/docs/operation-guide/maintain/#scale-up-down-cluster) diff --git a/docs/07-operation-guide/05-migration.md b/src/docs/07-operation-guide/05-migration.md similarity index 92% rename from docs/07-operation-guide/05-migration.md rename to src/docs/07-operation-guide/05-migration.md index dfc54c0bc..f3effe608 100644 --- a/docs/07-operation-guide/05-migration.md +++ b/src/docs/07-operation-guide/05-migration.md @@ -24,11 +24,11 @@ NOTE 1: With this approach, workflow history/visibility will not be migrated to NOTE 2: This is the only way to migrate a local domain, because a local domain cannot be converted to a global domain, even after a cluster enables XDC feature. -NOTE 3: Starting from [version 0.22.0](https://github.com/cadence-workflow/cadence/releases/tag/v0.22.0), global domain is preferred/recommended. Please ensure you create and use global domains only. +NOTE 3: Starting from [version 0.22.0](https://github.com/uber/cadence/releases/tag/v0.22.0), global domain is preferred/recommended. Please ensure you create and use global domains only. If you are using local domains, an easy way is to create a global domain and migrate to the new global domain using the above steps. ## Migrate with [Global Domain Replication](/docs/concepts/cross-dc-replication/#running-in-production) feature -NOTE 1: If a domain are NOT a global domain, you cannot use the XDC feature to migrate. The only way is to migrate in a [naive approach](migration#migrate-with-naive-approach) +NOTE 1: If a domain are NOT a global domain, you cannot use the XDC feature to migrate. The only way is to migrate in a [naive approach](/docs/operation-guide/maintain/#migrate-cadence-cluster) NOTE 2: Only migrating to the same numHistoryShards is allowed. @@ -111,7 +111,7 @@ clusterMetadata: ``` Deploy the config. -In older versions(`<= v0.22`), only `selected-apis-forwarding` is supported. This would require you to deploy a different set of workflow/activity connected to the new Cadence cluster during migration, if high availability/seamless migration is required. Because `selected-apis-forwarding` only forwarding the non-worker APIs. +In older versions(<= v0.22), only `selected-apis-forwarding` is supported. This would require you to deploy a different set of workflow/activity connected to the new Cadence cluster during migration, if high availability/seamless migration is required. Because `selected-apis-forwarding` only forwarding the non-worker APIs. With `all-domain-apis-forwarding` policy, all worker + non-worker APIs are forwarded by Cadence cluster. You don't need to make any deployment change to your workflow/activity workers during migration. Once migration, let all workers connect to the new Cadence cluster before removing/shutdown the old cluster. @@ -129,44 +129,44 @@ cadence --address --do domain update --clu Run the command below to refresh the domain after adding a new cluster to the cluster list; we need to update the active_cluster to the same value that it appears to be. -```bash +``` cadence --address --do domain update --active_cluster ``` * 2.2 failover the domain to be active in new cluster -```bash +``` cadence --address --do workflow-prototype domain update --active_cluster ``` Use the domain describe command to verify the entire domain is replicated to the new cluster. -```bash +``` cadence --address --do domain describe ``` Find an open workflowID that we want to replicate (you can get it from the UI). Use this command to describe it to make sure it’s open and running: -```bash +``` cadence --address --do workflow describe --workflow_id ``` Run a signal command against any workflow and check that it was replicated to the new cluster. Example: -```bash +``` cadence --address --do workflow signal --workflow_id --name ``` This command will send a noop signal to workflows to trigger a decision, which will trigger history replication if needed. Verify the workflow is replicated in the new cluster -```bash +``` cadence --address --st --do workflow describe --workflow_id ``` Also compare the history between the two clusters: -```bash +``` cadence --address --do workflow show --workflow_id ``` -```bash +``` cadence --address --do workflow show --workflow_id ``` @@ -178,7 +178,7 @@ You can repeat Step 2 for all the domains. Or you can use the managed failover f Because replication cannot be triggered without a decision. Again best way is to send a garbage signal to all the workflows. If advanced visibility is enabled, then use batch signal command to start a batch job to trigger replication for all open workflows: -```bash +``` cadence --address --do workflow batch start --batch_type signal --query β€œCloseTime = missing” --signal_name --reason --input --yes ``` @@ -193,7 +193,7 @@ A few things need to do in order to shutdown the old cluster. * Migrate all applications to connect to the frontend of new cluster instead of relying on the forwarding * Watch metric dashboard to make sure no any traffic is happening on the old cluster * Delete the old cluster from domain cluster list. This needs to be done for every domain. -```bash +``` cadence --address --do domain update --clusters ``` * Delete the old cluster from the configuration of the new cluster. diff --git a/docs/07-operation-guide/index.md b/src/docs/07-operation-guide/index.md similarity index 100% rename from docs/07-operation-guide/index.md rename to src/docs/07-operation-guide/index.md diff --git a/docs/08-workflow-troubleshooting/01-timeouts.md b/src/docs/08-workflow-troubleshooting/01-timeouts.md similarity index 85% rename from docs/08-workflow-troubleshooting/01-timeouts.md rename to src/docs/08-workflow-troubleshooting/01-timeouts.md index 41ab5e905..f1306c208 100644 --- a/docs/08-workflow-troubleshooting/01-timeouts.md +++ b/src/docs/08-workflow-troubleshooting/01-timeouts.md @@ -14,7 +14,7 @@ Cadence workers are part of the service that hosts and executes the workflow. Th Mitigation: Make sure these workers are configured with the task lists that are used in the workflow and activities so the server can dispatch tasks to the cadence workers. -[Worker setup example](https://github.com/cadence-workflow/cadence-samples/blob/master/cmd/samples/pageflow/main.go#L18) +[Worker setup example](https://github.com/uber-common/cadence-samples/blob/master/cmd/samples/pageflow/main.go#L18) ## Tasklist backlog despite having pollers @@ -25,7 +25,7 @@ Mitigation: Increase the number of cadence workers by horizontally scaling up th Optionally you can also increase the number of pollers per worker by providing this via worker options. [Link to options in go client](https://pkg.go.dev/go.uber.org/cadence@v1.2.9/internal#WorkerOptions) -[Link to options in java client](https://github.com/cadence-workflow/cadence-java-client/blob/master/src/main/java/com/uber/cadence/internal/worker/PollerOptions.java#L124) +[Link to options in java client](https://github.com/uber/cadence-java-client/blob/master/src/main/java/com/uber/cadence/internal/worker/PollerOptions.java#L124) ## No heartbeat timeout or retry policy configured @@ -37,7 +37,7 @@ For long running activities, while the activity is executing, the worker can die Mitigation: Consider configuring heartbeat timeout and a retry policy -[Example](https://github.com/cadence-workflow/cadence-samples/blob/df6f7bdba978d6565ad78e9f86d9cd31dfac9f78/cmd/samples/expense/workflow.go#L23) +[Example](https://github.com/uber-common/cadence-samples/blob/df6f7bdba978d6565ad78e9f86d9cd31dfac9f78/cmd/samples/expense/workflow.go#L23) [Check retry policy for activity](https://cadenceworkflow.io/docs/concepts/activities/#retries) For short running activities, heart beating is not required but maybe consider increasing the timeout value to suit the actual activity execution time. @@ -48,7 +48,7 @@ Retry policies are configured so activities can be retried after timeouts or fai Mitigation: Consider configuring heartbeat timeout -[Example](https://github.com/cadence-workflow/cadence-samples/blob/df6f7bdba978d6565ad78e9f86d9cd31dfac9f78/cmd/samples/expense/workflow.go#L23) +[Example](https://github.com/uber-common/cadence-samples/blob/df6f7bdba978d6565ad78e9f86d9cd31dfac9f78/cmd/samples/expense/workflow.go#L23) ## Heartbeat timeout configured without a retry policy @@ -64,7 +64,7 @@ Activity has configured heartbeat timeout and the activity timed out with heart Mitigation: Once heartbeat timeout is configured in activity options, you need to make sure the activity periodically sends a heart beat to the server to make sure the server is aware of the activity being alive. -[Example to send periodic heart beat](https://github.com/cadence-workflow/cadence-samples/blob/df6f7bdba978d6565ad78e9f86d9cd31dfac9f78/cmd/samples/fileprocessing/activities.go#L111) +[Example to send periodic heart beat](https://github.com/uber-common/cadence-samples/blob/df6f7bdba978d6565ad78e9f86d9cd31dfac9f78/cmd/samples/fileprocessing/activities.go#L111) In go client, there is an option to register the activity with auto heart beating so that it is done automatically diff --git a/docs/08-workflow-troubleshooting/02-activity-failures.md b/src/docs/08-workflow-troubleshooting/02-activity-failures.md similarity index 100% rename from docs/08-workflow-troubleshooting/02-activity-failures.md rename to src/docs/08-workflow-troubleshooting/02-activity-failures.md diff --git a/docs/08-workflow-troubleshooting/03-retries.md b/src/docs/08-workflow-troubleshooting/03-retries.md similarity index 100% rename from docs/08-workflow-troubleshooting/03-retries.md rename to src/docs/08-workflow-troubleshooting/03-retries.md diff --git a/docs/08-workflow-troubleshooting/index.md b/src/docs/08-workflow-troubleshooting/index.md similarity index 100% rename from docs/08-workflow-troubleshooting/index.md rename to src/docs/08-workflow-troubleshooting/index.md diff --git a/docs/09-about/01-license.md b/src/docs/09-about/01-license.md similarity index 100% rename from docs/09-about/01-license.md rename to src/docs/09-about/01-license.md diff --git a/src/docs/09-about/index.md b/src/docs/09-about/index.md new file mode 100644 index 000000000..687c80fd5 --- /dev/null +++ b/src/docs/09-about/index.md @@ -0,0 +1,21 @@ +--- +layout: default +title: Contact us +permalink: /docs/about +--- + +# Contact us + +If you have a question, check whether it is already answered at stackoverflow under [cadence-workflow](https://stackoverflow.com/questions/tagged/cadence-workflow) tag. + +If you still need help, visit . + +If you have a feature request or a bug to report file an issue against one of the Cadence github repositories: + +* [Cadence Service and CLI](https://github.com/uber/cadence) +* [Cadence Go Client](https://github.com/uber-go/cadence-client) +* [Cadence Go Client Samples](https://github.com/uber-common/cadence-samples) +* [Cadence Java Client](https://github.com/uber-java/cadence-client) +* [Cadence Java Client Samples](https://github.com/uber/cadence-java-samples) +* [Cadence Web UI](https://github.com/uber/cadence-web) + diff --git a/src/docs/test-pages/02-code-tabs.md b/src/docs/test-pages/02-code-tabs.md new file mode 100644 index 000000000..ac36e626a --- /dev/null +++ b/src/docs/test-pages/02-code-tabs.md @@ -0,0 +1,153 @@ +--- +layout: default +title: Code tabs +permalink: /docs/test-page/code-tabs +--- + +# Code tabs + +This is an example of code tabs + + + + + + +And another example also updates to selected language + + + + + diff --git a/src/docs/test-pages/03-glossary.md b/src/docs/test-pages/03-glossary.md new file mode 100644 index 000000000..f82757ee8 --- /dev/null +++ b/src/docs/test-pages/03-glossary.md @@ -0,0 +1,41 @@ +--- +layout: default +title: Glossary +permalink: /docs/test-pages/glossary +--- + +# Glossary + +This plugin allows referencing to a glossary term defined in `GLOSSARY.md`. To use it, just use `:term_name:`. If you want to use the plural of the term, simply put the display text in as the following `:term_name:term_names:` to render `term names` + +## Example of glossary reference + +Cadence guarantees that there could be only one workflow (across all workflow types) with a given ID open per :domain: at any time. An attempt to start a workflow with the same ID is going to fail with `WorkflowExecutionAlreadyStarted` error. + +## Example of all glossary items +* :activity:, :activity:activities: +* :activity_task:, :activity_task:activity_tasks: +* :activity_task_list:, :activity_task_list:activity_task_lists: +* :activity_worker:, :activity_worker:activity_workers: +* :archival: +* :cli: +* :client_stub:, :client_stub:client_stubs: +* :decision:, :decision:decisions: +* :decision_task:, :decision_task:decision_tasks: +* :decision_task_list:, :decision_task_list:decision_task_lists: +* :domain:, :domain:domains: +* :event:, :event:events: +* :event_history:, :event_history:event_histories: +* :local_activity:, :local_activity:local_activities: +* :query:, :query:queries: +* :run_id:, :run_id:run_ids: +* :signal:, :signal:signals: +* :task:, :task:tasks: +* :task_list:, :task_list:task_lists: +* :task_token:, :task_token:task_tokens: +* :worker:, :worker:workers: +* :workflow:, :workflow:workflows: +* :workflow_execution:, :workflow_execution:workflow_executions: +* :workflow_id:, :workflow_id:workflow_ids: +* :workflow_task:, :workflow_task:workflow_tasks: +* :workflow_worker:, :workflow_worker:workflow_workers: diff --git a/src/docs/test-pages/index.md b/src/docs/test-pages/index.md new file mode 100644 index 000000000..77d576023 --- /dev/null +++ b/src/docs/test-pages/index.md @@ -0,0 +1,19 @@ +--- +layout: default +title: Table of contents +permalink: /docs/test-pages +--- + +# Table of contents + +This is an example of a section level table of contents + +[[toc]] + +## `vuepress.function(a, b)` + +Text describing my function + +## `docdoc(file)` + +Text describing my function \ No newline at end of file diff --git a/src/grafana/prometheus/Cadence-Client.json b/src/grafana/prometheus/Cadence-Client.json new file mode 100644 index 000000000..126d8aaa4 --- /dev/null +++ b/src/grafana/prometheus/Cadence-Client.json @@ -0,0 +1,2409 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "target": { + "limit": 100, + "matchAny": false, + "tags": [], + "type": "dashboard" + }, + "type": "dashboard" + } + ] + }, + "editable": true, + "fiscalYearStartMonth": 0, + "gnetId": null, + "graphTooltip": 0, + "id": 5211598, + "iteration": 1638064520253, + "links": [], + "liveNow": false, + "panels": [ + { + "collapsed": true, + "datasource": null, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 46, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 1 + }, + "hiddenSeries": false, + "id": 6, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "sum(rate(cadence_workflow_start_total{namespace=\"$namespace\",domain=\"$domain\"}[2m]))", + "hide": false, + "interval": "", + "legendFormat": "Start", + "refId": "A" + }, + { + "exemplar": true, + "expr": "sum(rate(cadence_workflow_completed_total{namespace=\"$namespace\",domain=\"$domain\"}[2m]))", + "hide": false, + "interval": "", + "legendFormat": "Completed", + "refId": "B" + }, + { + "exemplar": true, + "expr": "sum(rate(cadence_workflow_canceled_total{namespace=\"$namespace\",domain=\"$domain\"}[2m]))", + "hide": false, + "interval": "", + "legendFormat": "Canceled", + "refId": "C" + }, + { + "exemplar": true, + "expr": "sum(rate(cadence_workflow_continue_as_new_total_total{namespace=\"$namespace\",domain=\"$domain\"}[2m]))", + "interval": "", + "legendFormat": "Continued As New", + "refId": "F" + }, + { + "exemplar": true, + "expr": "sum(rate(cadence_workflow_signal_with_start_total{namespace=\"$namespace\",domain=\"$domain\"}[2m]))", + "interval": "", + "legendFormat": "Signal With Start", + "refId": "G" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Workflow Start/Success", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "description": "TODO: how to add rate()? https://stackoverflow.com/questions/66286901/how-to-apply-rate-to-expression-with-name", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 1 + }, + "hiddenSeries": false, + "id": 8, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "sum(count(cadence_workflow_failed{namespace=\"$namespace\"})) by (domain,workflowtype)", + "format": "time_series", + "hide": false, + "interval": "", + "legendFormat": "FailedOnClient", + "refId": "A" + }, + { + "exemplar": true, + "expr": "sum(count(workflow_failed{cadence_service=\"cadence_history\",namespace=\"$namespace\"})) by (domain,workflowtype)", + "hide": false, + "interval": "", + "legendFormat": "FailedOnServer", + "refId": "B" + }, + { + "exemplar": true, + "expr": "sum(count(workflow_terminate{cadence_service=\"cadence_history\",namespace=\"$namespace\"})) by (domain,workflowtype)", + "hide": false, + "interval": "", + "legendFormat": "Terminate", + "refId": "C" + }, + { + "exemplar": true, + "expr": "sum(count(workflow_timeout{cadence_service=\"cadence_history\",namespace=\"$namespace\"})) by (domain,workflowtype)", + "hide": false, + "interval": "", + "legendFormat": "Timeout", + "refId": "D" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Workflow Failure", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 9 + }, + "hiddenSeries": false, + "id": 5, + "legend": { + "alignAsTable": false, + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "sum(count(cadence_decision_poll_total{namespace=\"$namespace\", Domain=\"$domain\"})) by (domain,tasklist)", + "hide": false, + "interval": "", + "legendFormat": "Total", + "refId": "A" + }, + { + "exemplar": true, + "expr": "sum(count(cadence_decision_poll_failed{namespace=\"$namespace\", Domain=\"$domain\"})) by (domain,tasklist)", + "hide": false, + "interval": "", + "legendFormat": "Failed", + "refId": "B" + }, + { + "exemplar": true, + "expr": "sum(count(cadence_decision_poll_no_task{namespace=\"$namespace\", Domain=\"$domain\"})) by (domain,tasklist)", + "interval": "", + "legendFormat": "No Task", + "refId": "C" + }, + { + "exemplar": true, + "expr": "sum(count(cadence_decision_poll_succeed{namespace=\"$namespace\", Domain=\"$domain\"})) by (domain,tasklist)", + "interval": "", + "legendFormat": "Succeed", + "refId": "D" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Decision Poll Counters", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 9 + }, + "hiddenSeries": false, + "id": 7, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "sum(rate(cadence_requests_per_tl{namespace=\"$namespace\",operation=\"AddDecisionTask\"}[2m])) by(tasklist,domain)", + "hide": false, + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Decisions Started Per Second", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 17 + }, + "hiddenSeries": false, + "id": 9, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "avg(cadence_decision_scheduled_to_start_latency_seconds_count) by (Domain, TaskList)", + "hide": false, + "interval": "", + "legendFormat": "", + "refId": "A" + }, + { + "exemplar": true, + "expr": "max(cadence_decision_scheduled_to_start_latency_seconds_max) by (Domain, TaskList)", + "hide": false, + "interval": "", + "legendFormat": "", + "refId": "B" + }, + { + "exemplar": true, + "expr": "histogram_quantile(0.95, sum(rate(cadence_decision_scheduled_to_start_latency_seconds_sum{Domain=\"$domain\",namespace=\"$namespace\"} [5m])) by (le,Domain,TaskList) )", + "hide": false, + "interval": "", + "legendFormat": "", + "refId": "C" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Decision Scheduled To Start Latency", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 17 + }, + "hiddenSeries": false, + "id": 93, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "sum(rate(cadence_worker_panic{namespace=\"$namespace\"}[2m])) by(namespace,domain)", + "hide": false, + "interval": "", + "legendFormat": "", + "refId": "A" + }, + { + "exemplar": true, + "expr": "sum(rate(cadence_non_deterministic_error{namespace=\"$namespace\"}[2m])) by(namespace,domain)", + "hide": false, + "interval": "", + "legendFormat": "", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "NonDeterministicError and Worker Panic", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 25 + }, + "hiddenSeries": false, + "id": 94, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "sum(count(cadence_sticky_cache_hit{namespace=\"$namespace\",domain=\"$domain\"})) by (Domain, TaskList)/\n(sum(count(cadence_sticky_cache_hit{namespace=\"$namespace\",domain=\"$domain\"})) by (Domain, TaskList)+\nsum(count(cadence_sticky_cache_miss{namespace=\"$namespace\",domain=\"$domain\"})) by (Domain, TaskList))*100", + "hide": false, + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Workflow Sticky Cache Hit Rate and Miss count", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 25 + }, + "hiddenSeries": false, + "id": 95, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "sum(count(cadence_sticky_cache_total_forced_eviction{namespace=\"$namespace\",domain=\"$domain\"})) by (domain)", + "hide": false, + "interval": "", + "legendFormat": "RegularEviction", + "refId": "A" + }, + { + "exemplar": true, + "expr": "sum(count(cadence_sticky_cache_thread_forced_eviction{namespace=\"$namespace\",domain=\"$domain\"})) by (domain)", + "hide": false, + "interval": "", + "legendFormat": "ForcedEvictionCacheFull", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Workflow Sticky Cache Eviction", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 33 + }, + "hiddenSeries": false, + "id": 96, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "histogram_quantile(0.95, sum(avg(cadence_workflow_endtoend_latency_bucket)) by (le,namespace,Domain,TaskList,workflowType))", + "hide": false, + "interval": "", + "legendFormat": "", + "refId": "D" + }, + { + "exemplar": true, + "expr": "histogram_quantile(0.50, sum(avg(cadence_workflow_endtoend_latency_bucket)) by (le,namespace,Domain,TaskList,workflowType))", + "hide": false, + "interval": "", + "legendFormat": "", + "refId": "E" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Workflow End to End Latency", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "title": "Workflow", + "type": "row" + }, + { + "collapsed": true, + "datasource": null, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 1 + }, + "id": 44, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 2 + }, + "hiddenSeries": false, + "id": 11, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "sum(count(cadence_activity_task_failed{namespace=\"$namespace\",domain=\"$domain\"})) by (activitytype)", + "hide": false, + "interval": "", + "legendFormat": "Failed", + "refId": "A" + }, + { + "exemplar": true, + "expr": "sum(count(cadence_activity_task_completed{namespace=\"$namespace\",domain=\"$domain\"})) by (activitytype)", + "interval": "", + "legendFormat": "Completed", + "refId": "B" + }, + { + "exemplar": true, + "expr": "sum(rate(cadence_activity_task_timeouted{namespace=\"$namespace\",domain=\"$domain\"}[2m])) by (activitytype)", + "hide": false, + "interval": "", + "legendFormat": "Timeouted", + "refId": "C" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Activity Task Operations", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 2 + }, + "hiddenSeries": false, + "id": 47, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "avg(cadence_activity_execution_latency) by (namespace,domain,tasklist,activitytype)", + "hide": false, + "interval": "", + "legendFormat": "avg latency", + "refId": "A" + }, + { + "exemplar": true, + "expr": "max(cadence_activity_execution_latency) by (namespace,domain,tasklist,activitytype)", + "hide": false, + "interval": "", + "legendFormat": "", + "refId": "C" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Activity Execution Latency", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 10 + }, + "hiddenSeries": false, + "id": 97, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "sum(count(cadence_activity_poll_total{namespace=\"$namespace\",domain=\"$domain\"})) by (activitytype)", + "hide": false, + "interval": "", + "legendFormat": "", + "refId": "A" + }, + { + "exemplar": true, + "expr": "sum(count(cadence_activity_poll_failed{namespace=\"$namespace\",domain=\"$domain\"})) by (activitytype)", + "interval": "", + "legendFormat": "Completed", + "refId": "B" + }, + { + "exemplar": true, + "expr": "sum(cadence_activity_poll_succeed{namespace=\"$namespace\",domain=\"$domain\"}) by (activitytype)", + "hide": false, + "interval": "", + "legendFormat": "", + "refId": "C" + }, + { + "exemplar": true, + "expr": "sum(cadence_activity_poll_no_task{namespace=\"$namespace\",domain=\"$domain\"}) by (activitytype)", + "hide": false, + "interval": "", + "legendFormat": "", + "refId": "D" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Activity Poll Counters", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 10 + }, + "hiddenSeries": false, + "id": 98, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "sum(rate(cadence_requests_per_tl{cadence_service=\"cadence_matching\",namespace=\"$namespace\"}[5m])) by (domain,tasklist)", + "hide": false, + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "ActivityTasks scheduled per Second", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 18 + }, + "hiddenSeries": false, + "id": 99, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "avg(cadence_activity_scheduled_to_start_latency_count{Domain=\"$domain\",namespace=\"$namespace\"}) by (Domain, TaskList,ActivityType)", + "hide": false, + "interval": "", + "legendFormat": "", + "refId": "A" + }, + { + "exemplar": true, + "expr": "max(cadence_activity_scheduled_to_start_latency_max{Domain=\"$domain\",namespace=\"$namespace\"}) by (Domain,TaskList,ActivityType)", + "hide": false, + "interval": "", + "legendFormat": "", + "refId": "B" + }, + { + "exemplar": true, + "expr": "histogram_quantile(0.95, max(cadence_activity_scheduled_to_start_latency_sum{Domain=\"$domain\",namespace=\"$namespace\"} ) by (leDomain, TaskList,ActivityType) )", + "hide": false, + "interval": "", + "legendFormat": "", + "refId": "C" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Activity Scheduled To Start Latency", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 18 + }, + "hiddenSeries": false, + "id": 100, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "sum(count(cadence_activity_execution_failed{namespace=\"$namespace\",domain=\"$domain\"}))by(domain,activitytype)\n", + "hide": false, + "interval": "", + "legendFormat": "ExecFailedOnClient", + "refId": "A" + }, + { + "exemplar": true, + "expr": "sum(count(cadence_activity_task_panic{namespace=\"$namespace\",domain=\"$domain\"}))by(domain)", + "hide": false, + "interval": "", + "legendFormat": "TaskPanicOnClient", + "refId": "B" + }, + { + "exemplar": true, + "expr": "sum(count(cadence_activity_task_failed{namespace=\"$namespace\",domain=\"$domain\"}))by(domain,activitytype)", + "hide": false, + "interval": "", + "legendFormat": "TaskFailedOnClient", + "refId": "C" + }, + { + "exemplar": true, + "expr": "sum(count(cadence_activity_task_canceled{namespace=\"$namespace\",domain=\"$domain\"}))by(domain)", + "hide": false, + "interval": "", + "legendFormat": "TaskCanceledOnClient", + "refId": "D" + }, + { + "exemplar": true, + "expr": "sum(count(heartbeat_timeout{cadence_service=\"cadence_history\",namespace=\"$namespace\",domain=\"$domain\"}))by(domain)", + "hide": false, + "interval": "", + "legendFormat": "HeartbeatTimeout", + "refId": "E" + }, + { + "exemplar": true, + "expr": "sum(count(schedule_to_start_timeout{cadence_service=\"cadence_history\",namespace=\"$namespace\",domain=\"$domain\"}))by(domain)", + "hide": false, + "interval": "", + "legendFormat": "ScheduledToStartTimeout", + "refId": "F" + }, + { + "exemplar": true, + "expr": "sum(count(start_to_close_timeout{cadence_service=\"cadence_history\",namespace=\"$namespace\",domain=\"$domain\"}))by(domain)", + "hide": false, + "interval": "", + "legendFormat": "StartToCloseTimeout", + "refId": "G" + }, + { + "exemplar": true, + "expr": "sum(count(schedule_to_close_timeout{cadence_service=\"cadence_history\",namespace=\"$namespace\",domain=\"$domain\"}))by(domain)", + "hide": false, + "interval": "", + "legendFormat": "ScheduledToCloseTimeout", + "refId": "H" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Activity Failure", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "title": "Activity", + "type": "row" + }, + { + "collapsed": true, + "datasource": null, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 2 + }, + "id": 102, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 3 + }, + "hiddenSeries": false, + "id": 104, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "(\n1 - count(cadence_error{namespace=\"$namespace\",domain=\"$domain\"})by(domain)/\ncount(cadence_request{namespace=\"$namespace\",domain=\"$domain\"})by(domain)\n) * 100\n\n\n", + "hide": false, + "interval": "", + "legendFormat": "ExecFailedOnClient", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Service API success rate", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 3 + }, + "hiddenSeries": false, + "id": 105, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "sum(avg_over_time(cadence_latency{Domain=\"$domain\",namespace=\"$namespace\"} [1m])) by (Domain)", + "hide": false, + "interval": "", + "legendFormat": "", + "refId": "A" + }, + { + "exemplar": true, + "expr": "histogram_quantile(0.95, sum(rate(cadence_latency{Domain=\"$domain\",namespace=\"$namespace\"} [5m])) by (le,domain) )", + "hide": false, + "interval": "", + "legendFormat": "", + "refId": "B" + }, + { + "exemplar": true, + "expr": "histogram_quantile(0.5, sum(rate(cadence_latency{Domain=\"$domain\",namespace=\"$namespace\"} [5m])) by (le,domain) )", + "hide": false, + "interval": "", + "legendFormat": "", + "refId": "C" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Service API Latency (TODO exclude long-poll APIs)", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "title": "Service", + "type": "row" + }, + { + "collapsed": false, + "datasource": null, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 3 + }, + "id": 107, + "panels": [], + "title": "History", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 4 + }, + "hiddenSeries": false, + "id": 108, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "histogram_quantile($quantiles, (max by (le, domain) (history_size_bucket{namespace=\"$namespace\"})))*1000000000", + "hide": false, + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Max History Size", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 4 + }, + "hiddenSeries": false, + "id": 109, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "sum by (domain) (history_count_sum{namespace=\"$namespace\",domain!=\"all\"}/history_count_count{namespace=\"$namespace\",domain!=\"all\"})\n*1000000000", + "hide": false, + "interval": "", + "legendFormat": "", + "refId": "C" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg History Length ", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 12 + }, + "hiddenSeries": false, + "id": 110, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "max(histogram_quantile(1, max(event_blob_size_bucket) by (le)))*1000000000", + "hide": false, + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Max Event Blob Size", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "refresh": "", + "schemaVersion": 31, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "allValue": null, + "current": { + "selected": false, + "text": "cadence-master", + "value": "cadence-master" + }, + "datasource": "Prometheus", + "definition": "label_values({__name__=~ \"cadence_requests|cadence_decision_scheduled_to_start_latency_seconds_sum\"}, namespace)", + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": "Namespace", + "multi": false, + "name": "namespace", + "options": [], + "query": { + "query": "label_values({__name__=~ \"cadence_requests|cadence_decision_scheduled_to_start_latency_seconds_sum\"}, namespace)", + "refId": "Prometheus-namespace-Variable-Query" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "selected": false, + "text": "all", + "value": "all" + }, + "datasource": "Prometheus", + "definition": "label_values(activity_end_to_end_latency_sum{namespace=\"$namespace\"}, domain)", + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": "Domain", + "multi": true, + "name": "domain", + "options": [], + "query": { + "query": "label_values(activity_end_to_end_latency_sum{namespace=\"$namespace\"}, domain)", + "refId": "Prometheus-domain-Variable-Query" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "selected": false, + "text": "0.99", + "value": "0.99" + }, + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": "Quantiles", + "multi": false, + "name": "quantiles", + "options": [ + { + "selected": false, + "text": "0.5", + "value": "0.5" + }, + { + "selected": false, + "text": "0.95", + "value": "0.95" + }, + { + "selected": true, + "text": "0.99", + "value": "0.99" + } + ], + "query": "0.5, 0.95, 0.99", + "queryValue": "", + "skipUrlSync": false, + "type": "custom" + } + ] + }, + "time": { + "from": "now-5m", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ] + }, + "timezone": "", + "title": "Cadence-Client-Basic", + "uid": "1B0efRyGy2", + "version": 2 +} diff --git a/src/grafana/prometheus/Cadence-Server.json b/src/grafana/prometheus/Cadence-Server.json new file mode 100644 index 000000000..04091742e --- /dev/null +++ b/src/grafana/prometheus/Cadence-Server.json @@ -0,0 +1,5365 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "target": { + "limit": 100, + "matchAny": false, + "tags": [], + "type": "dashboard" + }, + "type": "dashboard" + } + ] + }, + "editable": true, + "fiscalYearStartMonth": 0, + "gnetId": null, + "graphTooltip": 0, + "id": 5210895, + "iteration": 1638067194224, + "links": [], + "liveNow": false, + "panels": [ + { + "collapsed": false, + "datasource": null, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 46, + "panels": [], + "title": "Overall", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 1 + }, + "hiddenSeries": false, + "id": 6, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(cadence_errors{cadence_service=\"cadence_frontend\", namespace=\"$namespace\"})", + "interval": "", + "legendFormat": "\"Errors\"", + "refId": "A" + }, + { + "expr": "sum(cadence_requests{cadence_service=\"cadence_frontend\", namespace=\"$namespace\"})", + "interval": "", + "legendFormat": "\"Requests\"", + "refId": "B" + }, + { + "expr": "1-(sum(cadence_errors{cadence_service=\"cadence_frontend\", namespace=\"$namespace\"}))/(sum(cadence_requests{cadence_service=\"cadence_frontend\", namespace=\"$namespace\"}))*100", + "interval": "", + "legendFormat": "\"Server availability\"", + "refId": "C" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Service Availability(server metrics)", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "description": "TODO: how to add rate()? https://stackoverflow.com/questions/66286901/how-to-apply-rate-to-expression-with-name", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 1 + }, + "hiddenSeries": false, + "id": 8, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(cadence_requests{namespace=\"$namespace\",operation=\"PollForActivityTask\"}[2m]))", + "format": "time_series", + "hide": false, + "interval": "", + "legendFormat": "Activities Started per Second:", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Activities Started Per Second", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 9 + }, + "hiddenSeries": false, + "id": 5, + "legend": { + "alignAsTable": false, + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(cadence_requests{cadence_service=\"cadence_frontend\",namespace=\"$namespace\",operation=\"StartWorkflowExecution\"}[1m]))", + "hide": false, + "interval": "", + "legendFormat": "StartWorkflowExecution", + "refId": "A" + }, + { + "expr": "sum(rate(cadence_requests{cadence_service=\"cadence_frontend\",namespace=\"$namespace\",operation=\"SignalWithStartWorkflowExecution\"}[1m]))", + "hide": false, + "interval": "", + "legendFormat": "SignalWithStartWorkflowExecution:", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "StartWorkflow Per Second", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 9 + }, + "hiddenSeries": false, + "id": 7, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(cadence_requests{namespace=\"$namespace\",operation=\"PollForDecisionTask\"}[2m]))", + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Decisions Started Per Second", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 17 + }, + "hiddenSeries": false, + "id": 9, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(workflow_success{cadence_service=\"cadence_history\",namespace=\"$namespace\",workflowType=\"workflow_sanity\"}) by (workflowType)", + "interval": "", + "legendFormat": "{{workflowType}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Periodical Test Suite Success(aka Canary)", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "datasource": null, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 25 + }, + "id": 44, + "panels": [], + "title": "Frontend", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 26 + }, + "hiddenSeries": false, + "id": 11, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "(1-sum(cadence_errors{cadence_service=\"cadence_frontend\",namespace=\"$namespace\"})/sum(cadence_requests{cadence_service=\"cadence_frontend\",namespace=\"$namespace\"}))*100", + "hide": true, + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Service API success rate by Client(includes client side error like EntityNotExists)", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 26 + }, + "hiddenSeries": false, + "id": 47, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "(1-sum(cadence_errors{cadence_service=\"cadence_frontend\",namespace=\"$namespace\"})/sum(cadence_requests{cadence_service=\"cadence_frontend\",namespace=\"$namespace\"}))*100", + "hide": false, + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Service Availability(server metrics)", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 34 + }, + "hiddenSeries": false, + "id": 48, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(cadence_requests{cadence_service=\"cadence_frontend\",namespace=\"$namespace\"}[2m]))", + "interval": "", + "legendFormat": "", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "All API per second", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 34 + }, + "hiddenSeries": false, + "id": 49, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(cadence_requests{cadence_service=\"cadence_frontend\",namespace=\"$namespace\"}[2m])) by (operation)", + "interval": "", + "legendFormat": "", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "API per second(breakdown per operation)", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 42 + }, + "hiddenSeries": false, + "id": 50, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "histogram_quantile($quantiles, (sum by (le, operation) (rate(cadence_latency_bucket{namespace=\"$namespace\",operation!~\"CountWorkflowExecutions|GetWorkflowExecutionHistory|ListClosedWorkflowExecutions|ListOpenWorkflowExecutions|ListWorkflowExecutions|PollForActivityTask|PollForDecisionTask|QueryWorkflow\"}[2m]))))", + "hide": false, + "interval": "", + "legendFormat": "{{operation}}", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Regular API Latency", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 42 + }, + "hiddenSeries": false, + "id": 51, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "histogram_quantile($quantiles, (sum by (le, operation) (rate(cadence_latency_bucket{namespace=\"$namespace\",operation=~\"CountWorkflowExecutions|GetWorkflowExecutionHistory|ListClosedWorkflowExecutions|ListOpenWorkflowExecutions|ListWorkflowExecutions|PollForActivityTask|PollForDecisionTask|QueryWorkflow\"}[2m]))))", + "hide": false, + "interval": "", + "legendFormat": "{{operation}}", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "ListWorkflow API Latency", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 50 + }, + "hiddenSeries": false, + "id": 52, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "histogram_quantile($quantiles, (sum by (le, operation) (rate(cadence_latency_bucket{namespace=\"$namespace\",operation=\"PollForDecisionTask\"}[2m]))))", + "hide": false, + "interval": "", + "legendFormat": "", + "refId": "B" + }, + { + "expr": "histogram_quantile($quantiles, (sum by (le, operation) (rate(cadence_latency_bucket{namespace=\"$namespace\",operation=\"PollForActivityTask\"}[2m]))))", + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Long Poll API Latency", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 50 + }, + "hiddenSeries": false, + "id": 53, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "histogram_quantile($quantiles, (sum by (le, operation) (rate(cadence_latency_bucket{namespace=\"$namespace\", cadence_service=\"cadence_frontend\", operation=~\"GetWorkflowExecutionHistory|QueryWorkflow\"}[2m]))))", + "hide": false, + "interval": "", + "legendFormat": "", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "GetHistory/QueryWorkflow API Latency", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 58 + }, + "hiddenSeries": false, + "id": 54, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(cadence_errors{cadence_service=\"cadence_frontend\"}[2m]))", + "interval": "", + "legendFormat": "Internal server error", + "refId": "A" + }, + { + "expr": "sum(rate(cadence_errors_bad_request{cadence_service=\"cadence_frontend\"}[2m]))", + "hide": false, + "interval": "", + "legendFormat": "Bad Requests error", + "refId": "B" + }, + { + "expr": "sum(rate(cadence_errors_query_failed{cadence_service=\"cadence_frontend\"}[2m]))", + "interval": "", + "legendFormat": "QueryFailed error", + "refId": "C" + }, + { + "expr": "sum(rate(cadence_errors_context_timeout{cadence_service=\"cadence_frontend\"}[2m]))", + "interval": "", + "legendFormat": "ContextTimeout error", + "refId": "D" + }, + { + "expr": "sum(rate(cadence_errors_entity_not_exists{cadence_service=\"cadence_frontend\"}[2m]))", + "interval": "", + "legendFormat": "EntityNotExists error", + "refId": "E" + }, + { + "expr": "sum(rate(cadence_errors_execution_already_started{cadence_service=\"cadence_frontend\"}[2m]))", + "interval": "", + "legendFormat": "WorkflowAlreadyStarted error", + "refId": "F" + }, + { + "expr": "sum(rate(cadence_errors_workflow_execution_already_completed{cadence_service=\"cadence_frontend\"}[2m]))", + "interval": "", + "legendFormat": "WorkflowAlreadyCompleted", + "refId": "G" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "API errors per second(breakdown per operation)", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 58 + }, + "hiddenSeries": false, + "id": 55, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(cadence_requests{cadence_service=\"cadence_frontend\",namespace=\"$namespace\", operation=~\"SignalWithStartworkflowExecution|SignalWorkflowExecution|StartWorkflowExecution|TerminateWorkflowExecution|ResetWorkflowExecution|RequestCancelWorkflowExecution|ListWorkflowExecutions\"}[2m])) by (domain, operation)", + "hide": false, + "interval": "", + "legendFormat": "Domain: {{domain}}- Operation: {{operation}}", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "WorkflowClient API per seconds by domain", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 66 + }, + "hiddenSeries": false, + "id": 56, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(cadence_requests{cadence_service=\"cadence_frontend\",namespace=\"$namespace\", operation!~\"CountWorkflowExecutions|GetWorkflowExecutionHistory|ListClosedWorkflowExecutions|ListOpenWorkflowExecutions|ListWorkflowExecutions|PollForActivityTask|PollForDecisionTask|QueryWorkflow\"}) by (domain, operation)", + "hide": false, + "interval": "", + "legendFormat": "Domain: {{domain}}- Operation: {{operation}}", + "refId": "B" + }, + { + "expr": "", + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Regular API Per Domain", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "cacheTimeout": null, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 6, + "w": 23, + "x": 0, + "y": 74 + }, + "id": 57, + "interval": null, + "links": [], + "options": { + "displayMode": "gradient", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "max" + ], + "fields": "", + "values": false + }, + "showUnfilled": true, + "text": {} + }, + "pluginVersion": "8.2.1", + "targets": [ + { + "expr": "sum(cadence_requests{cadence_service=\"cadence_frontend\",namespace=\"$namespace\", operation=~\"SignalWithStartWorkflowExecution|SignalWorkflowxecution|StartWorkflowExecution|TerminateWorkflowExecution|ResetWorkflowExecution|RequestCancelWorkflowexecution|ListWorkflowExecutions\"}) by (domain)", + "hide": false, + "interval": "", + "legendFormat": "{{domain}}", + "refId": "B" + }, + { + "expr": "", + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Top Domains for Regular Requests", + "type": "bargauge" + }, + { + "cacheTimeout": null, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 6, + "w": 23, + "x": 0, + "y": 80 + }, + "id": 58, + "interval": null, + "links": [], + "options": { + "displayMode": "gradient", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "mean" + ], + "fields": "", + "values": false + }, + "showUnfilled": true, + "text": {} + }, + "pluginVersion": "8.2.1", + "targets": [ + { + "expr": "sum(cadence_requests{cadence_service=\"cadence_frontend\",namespace=\"$namespace\", operation=~\"PollForDecisionTask|GetWorkflowExecutionHistory|RespondDecisionTaskCompleted\"}) by (domain)", + "hide": false, + "interval": "", + "legendFormat": "{{domain}}{{operation}}", + "refId": "B" + }, + { + "expr": "cadence_requests{cadence_service=\"cadence_worker\",namespace=\"$namespace\"}", + "hide": true, + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Top Domains for Workflow Worker Requests", + "type": "bargauge" + }, + { + "cacheTimeout": null, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 6, + "w": 23, + "x": 0, + "y": 86 + }, + "id": 59, + "interval": null, + "links": [], + "options": { + "displayMode": "gradient", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "mean" + ], + "fields": "", + "values": false + }, + "showUnfilled": true, + "text": {} + }, + "pluginVersion": "8.2.1", + "targets": [ + { + "expr": "sum(cadence_requests{cadence_service=\"cadence_frontend\",namespace=\"$namespace\", operation=~\"PollForActivityTask|RespondActivityTaskCompleted\"}) by (domain)", + "hide": false, + "interval": "", + "legendFormat": "{{domain}}{{operation}}", + "refId": "B" + }, + { + "expr": "cadence_requests{cadence_service=\"cadence_worker\",namespace=\"$namespace\"}", + "hide": true, + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Top Domains for Activity Worker Requests", + "type": "bargauge" + }, + { + "cacheTimeout": null, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 6, + "w": 23, + "x": 0, + "y": 92 + }, + "id": 60, + "interval": null, + "links": [], + "options": { + "displayMode": "gradient", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "mean" + ], + "fields": "", + "values": false + }, + "showUnfilled": true, + "text": {} + }, + "pluginVersion": "8.2.1", + "targets": [ + { + "expr": "sum(cadence_requests{cadence_service=\"cadence_frontend\",namespace=\"$namespace\"}) by (domain)", + "hide": false, + "interval": "", + "legendFormat": "{{domain}}{{operation}}", + "refId": "B" + }, + { + "expr": "cadence_requests{cadence_service=\"cadence_worker\",namespace=\"$namespace\"}", + "hide": true, + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Top Domains for All Requests", + "type": "bargauge" + }, + { + "collapsed": true, + "datasource": null, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 98 + }, + "id": 42, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 3 + }, + "hiddenSeries": false, + "id": 61, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(membership_changed_count{cadence_service=\"cadence_history\",namespace=\"$namespace\",operation=\"ShardController\"})", + "hide": false, + "interval": "", + "legendFormat": "Membership Changed Count", + "refId": "A" + }, + { + "expr": "sum(shard_closed_count{cadence_service=\"cadence_history\",namespace=\"$namespace\",operation=\"ShardController\"})", + "interval": "", + "legendFormat": "Shard Closed Count", + "refId": "B" + }, + { + "expr": "sum(sharditem_created_count{cadence_service=\"cadence_history\",namespace=\"$namespace\",operation=\"ShardController\"})", + "interval": "", + "legendFormat": "Shard Item Created Count", + "refId": "C" + }, + { + "expr": "sum(sharditem_removed_count{cadence_service=\"cadence_history\",namespace=\"$namespace\",operation=\"ShardController\"})", + "interval": "", + "legendFormat": "Shard Item Removed Count", + "refId": "D" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "History Shard Movements", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 3 + }, + "hiddenSeries": false, + "id": 62, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(cadence_requests{cadence_service=\"cadence_history\",namespace=\"$namespace\"}[2m]))", + "hide": false, + "interval": "", + "legendFormat": "Membership Changed Count", + "refId": "A" + }, + { + "expr": "", + "interval": "", + "legendFormat": "", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "History API per Second", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 11 + }, + "hiddenSeries": false, + "id": 63, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(cadence_errors{cadence_service=\"cadence_history\"}[2m]))", + "hide": false, + "interval": "", + "legendFormat": "cadence errors: ", + "refId": "A" + }, + { + "expr": "sum(rate(cadence_errors_entity_not_exists{cadence_service=\"cadence_history\"}[2m]))", + "hide": false, + "interval": "", + "legendFormat": "Error: entity_not_exists", + "refId": "B" + }, + { + "expr": "sum(cadence_errors_execution_already_started{cadence_service=\"cadence_history\"})", + "hide": false, + "interval": "", + "legendFormat": "Error: execution_already_started", + "refId": "C" + }, + { + "expr": "sum(cadence_errors_workflow_id_exceeded_warn_limit{cadence_service=\"cadence_history\"})", + "hide": false, + "interval": "", + "legendFormat": "Error: workflow_id_exceeded_warn_limit", + "refId": "D" + }, + { + "expr": "sum(cadence_errors_workflow_execution_already_completed{cadence_service=\"cadence_history\"})", + "hide": false, + "interval": "", + "legendFormat": "Error: workflow_execution_already_completed", + "refId": "E" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "History API Errors per Second", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 11 + }, + "hiddenSeries": false, + "id": 64, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "histogram_quantile($quantiles, (sum by (le, operation) (rate(cadence_latency_bucket{namespace=\"$namespace\", cadence_service=\"cadence_history\",operation!~\"PollMutableState\"}[2m]))))", + "hide": false, + "interval": "", + "legendFormat": "{{operation}}", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Regular API Latency", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 19 + }, + "hiddenSeries": false, + "id": 65, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(task_requests{cadence_service=\"cadence_history\",namespace=\"$namespace\",operation=~\"TransferActiveTask.*\"}[2m]))", + "hide": false, + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Transfer Tasks Per Second", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 19 + }, + "hiddenSeries": false, + "id": 66, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(task_requests{cadence_service=\"cadence_history\",namespace=\"$namespace\",operation=~\"TimerActiveTask.*\"}[2m]))", + "hide": false, + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Timer Tasks Per Second", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 27 + }, + "hiddenSeries": false, + "id": 67, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(task_requests_per_domain{cadence_service=\"cadence_history\",namespace=\"$namespace\",operation=~\"TransferActive.*\"}) by (domain)", + "hide": false, + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Transfer Tasks Per Domain", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 27 + }, + "hiddenSeries": false, + "id": 68, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(task_requests_per_domain{cadence_service=\"cadence_history\",namespace=\"$namespace\",operation=~\"TimerActive.*\"}) by (domain)", + "hide": false, + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Timer Tasks Per Domain", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 35 + }, + "hiddenSeries": false, + "id": 69, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "histogram_quantile($quantiles, sum(rate(task_latency_per_domain_bucket{namespace=\"$namespace\",operation=~\"TransferActive.*\"}[2m])) by (le, domain))", + "hide": false, + "interval": "", + "legendFormat": "{{operation}}", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Transfer Task Latency Per Domain", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 35 + }, + "hiddenSeries": false, + "id": 70, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "histogram_quantile($quantiles, sum(rate(task_latency_per_domain_bucket{namespace=\"$namespace\",operation=~\"TimerActive.*\"}[2m])) by (le, domain))", + "hide": false, + "interval": "", + "legendFormat": "{{operation}}", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Timer Task Latency Per Domain", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 43 + }, + "hiddenSeries": false, + "id": 71, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "histogram_quantile($quantiles, sum(rate(task_latency_per_domain_bucket{namespace=\"$namespace\",operation=~\"Transfer.*\"}[2m])) by (le, operation))", + "hide": false, + "interval": "", + "legendFormat": "{{operation}}", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Transfer Task Executing Latency By TaskType", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 43 + }, + "hiddenSeries": false, + "id": 72, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "histogram_quantile($quantiles, sum(rate(task_latency_per_domain_bucket{namespace=\"$namespace\",operation=~\"Timer.*\"}[2m])) by (le, operation))", + "interval": "", + "legendFormat": "{{operation}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Timer Task Executing Latency By TaskType", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 51 + }, + "hiddenSeries": false, + "id": 73, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "histogram_quantile($quantiles, sum(rate(task_latency_queue_bucket{namespace=\"$namespace\",operation=~\"Transfer.*\"}[2m])) by (le, operation))", + "hide": false, + "interval": "", + "legendFormat": "{{operation}}", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Transfer Task Queue Latency By TaskType", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 51 + }, + "hiddenSeries": false, + "id": 74, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "histogram_quantile($quantiles, sum(rate(task_latency_queue_bucket{namespace=\"$namespace\",operation=~\"Timer.*\"}[2m])) by (le, operation))", + "interval": "", + "legendFormat": "{{operation}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Timer Task Queue Latency By TaskType", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 59 + }, + "hiddenSeries": false, + "id": 75, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(transfer_task_throttled_counter{cadence_service=\"cadence_history\",namespace=\"$namespace\",operation=~\"Transfer.*\"}) by (domain)", + "hide": false, + "interval": "", + "legendFormat": "", + "refId": "A" + }, + { + "expr": "sum(timer_task_throttled_counter{cadence_service=\"cadence_history\",namespace=\"$namespace\",operation=~\"Transfer.*\"}) by (domain)", + "interval": "", + "legendFormat": "", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Transfer/Timer task throttling by domain", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 59 + }, + "hiddenSeries": false, + "id": 76, + "legend": { + "avg": false, + "current": false, + "max": true, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "histogram_quantile($quantiles, sum(history_size_bucket{namespace=\"$namespace\",domain!=\"all\"}) by (le, domain)) * 1000000000", + "hide": false, + "interval": "", + "legendFormat": "", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Max History Size(in bytes) by domain", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 67 + }, + "hiddenSeries": false, + "id": 77, + "legend": { + "avg": true, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": " sum(rate(history_count_sum{namespace=\"$namespace\",domain!=\"all\"}[2m])) by (le, domain) * 1000000000 / sum(rate(history_count_count{namespace=\"$namespace\",domain!=\"all\"}[2m])) by (le, domain)", + "hide": false, + "interval": "", + "legendFormat": "", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg History Length by Domain", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 67 + }, + "hiddenSeries": false, + "id": 78, + "legend": { + "avg": false, + "current": false, + "max": true, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "histogram_quantile($quantiles, sum(event_blob_size_bucket{namespace=\"$namespace\"}) by (le, domain)) * 1000000000", + "hide": false, + "interval": "", + "legendFormat": "", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Max Event Blob Size by Domain", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "title": "History", + "type": "row" + }, + { + "collapsed": true, + "datasource": null, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 99 + }, + "id": 40, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 4 + }, + "hiddenSeries": false, + "id": 79, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(cadence_requests{cadence_service=\"cadence_matching\",namespace=\"$namespace\"}[2m]))", + "hide": false, + "interval": "", + "legendFormat": "", + "refId": "A" + }, + { + "expr": "", + "interval": "", + "legendFormat": "", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Matching APIs per Second", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 4 + }, + "hiddenSeries": false, + "id": 80, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(cadence_errors_per_tl{cadence_service=\"cadence_matching\"}[2m]))", + "hide": false, + "interval": "", + "legendFormat": "Error: errors_per_tl", + "refId": "A" + }, + { + "expr": "sum(rate(cadence_errors_query_failed_per_tl{cadence_service=\"cadence_matching\"}[2m]))", + "hide": false, + "interval": "", + "legendFormat": "Error: query_failed_per_tl", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Matching API Errors per Second", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 12 + }, + "hiddenSeries": false, + "id": 81, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "histogram_quantile($quantiles, (sum by (le, operation) (rate(cadence_latency_per_tl_bucket{namespace=\"$namespace\", cadence_service=\"cadence_matching\",operation!~\"QueryWorkflow\"}[2m]))))", + "interval": "", + "legendFormat": "{{operation}}", + "refId": "A" + }, + { + "expr": "", + "interval": "", + "legendFormat": "", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Matching Regular API Latency", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 12 + }, + "hiddenSeries": false, + "id": 82, + "legend": { + "avg": true, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "histogram_quantile($quantiles, (sum by (le, operation, tasklist) (rate(cadence_latency_per_tl_bucket{namespace=\"$namespace\", cadence_service=\"cadence_matching\",operation=~\"PollFor.*\"}[2m]))))", + "interval": "", + "legendFormat": "{{operation}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Matching Long Poll API Latency ", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 20 + }, + "hiddenSeries": false, + "id": 83, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "histogram_quantile($quantiles, (sum by (le, operation, tasklist, domain) (syncmatch_latency_per_tl_bucket{namespace=\"$namespace\", cadence_service=\"cadence_matching\"})))", + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Sync Match Latency", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 20 + }, + "hiddenSeries": false, + "id": 84, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "histogram_quantile($quantiles, (sum by (le, operation, tasklist, domain) (asyncmatch_latency_per_tl_bucket{namespace=\"$namespace\", cadence_service=\"cadence_matching\"})))", + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Async Match Latency", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 28 + }, + "hiddenSeries": false, + "id": 85, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(cadence_requests_per_tl{cadence_service=\"cadence_matching\",namespace=\"$namespace\", operation=~\"Add.*\"}[2m])) by (operation,tasklist,domain)", + "hide": false, + "interval": "", + "legendFormat": "", + "refId": "A" + }, + { + "expr": "", + "interval": "", + "legendFormat": "", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "AddTasks per Second - domain, tasklist breakdown", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 28 + }, + "hiddenSeries": false, + "id": 86, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(cadence_requests_per_tl{cadence_service=\"cadence_matching\",namespace=\"$namespace\",operation!~\"Add.*\"}[2m])) by (operation,tasklist,domain)", + "hide": false, + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Other API per Second - domain, tasklist breakdown", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "title": "Matching", + "type": "row" + }, + { + "collapsed": false, + "datasource": null, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 100 + }, + "id": 38, + "panels": [], + "title": "Persistence-Database", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 101 + }, + "hiddenSeries": false, + "id": 87, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "(1 - ( sum(rate(persistence_errors{cadence_service=\"cadence_frontend\",namespace=\"$namespace\"}[2m]))/\n sum(rate(persistence_requests{cadence_service=\"cadence_frontend\",namespace=\"$namespace\"}[2m])) ) ) * 100", + "hide": false, + "interval": "", + "legendFormat": "cadence_frontend.persistence", + "refId": "A" + }, + { + "expr": "(1 - ( sum(rate(persistence_errors{cadence_service=\"cadence_matching\",namespace=\"$namespace\"}[2m]))/\n sum(rate(persistence_requests{cadence_service=\"cadence_matching\",namespace=\"$namespace\"}[2m])) ) ) * 100", + "interval": "", + "legendFormat": "cadence_matching.persistence", + "refId": "B" + }, + { + "expr": "(1 - ( sum(rate(persistence_errors{cadence_service=\"cadence_history\",namespace=\"$namespace\"}[2m]))/\n sum(rate(persistence_requests{cadence_service=\"cadence_history\",namespace=\"$namespace\"}[2m])) ) ) * 100", + "interval": "", + "legendFormat": "cadence_history.persistence", + "refId": "C" + }, + { + "expr": "(1 - ( sum(rate(persistence_errors{cadence_service=\"cadence_worker\",namespace=\"$namespace\"}[2m]))/\n sum(rate(persistence_requests{cadence_service=\"cadence_worker\",namespace=\"$namespace\"}[2m])) ) ) * 100", + "interval": "", + "legendFormat": "cadence_worker.persistence", + "refId": "D" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Persistence-Database", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 101 + }, + "hiddenSeries": false, + "id": 88, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(persistence_requests{cadence_service=\"cadence_frontend\",namespace=\"$namespace\"}[2m]))", + "hide": false, + "interval": "", + "legendFormat": "cadence_frontend", + "refId": "A" + }, + { + "expr": "sum(rate(persistence_requests{cadence_service=\"cadence_matching\",namespace=\"$namespace\"}[2m]))", + "interval": "", + "legendFormat": "cadence_matching", + "refId": "B" + }, + { + "expr": "sum(rate(persistence_requests{cadence_service=\"cadence_history\",namespace=\"$namespace\"}[2m]))", + "interval": "", + "legendFormat": "cadence_history", + "refId": "C" + }, + { + "expr": "sum(rate(persistence_requests{cadence_service=\"cadence_worker\",namespace=\"$namespace\"}[2m]))", + "interval": "", + "legendFormat": "cadence_worker", + "refId": "D" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Persistence By Service TPS", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 109 + }, + "hiddenSeries": false, + "id": 89, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(persistence_requests{cadence_service=\"cadence_frontend\",namespace=\"$namespace\"}[2m])) by (le, operation)", + "hide": false, + "interval": "", + "legendFormat": "cadence_frontend-{{operation}}", + "refId": "A" + }, + { + "expr": "sum(rate(persistence_requests{cadence_service=\"cadence_matching\",namespace=\"$namespace\"}[2m])) by (le, operation)", + "interval": "", + "legendFormat": "cadence_matching-{{operation}}", + "refId": "B" + }, + { + "expr": "sum(rate(persistence_requests{cadence_service=\"cadence_history\",namespace=\"$namespace\"}[2m])) by (le, operation)", + "interval": "", + "legendFormat": "cadence_history-{{operation}}", + "refId": "C" + }, + { + "expr": "sum(rate(persistence_requests{cadence_service=\"cadence_worker\",namespace=\"$namespace\"}[2m])) by (le, operation)", + "interval": "", + "legendFormat": "cadence_worker-{{operation}}", + "refId": "D" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Persistence By Operation TPS", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 109 + }, + "hiddenSeries": false, + "id": 90, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "histogram_quantile($quantiles, (sum by (le, operation) (persistence_latency_bucket{namespace=\"$namespace\", cadence_service=\"cadence_frontend\"}))) ", + "hide": false, + "interval": "", + "legendFormat": "cadence_frontend-{{operation}}", + "refId": "A" + }, + { + "expr": "histogram_quantile($quantiles, (sum by (le, operation) (persistence_latency_bucket{namespace=\"$namespace\", cadence_service=\"cadence_matching\"}))) ", + "interval": "", + "legendFormat": "cadence_matching-{{operation}}", + "refId": "B" + }, + { + "expr": "histogram_quantile($quantiles, (sum by (le, operation) (persistence_latency_bucket{namespace=\"$namespace\", cadence_service=\"cadence_history\"}))) ", + "interval": "", + "legendFormat": "cadence_history-{{operation}}", + "refId": "C" + }, + { + "expr": "histogram_quantile($quantiles, (sum by (le, operation) (persistence_latency_bucket{namespace=\"$namespace\", cadence_service=\"cadence_worker\"}))) ", + "interval": "", + "legendFormat": "cadence_worker-{{operation}}", + "refId": "D" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Persistence By Operation Latency", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 117 + }, + "hiddenSeries": false, + "id": 91, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum by (le, operation) (persistence_errors{namespace=\"$namespace\", cadence_service=\"cadence_frontend\"})", + "hide": false, + "interval": "", + "legendFormat": "cadence_frontend-{{operation}}", + "refId": "A" + }, + { + "expr": "sum by (le, operation) (persistence_errors{namespace=\"$namespace\", cadence_service=\"cadence_matching\"})", + "interval": "", + "legendFormat": "cadence_matching-{{operation}}", + "refId": "B" + }, + { + "expr": "sum by (le, operation) (persistence_errors{namespace=\"$namespace\", cadence_service=\"cadence_history\"})", + "interval": "", + "legendFormat": "cadence_history-{{operation}}", + "refId": "C" + }, + { + "expr": "sum by (le, operation) (persistence_errors{namespace=\"$namespace\", cadence_service=\"cadence_worker\"})", + "interval": "", + "legendFormat": "cadence_worker-{{operation}}", + "refId": "D" + }, + { + "expr": "sum by (le, operation) (persistence_errors_condition_failed{namespace=\"$namespace\", cadence_service=\"cadence_matching\"})", + "interval": "", + "legendFormat": "matching-condition-failed", + "refId": "E" + }, + { + "expr": "sum by (le, operation) (persistence_errors_shard_ownership_lost{namespace=\"$namespace\", cadence_service=\"cadence_history\"})", + "interval": "", + "legendFormat": "history-shard-owneship-lost", + "refId": "F" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Persistence Error By Operation Count", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": true, + "datasource": null, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 125 + }, + "id": 36, + "panels": [], + "repeat": null, + "title": "Persistence-Kafka&ElasticSearch(Visibility)", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 126 + }, + "hiddenSeries": false, + "id": 92, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.2.1", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "(1 - ( sum(rate(elasticsearch_errors{cadence_service=\"cadence_frontend\",namespace=\"$namespace\"}[2m]))/\n sum(rate(elasticsearch_requests{cadence_service=\"cadence_frontend\",namespace=\"$namespace\"}[2m])) ) ) * 100", + "hide": false, + "interval": "", + "legendFormat": "cadence_frontend-{{operation}}", + "refId": "A" + }, + { + "expr": "(1 - ( sum(rate(elasticsearch_errors{cadence_service=\"cadence_history\",namespace=\"$namespace\"}[2m]))/\n sum(rate(elasticsearch_requests{cadence_service=\"cadence_history\",namespace=\"$namespace\"}[2m])) ) ) * 100", + "interval": "", + "legendFormat": "cadence_history-{{operation}}", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Persistence-Kafka&ElasticSearch(Visibility)", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "refresh": false, + "schemaVersion": 31, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "allValue": null, + "current": { + "selected": false, + "text": "cadence-sta", + "value": "cadence-sta" + }, + "datasource": "Prometheus", + "definition": "label_values(cadence_requests,namespace)", + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": "Namespace", + "multi": false, + "name": "namespace", + "options": [], + "query": { + "query": "label_values(cadence_requests,namespace)", + "refId": "Prometheus-namespace-Variable-Query" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "selected": false, + "text": "all", + "value": "all" + }, + "datasource": "Prometheus", + "definition": "label_values(activity_end_to_end_latency_sum{namespace=\"$namespace\"}, domain)", + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": "Domain", + "multi": true, + "name": "domain", + "options": [], + "query": { + "query": "label_values(activity_end_to_end_latency_sum{namespace=\"$namespace\"}, domain)", + "refId": "Prometheus-domain-Variable-Query" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "selected": true, + "text": "0.99", + "value": "0.99" + }, + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": "Quantiles", + "multi": false, + "name": "quantiles", + "options": [ + { + "selected": false, + "text": "0.5", + "value": "0.5" + }, + { + "selected": false, + "text": "0.95", + "value": "0.95" + }, + { + "selected": true, + "text": "0.99", + "value": "0.99" + } + ], + "query": "0.5, 0.95, 0.99", + "queryValue": "", + "skipUrlSync": false, + "type": "custom" + } + ] + }, + "time": { + "from": "now-5m", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ] + }, + "timezone": "", + "title": "Cadence-Server-Basic", + "uid": "1B0efRyGz", + "version": 2 +} diff --git a/src/index.md b/src/index.md new file mode 100644 index 000000000..b822b2de9 --- /dev/null +++ b/src/index.md @@ -0,0 +1,57 @@ +--- +home: true +heroText: Fault-Tolerant Stateful Code Platform +tagline: Focus on your business logic and let Cadence take care of the complexity of distributed systems +actionText: Get Started β†’ +actionLink: /docs/get-started/ + +--- +::: slot footer +Β© {{ new Date().getFullYear() }} [Uber Technologies, Inc.](https://uber.github.io/) +::: + + +
+
+

Easy to use

+
+
+ +
+
+

Workflows provide primitives to allow application developers to express complex business logic as code.

+

The underlying platform abstracts scalability, reliability and availability concerns from individual developers/teams.

+
+
+
+
+ +
+
+

Fault tolerant

+
+
+

Cadence enables writing stateful applications without worrying about the complexity of handling process failures.

+

Cadence preserves complete multithreaded application state including thread stacks with local variables across hardware and software failures.

+
+
+ +
+
+
+
+ +
+
+

Scalable & Reliable

+
+
+ +
+
+

Cadence is designed to scale out horizontally to handle millions of concurrent workflows.

+

Cadence provides out-of-the-box asynchronous history event replication that can help you recover from zone failures.

+
+
+
+
diff --git a/src/pages/index.module.css b/src/pages/index.module.css deleted file mode 100644 index 727c8ed54..000000000 --- a/src/pages/index.module.css +++ /dev/null @@ -1,35 +0,0 @@ -/** - * CSS files with the .module.css suffix will be treated as CSS modules - * and scoped locally. - */ - - /* .heroBanner { - padding: 4rem 0; - text-align: center; - position: relative; - overflow: hidden; -} */ - - .heroBanner { - /* background: linear-gradient(90deg, #191d2e, #30384e 35%, #46506d); */ - /* Uber Safety Blue to Cosmic Latte */ - background: linear-gradient(90deg,#276ef1 05%,#FFF8E7 100%); - -} - -@media screen and (max-width: 996px) { - .heroBanner { - padding: 2rem; - } -} - -.hero .heroBanner .button--secondary .button--lg { - background-color: black; -} - - -/* .buttons { - display: flex; - align-items: center; - justify-content: center; -} */ diff --git a/src/pages/index.tsx b/src/pages/index.tsx deleted file mode 100644 index 5a615c6ea..000000000 --- a/src/pages/index.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import clsx from 'clsx'; -import Link from '@docusaurus/Link'; -import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; -import Layout from '@theme/Layout'; -import HomepageFeatures from '@site/src/components/HomepageFeatures'; -import Heading from '@theme/Heading'; - -import styles from './index.module.css'; - -function HomepageHeader() { - const { siteConfig } = useDocusaurusContext(); - return ( -
-
- - {siteConfig.title} - -

{siteConfig.tagline}

-
- {/* - Get Started - 5min ⏱️ - */} - - πŸ”¬ Get Started -    - {/* πŸ“š Documentation */} -
-
-
- ); -} - -export default function Home(): JSX.Element { - const { siteConfig } = useDocusaurusContext(); - return ( - - -
- -
-
- ); -} diff --git a/src/pages/markdown-page.md b/src/pages/markdown-page.md deleted file mode 100644 index 9756c5b66..000000000 --- a/src/pages/markdown-page.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Markdown page example ---- - -# Markdown page example - -You don't need React to write simple standalone pages. diff --git a/src/plugins/changelog/index.js b/src/plugins/changelog/index.js deleted file mode 100644 index 60c1efb3b..000000000 --- a/src/plugins/changelog/index.js +++ /dev/null @@ -1,160 +0,0 @@ -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -import path from 'path'; -import fs from 'fs-extra'; -import pluginContentBlog from '@docusaurus/plugin-content-blog'; -import {aliasedSitePath, docuHash, normalizeUrl} from '@docusaurus/utils'; - -/** - * Multiple versions may be published on the same day, causing the order to be - * the reverse. Therefore, our publish time has a "fake hour" to order them. - */ -const publishTimes = new Set(); -/** - * @type {Record} - */ -const authorsMap = {}; - -/** - * @param {string} section - */ -function processSection(section) { - const title = section - .match(/\n## .*/)?.[0] - .trim() - .replace('## ', ''); - if (!title) { - return null; - } - const content = section - .replace(/\n## .*/, '') - .trim() - .replace('running_woman', 'running'); - - let authors = content.match(/## Committers: \d.*/s); - if (authors) { - authors = authors[0] - .match(/- .*/g) - .map( - (line) => - line.match( - /- (?:(?.*?) \()?\[@(?.*)\]\((?.*?)\)\)?/, - ).groups, - ) - .map((author) => ({ - ...author, - name: author.name ?? author.alias, - imageURL: `https://github.com/${author.alias}.png`, - })) - .sort((a, b) => a.url.localeCompare(b.url)); - - authors.forEach((author) => { - authorsMap[author.alias] = author; - }); - } - let hour = 20; - const date = title.match(/ \((?.*)\)/)?.groups.date; - while (publishTimes.has(`${date}T${hour}:00`)) { - hour -= 1; - } - publishTimes.add(`${date}T${hour}:00`); - - return { - title: title.replace(/ \(.*\)/, ''), - content: `--- -mdx: - format: md -date: ${`${date}T${hour}:00`}${ - authors - ? ` -authors: -${authors.map((author) => ` - '${author.alias}'`).join('\n')}` - : '' - } ---- - -# ${title.replace(/ \(.*\)/, '')} - - - -${content.replace(/####/g, '##')}`, - }; -} - -/** - * @param {import('@docusaurus/types').LoadContext} context - * @returns {import('@docusaurus/types').Plugin} - */ -export default async function ChangelogPlugin(context, options) { - const generateDir = path.join(context.siteDir, 'changelog/source'); - const blogPlugin = await pluginContentBlog.default(context, { - ...options, - path: generateDir, - id: 'changelog', - blogListComponent: '@theme/ChangelogList', - blogPostComponent: '@theme/ChangelogPage', - }); - const changelogPath = path.join(__dirname, '../../../CHANGELOG.md'); - return { - ...blogPlugin, - name: 'changelog-plugin', - async loadContent() { - const fileContent = await fs.readFile(changelogPath, 'utf-8'); - const sections = fileContent - .split(/(?=\n## )/) - .map(processSection) - .filter(Boolean); - await Promise.all( - sections.map((section) => - fs.outputFile( - path.join(generateDir, `${section.title}.md`), - section.content, - ), - ), - ); - const authorsPath = path.join(generateDir, 'authors.json'); - await fs.outputFile(authorsPath, JSON.stringify(authorsMap, null, 2)); - const content = await blogPlugin.loadContent(); - content.blogPosts.forEach((post, index) => { - const pageIndex = Math.floor(index / options.postsPerPage); - post.metadata.listPageLink = normalizeUrl([ - context.baseUrl, - options.routeBasePath, - pageIndex === 0 ? '/' : `/page/${pageIndex + 1}`, - ]); - }); - return content; - }, - configureWebpack(...args) { - const config = blogPlugin.configureWebpack(...args); - const pluginDataDirRoot = path.join( - context.generatedFilesDir, - 'changelog-plugin', - 'default', - ); - // Redirect the metadata path to our folder - const mdxLoader = config.module.rules[0].use[0]; - mdxLoader.options.metadataPath = (mdxPath) => { - // Note that metadataPath must be the same/in-sync as - // the path from createData for each MDX. - const aliasedPath = aliasedSitePath(mdxPath, context.siteDir); - return path.join(pluginDataDirRoot, `${docuHash(aliasedPath)}.json`); - }; - return config; - }, - getThemePath() { - return './theme'; - }, - getPathsToWatch() { - // Don't watch the generated dir - return [changelogPath]; - }, - }; -} - -export const {validateOptions} = pluginContentBlog; diff --git a/src/remark/glossary.js b/src/remark/glossary.js deleted file mode 100644 index 1ed8ce2a6..000000000 --- a/src/remark/glossary.js +++ /dev/null @@ -1,31 +0,0 @@ -import { visit } from 'unist-util-visit'; - -// pattern to match jargon markup with alternate display text -const jargonReplaceRegex = /:([\w+]*):([\w+]*):/g - -// match jargon markup -const jargonRegex = /:([\w+]*):/g - -function isJargon(node) { - if (node.value - && typeof node.value === "string" - && (node.value.match(jargonRegex) || node.value.match(jargonReplaceRegex))) - return true; - return false -} - -function visitor(node) { - if (isJargon(node)) { - // for now, just remove the jargon markup - node.value = node.value.replace(/:[\w+]*:([\w+]*):/g, (match, g1) => g1) - .replace(/:([\w+]*):/g, (match, g1) => g1) - } -} - -function plugin(options = {}) { - return function transformer(ast) { - visit(ast, ['text', 'paragraph'], visitor) - }; -} - -export default plugin; diff --git a/src/shared/config.js b/src/shared/config.js new file mode 100644 index 000000000..8d9751137 --- /dev/null +++ b/src/shared/config.js @@ -0,0 +1,65 @@ +const { slackUrl, officeHourUrl } = require('./constants'); + +module.exports = { + themeConfig: { + logo: '/img/logo-white.svg', + nav: [ + { + text: 'Docs', + items: [ + { text: 'Get Started', link: '/docs/get-started/' }, + { text: 'Use cases', link: '/docs/use-cases/' }, + { text: 'Concepts', link: '/docs/concepts/' }, + { text: 'Java client', link: '/docs/java-client/' }, + { text: 'Go client', link: '/docs/go-client/' }, + { text: 'Command line interface', link: '/docs/cli/' }, + { text: 'Operation Guide', link: '/docs/operation-guide/' }, + { text: 'Glossary', link: '/GLOSSARY' }, + { text: 'About', link: '/docs/about/' }, + ], + }, + { + text: 'Blog', link: '/blog/', + }, + { + text: 'Client', + items: [ + { text: 'Java Docs', link: 'https://www.javadoc.io/doc/com.uber.cadence/cadence-client' }, + { text: 'Java Client', link: 'https://mvnrepository.com/artifact/com.uber.cadence/cadence-client' }, + { text: 'Go Docs', link: 'https://godoc.org/go.uber.org/cadence' }, + { text: 'Go Client', link: 'https://github.com/uber-go/cadence-client/releases/latest' }, + ], + }, + { + text: 'Community', + items: [ + { text: 'Github Discussion', link: 'https://github.com/uber/cadence/discussions' }, + { text: 'StackOverflow', link: 'https://stackoverflow.com/questions/tagged/cadence-workflow' }, + { text: 'Github Issues', link: 'https://github.com/uber/cadence/issues' }, + { text: 'Slack', link: slackUrl }, + { text: 'Office Hours Calendar', link: officeHourUrl }, + ], + }, + { + text: 'GitHub', + items: [ + { text: 'Cadence Service and CLI', link: 'https://github.com/uber/cadence' }, + { text: 'Cadence Go Client', link: 'https://github.com/uber-go/cadence-client' }, + { text: 'Cadence Go Client Samples', link: 'https://github.com/uber-common/cadence-samples' }, + { text: 'Cadence Java Client', link: 'https://github.com/uber-java/cadence-client' }, + { text: 'Cadence Java Client Samples', link: 'https://github.com/uber/cadence-java-samples' }, + { text: 'Cadence Web UI', link: 'https://github.com/uber/cadence-web' }, + { text: 'Cadence Docs', link: 'https://github.com/uber/cadence-docs' }, + ], + }, + { + text: 'Docker', + items: [ + { text: 'Cadence Service', link: 'https://hub.docker.com/r/ubercadence/server/tags' }, + { text: 'Cadence CLI', link: 'https://hub.docker.com/r/ubercadence/cli/tags' }, + { text: 'Cadence Web UI', link: 'https://hub.docker.com/r/ubercadence/web/tags' }, + ], + }, + ], + }, +}; diff --git a/src/shared/constants.js b/src/shared/constants.js new file mode 100644 index 000000000..bc7ad3b9d --- /dev/null +++ b/src/shared/constants.js @@ -0,0 +1,4 @@ +module.exports = { + slackUrl: 'http://t.uber.com/cadence-slack', + officeHourUrl: 'https://calendar.google.com/event?action=TEMPLATE&tmeid=MjFwOW01NWhlZ3MyZWJkcmo2djVsMjNkNzNfMjAyMjA3MjVUMTYwMDAwWiBlNnI0MGdwM2MycjAxMDU0aWQ3ZTk5ZGxhY0Bn&tmsrc=e6r40gp3c2r01054id7e99dlac%40group.calendar.google.com&scp=ALL', +}; diff --git a/blog/2023-06-08-survey-results/2023-survey-results/channels.png b/src/shared/img/2023-survey-results/channels.png similarity index 100% rename from blog/2023-06-08-survey-results/2023-survey-results/channels.png rename to src/shared/img/2023-survey-results/channels.png diff --git a/blog/2023-06-08-survey-results/2023-survey-results/following.png b/src/shared/img/2023-survey-results/following.png similarity index 100% rename from blog/2023-06-08-survey-results/2023-survey-results/following.png rename to src/shared/img/2023-survey-results/following.png diff --git a/blog/2023-06-08-survey-results/2023-survey-results/help_stage.png b/src/shared/img/2023-survey-results/help_stage.png similarity index 100% rename from blog/2023-06-08-survey-results/2023-survey-results/help_stage.png rename to src/shared/img/2023-survey-results/help_stage.png diff --git a/blog/2023-06-08-survey-results/2023-survey-results/improvement.png b/src/shared/img/2023-survey-results/improvement.png similarity index 100% rename from blog/2023-06-08-survey-results/2023-survey-results/improvement.png rename to src/shared/img/2023-survey-results/improvement.png diff --git a/blog/2023-06-08-survey-results/2023-survey-results/job_role.png b/src/shared/img/2023-survey-results/job_role.png similarity index 100% rename from blog/2023-06-08-survey-results/2023-survey-results/job_role.png rename to src/shared/img/2023-survey-results/job_role.png diff --git a/blog/2023-06-08-survey-results/2023-survey-results/scale.png b/src/shared/img/2023-survey-results/scale.png similarity index 100% rename from blog/2023-06-08-survey-results/2023-survey-results/scale.png rename to src/shared/img/2023-survey-results/scale.png diff --git a/blog/2023-06-08-survey-results/2023-survey-results/scenarios.png b/src/shared/img/2023-survey-results/scenarios.png similarity index 100% rename from blog/2023-06-08-survey-results/2023-survey-results/scenarios.png rename to src/shared/img/2023-survey-results/scenarios.png diff --git a/blog/2023-06-08-survey-results/2023-survey-results/support.png b/src/shared/img/2023-survey-results/support.png similarity index 100% rename from blog/2023-06-08-survey-results/2023-survey-results/support.png rename to src/shared/img/2023-survey-results/support.png diff --git a/blog/2023-06-08-survey-results/2023-survey-results/time_zone.png b/src/shared/img/2023-survey-results/time_zone.png similarity index 100% rename from blog/2023-06-08-survey-results/2023-survey-results/time_zone.png rename to src/shared/img/2023-survey-results/time_zone.png diff --git a/blog/2023-06-08-survey-results/2023-survey-results/using.png b/src/shared/img/2023-survey-results/using.png similarity index 100% rename from blog/2023-06-08-survey-results/2023-survey-results/using.png rename to src/shared/img/2023-survey-results/using.png diff --git a/blog/2024-07-11-yearly-roadmap-update/2024-yearly-update/cadence-benefits.png b/src/shared/img/2024-yearly-update/cadence-benefits.png similarity index 100% rename from blog/2024-07-11-yearly-roadmap-update/2024-yearly-update/cadence-benefits.png rename to src/shared/img/2024-yearly-update/cadence-benefits.png diff --git a/blog/2024-07-11-yearly-roadmap-update/2024-yearly-update/workflow.png b/src/shared/img/2024-yearly-update/workflow.png similarity index 100% rename from blog/2024-07-11-yearly-roadmap-update/2024-yearly-update/workflow.png rename to src/shared/img/2024-yearly-update/workflow.png diff --git a/blog/2023-07-16-write-your-first-workflow-with-cadence/cadence_ui.png b/src/shared/img/cadence_ui.png similarity index 100% rename from blog/2023-07-16-write-your-first-workflow-with-cadence/cadence_ui.png rename to src/shared/img/cadence_ui.png diff --git a/blog/2023-07-16-write-your-first-workflow-with-cadence/cadence_ui_detailed.png b/src/shared/img/cadence_ui_detailed.png similarity index 100% rename from blog/2023-07-16-write-your-first-workflow-with-cadence/cadence_ui_detailed.png rename to src/shared/img/cadence_ui_detailed.png diff --git a/docs/05-go-client/img/change-workflow-ownership.png b/src/shared/img/non-determinsitic-errors-page-visuals/change-workflow-ownership.png similarity index 100% rename from docs/05-go-client/img/change-workflow-ownership.png rename to src/shared/img/non-determinsitic-errors-page-visuals/change-workflow-ownership.png diff --git a/src/shared/styles/code.styl b/src/shared/styles/code.styl new file mode 100644 index 000000000..32230518a --- /dev/null +++ b/src/shared/styles/code.styl @@ -0,0 +1,6 @@ +.el-tabs__item { + &:hover, + &.is-active { + color: $uberBlue; + } +} diff --git a/src/shared/styles/global.styl b/src/shared/styles/global.styl new file mode 100644 index 000000000..d7f26723c --- /dev/null +++ b/src/shared/styles/global.styl @@ -0,0 +1,15 @@ +a { + color: $uberBlue; +} + +.page-edit .edit-link a { + color: $uberBlue !important; +} + +.go-to-top { + color: $uberBlue !important; +} + +.text-align-center { + text-align: center; +} diff --git a/src/shared/styles/glossary.styl b/src/shared/styles/glossary.styl new file mode 100644 index 000000000..c4049e5a3 --- /dev/null +++ b/src/shared/styles/glossary.styl @@ -0,0 +1,20 @@ +a.term { + color: inherit; + cursor: help; + font-style: italic; + text-decoration-color: $uberBlue; + text-decoration-line: underline; + text-decoration-style: dashed; + text-underline-position: under; + + &:hover { + color: $uberBlue; + text-decoration-color: $uberBlue; + text-decoration-line: underline; + text-decoration-style: dashed !important; + } +} + +dt.defined-term { + color: $uberBlue !important; +} diff --git a/src/shared/styles/grid.styl b/src/shared/styles/grid.styl new file mode 100644 index 000000000..bb26914b8 --- /dev/null +++ b/src/shared/styles/grid.styl @@ -0,0 +1,25 @@ +.grid { + align-items: center; + display: flex; +} + +.grid-col-4 { + flex: 4; + padding: 0 20px; +} + +.grid-col-6 { + flex: 6; + padding: 0 20px; +} + +.grid-col-8 { + flex: 8; + padding: 0 20px; +} + +@media (max-width: 719px) { + .grid { + display: block; + } +} diff --git a/src/shared/styles/home.styl b/src/shared/styles/home.styl new file mode 100644 index 000000000..07e183dc5 --- /dev/null +++ b/src/shared/styles/home.styl @@ -0,0 +1,98 @@ +.home { + margin: auto !important; + max-width: 100% !important; + padding: 0 !important; + + .hero { + background: linear-gradient(180deg, rgba(25,29,46,1) 0%, rgba(48,56,78,1) 35%, rgba(70,80,109,1) 100%); + color: white !important; + padding-top: 11rem; + padding-bottom: 3rem; + + * { + max-width: 1100px !important; + margin: 0 auto; + } + + p.description { + color: rgba(255, 255, 255, 0.7) !important; + font-size: 2rem; + max-width: 800px !important; + } + } + + #main-title { + font-size: 6rem; + font-weight: 400 !important; + } + + .action-button { + background-color: $uberBlue !important; + } + + .features { + max-width: 960px; + margin: 0px auto; + } + + .feature { + h2 { + color: white !important; + } + + p { + color: white !important; + } + } + + .footer { + background-color: $navColor; + color: white !important; + padding: 1.5rem !important; + } + + .section { + background-color: white; + color: #2c3e50; + padding: 3rem; + + .content { + max-width: 800px !important; + margin: 0 auto; + } + + h1 { + font-weight: 1000; + text-align: center; + } + + .tagline { + font-size: 1.6rem; + text-align: center; + } + + + &.alt { + background-color: rgba(48,56,78,1); + color: white; + } + } +} + +@media (max-width: 719px) { + .home { + .hero { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + padding-top: 6rem !important; + } + + #main-title { + font-size: 3rem !important; + } + + .description { + font-size: 1.6rem !important; + } + } +} diff --git a/src/shared/styles/index.styl b/src/shared/styles/index.styl new file mode 100644 index 000000000..2d3f2e9e2 --- /dev/null +++ b/src/shared/styles/index.styl @@ -0,0 +1,7 @@ +@require './code'; +@require './global'; +@require './glossary'; +@require './grid'; +@require './home'; +@require './nav'; +@require './sidebar'; diff --git a/src/shared/styles/nav.styl b/src/shared/styles/nav.styl new file mode 100644 index 000000000..62e972ff9 --- /dev/null +++ b/src/shared/styles/nav.styl @@ -0,0 +1,99 @@ +.navbar { + background-color: $navColor; + border-bottom: none; + box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.75); + + .sidebar-button { + color: white; + } + + a.external:hover { + color: $uberBlue !important; + } + + .links { + background-color: transparent !important; + } + + .site-name.can-hide { + display: none; + } + + .search-box { + input { + background-color: transparent !important; + color: white !important; + + &:focus { + border-color: $uberBlue; + } + } + + .suggestions { + width: 280px; + } + + .suggestion { + &.focused a, + &:hover a { + color: #2c3e50; + } + + a { + color: #2c3e50; + + .parent-page-title { + background-color: $uberBlue !important; + } + } + + .text--primary { + color: $uberBlue; + } + } + } + + .nav-dropdown { + background-color: $navColor !important; + border: 1px solid rgba(70,80,109,1) !important; + z-index: 1; + + a { + &:hover, + &.router-link-active { + color: $uberBlue !important; + } + + &:after { + border-left-color: $uberBlue !important; + } + } + } + + .nav-link { + color: white; + text-decoration: none; + } + + .dropdown-title { + color: white !important; + } +} + +@media (min-width: 719px) { + .navbar { + .nav-item > a:not(.external) { + &:hover, + &.router-link-active { + color: white; + border-bottom: 2px solid $uberBlue; + } + } + + .search-box { + .suggestions { + width: 600px; + } + } + } +} diff --git a/src/shared/styles/palette.styl b/src/shared/styles/palette.styl new file mode 100644 index 000000000..99f41f3ca --- /dev/null +++ b/src/shared/styles/palette.styl @@ -0,0 +1,3 @@ +$uberBlue = #276ef1; +$readingProgressColor = $uberBlue; +$navColor = rgba(25,29,46,1); diff --git a/src/shared/styles/sidebar.styl b/src/shared/styles/sidebar.styl new file mode 100644 index 000000000..8d23fcd82 --- /dev/null +++ b/src/shared/styles/sidebar.styl @@ -0,0 +1,23 @@ +.sidebar { + .nav-links a { + &:hover, + &.router-link-active { + color: $uberBlue; + } + } + + .sidebar-heading.clickable:hover { + color: $uberBlue; + } + + a.sidebar-link { + &:hover { + color: $uberBlue; + } + + &.active { + color: $uberBlue; + border-left-color: $uberBlue; + } + } +} diff --git a/src/theme/prism-dql.js b/src/theme/prism-dql.js deleted file mode 100644 index 8f5da1c7f..000000000 --- a/src/theme/prism-dql.js +++ /dev/null @@ -1,46 +0,0 @@ -Prism.languages.dql = { - // For token definitions: https://prismjs.com/tokens.html - // Syntax highlighting for DQL (Data Query Language) used in the DataDog logs - 'comment': [ - { - pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/, - lookbehind: true, - greedy: true - }, - { - pattern: /(^|[^\\:])\/\/.*/, - lookbehind: true, - greedy: true - } - ], - 'string': { - pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, - greedy: true - }, - 'class-name': { - pattern: /(\b(?:env|service|operation_name|resource_name|status|ingestion_reason|trace_id)\s+|\bcatch\s+\()[\w.\\]+/i, - lookbehind: true, - inside: { - 'punctuation': /[.\\]/ - } - }, - 'entity': /\b(?:env|service|operation_name|resource_name|status|ingestion_reason|trace_id)\b/, - 'keyword': /\b(?:by|in|and|not|count|count\sby|stddev|p\d\d)\b/i, - 'boolean': /\b(?:false|true)\b/i, - 'function': /(\b\w+(?=\())|(\w+(?=:))/, - 'number': /\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?!\d*percentile)(?:e[+-]?\d+)?/i, - 'operator': /[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]|->|=>/i, - 'punctuation': /[{}[\];(),.:]/, - 'builtin': { - pattern: /\b(\d{2}percentile)\b|\b(avg|max|min|sum|set|median|count|is_greater|is_less|is_between|quantile)\b/i, - }, - 'variable': /\$+(?:\w+\b|(?=\{))/, -}; - -Prism.languages.insertBefore('dql', 'operator', { - 'literal-property': { - pattern: /((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m, - lookbehind: true, - alias: 'property' - }, -}); diff --git a/src/theme/prism-include-languages.js b/src/theme/prism-include-languages.js deleted file mode 100644 index 4fd7e91fc..000000000 --- a/src/theme/prism-include-languages.js +++ /dev/null @@ -1,29 +0,0 @@ -import siteConfig from '@generated/docusaurus.config'; -export default function prismIncludeLanguages(PrismObject) { - const { - themeConfig: { prism }, - } = siteConfig; - const { additionalLanguages } = prism; - // Prism components work on the Prism instance on the window, while prism- - // react-renderer uses its own Prism instance. We temporarily mount the - // instance onto window, import components to enhance it, then remove it to - // avoid polluting global namespace. - // You can mutate PrismObject: registering plugins, deleting languages... As - // long as you don't re-assign it - const PrismBefore = globalThis.Prism; - globalThis.Prism = PrismObject; - additionalLanguages.forEach((lang) => { - if (lang === 'php') { - // eslint-disable-next-line global-require - require('prismjs/components/prism-markup-templating.js'); - } - // eslint-disable-next-line global-require, import/no-dynamic-require - require(`prismjs/components/prism-${lang}`); - }); - require('./prism-dql.js') - // Clean up and eventually restore former globalThis.Prism object (if any) - delete globalThis.Prism; - if (typeof PrismBefore !== 'undefined') { - globalThis.Prism = PrismObject; - } -} diff --git a/static/.nojekyll b/static/.nojekyll deleted file mode 100644 index e69de29bb..000000000 diff --git a/static/img/cadence-logo.svg b/static/img/cadence-logo.svg deleted file mode 100644 index 876ab44f7..000000000 --- a/static/img/cadence-logo.svg +++ /dev/null @@ -1 +0,0 @@ -Cadence Workflow logo \ No newline at end of file diff --git a/static/img/docusaurus/docusaurus-social-card.jpg b/static/img/docusaurus/docusaurus-social-card.jpg deleted file mode 100644 index ffcb448210e1a456cb3588ae8b396a597501f187..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55746 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 fgzs%Vr*-jYG(YMS<ttdtee# diff --git a/static/img/docusaurus/docusaurus.png b/static/img/docusaurus/docusaurus.png deleted file mode 100644 index f458149e3c8f53335f28fbc162ae67f55575c881..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5142 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 F{0H{b<4^zq diff --git a/static/img/docusaurus/favicon.ico b/static/img/docusaurus/favicon.ico deleted file mode 100644 index c01d54bcd39a5f853428f3cd5aa0f383d963c484..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3626 zcmb`Je@s(X6vrR`EK3%b%orErlDW({vnABqA zcfaS{d+xbU5JKp0*;0YOg+;Fl!eT)XRuapIwFLL`=imZCSon$`se`_<%@MB=M~KG+ z=EW^FL`w|Bo>*ktlaS^(fut!95`iG5u=SZ8nfDHO#GaTlH1-XG^;vsjUb^gWTVz0+ z^=WR1wv9-2oeR=_;fL0H7rNWqAzGtO(D;`~cX(RcN0w2v24Y8)6t`cS^_ghs`_ho? z{0ka~1Dgo8TfAP$r*ua?>$_V+kZ!-(TvEJ7O2f;Y#tezt$&R4 zLI}=-y@Z!grf*h3>}DUL{km4R>ya_I5Ag#{h_&?+HpKS!;$x3LC#CqUQ8&nM?X))Q zXAy2?`YL4FbC5CgJu(M&Q|>1st8XXLZ|5MgwgjP$m_2Vt0(J z&Gu7bOlkbGzGm2sh?X`){7w69Y$1#@P@7DF{ZE=4%T0NDS)iH`tiPSKpDNW)zmtn( zw;4$f>k)4$LBc>eBAaTZeCM2(iD+sHlj!qd z2GjRJ>f_Qes(+mnzdA^NH?^NB(^o-%Gmg$c8MNMq&`vm@9Ut;*&$xSD)PKH{wBCEC z4P9%NQ;n2s59ffMn8*5)5AAg4-93gBXBDX`A7S& zH-|%S3Wd%T79fk-e&l`{!?lve8_epXhE{d3Hn$Cg!t=-4D(t$cK~7f&4s?t7wr3ZP z*!SRQ-+tr|e1|hbc__J`k3S!rMy<0PHy&R`v#aJv?`Y?2{avK5sQz%=Us()jcNuZV z*$>auD4cEw>;t`+m>h?f?%VFJZj8D|Y1e_SjxG%J4{-AkFtT2+ZZS5UScS~%;dp!V>)7zi`w(xwSd*FS;Lml=f6hn#jq)2is4nkp+aTrV?)F6N z>DY#SU0IZ;*?Hu%tSj4edd~kYNHMFvS&5}#3-M;mBCOCZL3&;2obdG?qZ>rD|zC|Lu|sny76pn2xl|6sk~Hs{X9{8iBW zwiwgQt+@hi`FYMEhX2 \ No newline at end of file diff --git a/static/img/docusaurus/undraw_docusaurus_mountain.svg b/static/img/docusaurus/undraw_docusaurus_mountain.svg deleted file mode 100644 index af961c49a..000000000 --- a/static/img/docusaurus/undraw_docusaurus_mountain.svg +++ /dev/null @@ -1,171 +0,0 @@ - - Easy to Use - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/docusaurus/undraw_docusaurus_react.svg b/static/img/docusaurus/undraw_docusaurus_react.svg deleted file mode 100644 index 94b5cf08f..000000000 --- a/static/img/docusaurus/undraw_docusaurus_react.svg +++ /dev/null @@ -1,170 +0,0 @@ - - Powered by React - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/docusaurus/undraw_docusaurus_tree.svg b/static/img/docusaurus/undraw_docusaurus_tree.svg deleted file mode 100644 index d9161d339..000000000 --- a/static/img/docusaurus/undraw_docusaurus_tree.svg +++ /dev/null @@ -1,40 +0,0 @@ - - Focus on What Matters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/gears_blue.svg b/static/img/gears_blue.svg deleted file mode 100644 index 659546e37..000000000 --- a/static/img/gears_blue.svg +++ /dev/null @@ -1,8 +0,0 @@ - - Gears (outlined) - - diff --git a/static/img/social-card-min.png b/static/img/social-card-min.png deleted file mode 100644 index cf5881554184e5e41ccb98ea735712adc725b7cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 215585 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

17bqzA#ag9$W#H99I|MA^o%kw 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
C#R4E5^>I;H%iX25DF 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

-G!xV0brLHy|(xN11ci5XZ{pBbbB$jw^#P) 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 z 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�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 diff --git a/tsconfig.json b/tsconfig.json deleted file mode 100644 index 314eab8a4..000000000 --- a/tsconfig.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - // This file is not used in compilation. It is here just for a nice editor experience. - "extends": "@docusaurus/tsconfig", - "compilerOptions": { - "baseUrl": "." - } -} diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 000000000..67c5e0b1c --- /dev/null +++ b/yarn.lock @@ -0,0 +1,10424 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@ampproject/remapping@^2.2.0": + version "2.3.0" + resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz" + integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== + dependencies: + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.24" + +"@babel/code-frame@^7.23.5": + version "7.23.5" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz" + integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== + dependencies: + "@babel/highlight" "^7.23.4" + chalk "^2.4.2" + +"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.5": + version "7.23.5" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz" + integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== + +"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.0.0-0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.11.0", "@babel/core@^7.12.0", "@babel/core@^7.13.0", "@babel/core@^7.4.0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.8.4": + version "7.24.0" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.24.0.tgz" + integrity sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helpers" "^7.24.0" + "@babel/parser" "^7.24.0" + "@babel/template" "^7.24.0" + "@babel/traverse" "^7.24.0" + "@babel/types" "^7.24.0" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + +"@babel/generator@^7.23.6": + version "7.23.6" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz" + integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== + dependencies: + "@babel/types" "^7.23.6" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" + +"@babel/helper-annotate-as-pure@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz" + integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.15": + version "7.22.15" + resolved "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz" + integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== + dependencies: + "@babel/types" "^7.22.15" + +"@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.23.6", "@babel/helper-compilation-targets@^7.9.6": + version "7.23.6" + resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz" + integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== + dependencies: + "@babel/compat-data" "^7.23.5" + "@babel/helper-validator-option" "^7.23.5" + browserslist "^4.22.2" + lru-cache "^5.1.1" + semver "^6.3.1" + +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.22.15", "@babel/helper-create-class-features-plugin@^7.24.0": + version "7.24.0" + resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.0.tgz" + integrity sha512-QAH+vfvts51BCsNZ2PhY6HAggnlS6omLLFTsIpeqZk/MmJ6cW7tgz5yRv0fMJThcr6FmbMrENh1RgrWPTYA76g== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-member-expression-to-functions" "^7.23.0" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.20" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + semver "^6.3.1" + +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.15", "@babel/helper-create-regexp-features-plugin@^7.22.5": + version "7.22.15" + resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz" + integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + regexpu-core "^5.3.1" + semver "^6.3.1" + +"@babel/helper-define-polyfill-provider@^0.5.0": + version "0.5.0" + resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz" + integrity sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q== + dependencies: + "@babel/helper-compilation-targets" "^7.22.6" + "@babel/helper-plugin-utils" "^7.22.5" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + +"@babel/helper-define-polyfill-provider@^0.6.1": + version "0.6.1" + resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz" + integrity sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA== + dependencies: + "@babel/helper-compilation-targets" "^7.22.6" + "@babel/helper-plugin-utils" "^7.22.5" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + +"@babel/helper-environment-visitor@^7.22.20": + version "7.22.20" + resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz" + integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== + +"@babel/helper-function-name@^7.22.5", "@babel/helper-function-name@^7.23.0": + version "7.23.0" + resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz" + integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== + dependencies: + "@babel/template" "^7.22.15" + "@babel/types" "^7.23.0" + +"@babel/helper-hoist-variables@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz" + integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-member-expression-to-functions@^7.22.15", "@babel/helper-member-expression-to-functions@^7.23.0": + version "7.23.0" + resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz" + integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== + dependencies: + "@babel/types" "^7.23.0" + +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.22.15", "@babel/helper-module-imports@^7.8.3": + version "7.22.15" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz" + integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== + dependencies: + "@babel/types" "^7.22.15" + +"@babel/helper-module-transforms@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz" + integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-simple-access" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/helper-validator-identifier" "^7.22.20" + +"@babel/helper-optimise-call-expression@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz" + integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.24.0" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz" + integrity sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w== + +"@babel/helper-remap-async-to-generator@^7.22.20": + version "7.22.20" + resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz" + integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-wrap-function" "^7.22.20" + +"@babel/helper-replace-supers@^7.22.20": + version "7.22.20" + resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz" + integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-member-expression-to-functions" "^7.22.15" + "@babel/helper-optimise-call-expression" "^7.22.5" + +"@babel/helper-simple-access@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz" + integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-skip-transparent-expression-wrappers@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz" + integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-split-export-declaration@^7.22.6": + version "7.22.6" + resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz" + integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-string-parser@^7.23.4": + version "7.23.4" + resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz" + integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== + +"@babel/helper-validator-identifier@^7.22.20": + version "7.22.20" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz" + integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== + +"@babel/helper-validator-option@^7.23.5": + version "7.23.5" + resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz" + integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== + +"@babel/helper-wrap-function@^7.22.20": + version "7.22.20" + resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz" + integrity sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== + dependencies: + "@babel/helper-function-name" "^7.22.5" + "@babel/template" "^7.22.15" + "@babel/types" "^7.22.19" + +"@babel/helpers@^7.24.0": + version "7.24.0" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.0.tgz" + integrity sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA== + dependencies: + "@babel/template" "^7.24.0" + "@babel/traverse" "^7.24.0" + "@babel/types" "^7.24.0" + +"@babel/highlight@^7.23.4": + version "7.23.4" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz" + integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== + dependencies: + "@babel/helper-validator-identifier" "^7.22.20" + chalk "^2.4.2" + js-tokens "^4.0.0" + +"@babel/parser@^7.23.5", "@babel/parser@^7.23.6", "@babel/parser@^7.23.9", "@babel/parser@^7.24.0": + version "7.24.0" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz" + integrity sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg== + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz" + integrity sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz" + integrity sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-transform-optional-chaining" "^7.23.3" + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.23.7": + version "7.23.7" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz" + integrity sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-proposal-class-properties@^7.8.3": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz" + integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-proposal-decorators@^7.8.3": + version "7.24.0" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.0.tgz" + integrity sha512-LiT1RqZWeij7X+wGxCoYh3/3b8nVOX6/7BZ9wiQgAIyjoeQWdROaodJCgT+dwtbjHaz0r7bEbHJzjSbVfcOyjQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.24.0" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-decorators" "^7.24.0" + +"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": + version "7.21.0-placeholder-for-preset-env.2" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz" + integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== + +"@babel/plugin-syntax-async-generators@^7.8.4": + 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== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.12.13": + 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== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-decorators@^7.24.0": + version "7.24.0" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.0.tgz" + integrity sha512-MXW3pQCu9gUiVGzqkGqsgiINDVYXoAnrY8FYF/rmb+OfufNF0zHMpHPN4ulRrinxYT8Vk/aZJxYqOKsDECjKAw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-syntax-dynamic-import@^7.8.3": + 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== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + 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== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-import-assertions@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz" + integrity sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-import-attributes@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz" + integrity sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-import-meta@^7.10.4": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.3": + 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== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.2.0", "@babel/plugin-syntax-jsx@^7.23.3", "@babel/plugin-syntax-jsx@^7.8.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz" + integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": + 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== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + 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== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4": + 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== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + 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== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + 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== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + 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== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.14.5": + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz" + integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-arrow-functions@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz" + integrity sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-async-generator-functions@^7.23.9": + version "7.23.9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz" + integrity sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-remap-async-to-generator" "^7.22.20" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-transform-async-to-generator@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz" + integrity sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw== + dependencies: + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-remap-async-to-generator" "^7.22.20" + +"@babel/plugin-transform-block-scoped-functions@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz" + integrity sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-block-scoping@^7.23.4": + version "7.23.4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz" + integrity sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-class-properties@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz" + integrity sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-class-static-block@^7.23.4": + version "7.23.4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz" + integrity sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-transform-classes@^7.23.8": + version "7.23.8" + resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz" + integrity sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.20" + "@babel/helper-split-export-declaration" "^7.22.6" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz" + integrity sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/template" "^7.22.15" + +"@babel/plugin-transform-destructuring@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz" + integrity sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-dotall-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz" + integrity sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-duplicate-keys@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz" + integrity sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-dynamic-import@^7.23.4": + version "7.23.4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz" + integrity sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + +"@babel/plugin-transform-exponentiation-operator@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz" + integrity sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-export-namespace-from@^7.23.4": + version "7.23.4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz" + integrity sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-transform-for-of@^7.23.6": + version "7.23.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz" + integrity sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + +"@babel/plugin-transform-function-name@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz" + integrity sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw== + dependencies: + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-json-strings@^7.23.4": + version "7.23.4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz" + integrity sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-transform-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz" + integrity sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-logical-assignment-operators@^7.23.4": + version "7.23.4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz" + integrity sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-transform-member-expression-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz" + integrity sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-modules-amd@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz" + integrity sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-modules-commonjs@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz" + integrity sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-simple-access" "^7.22.5" + +"@babel/plugin-transform-modules-systemjs@^7.23.9": + version "7.23.9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz" + integrity sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw== + dependencies: + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.20" + +"@babel/plugin-transform-modules-umd@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz" + integrity sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz" + integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-new-target@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz" + integrity sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-nullish-coalescing-operator@^7.23.4": + version "7.23.4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz" + integrity sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-transform-numeric-separator@^7.23.4": + version "7.23.4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz" + integrity sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-transform-object-rest-spread@^7.24.0": + version "7.24.0" + resolved "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.0.tgz" + integrity sha512-y/yKMm7buHpFFXfxVFS4Vk1ToRJDilIa6fKRioB9Vjichv58TDGXTvqV0dN7plobAmTW5eSEGXDngE+Mm+uO+w== + dependencies: + "@babel/compat-data" "^7.23.5" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.23.3" + +"@babel/plugin-transform-object-super@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz" + integrity sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.20" + +"@babel/plugin-transform-optional-catch-binding@^7.23.4": + version "7.23.4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz" + integrity sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-transform-optional-chaining@^7.23.3", "@babel/plugin-transform-optional-chaining@^7.23.4": + version "7.23.4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz" + integrity sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-transform-parameters@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz" + integrity sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-private-methods@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz" + integrity sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-private-property-in-object@^7.23.4": + version "7.23.4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz" + integrity sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + +"@babel/plugin-transform-property-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz" + integrity sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-regenerator@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz" + integrity sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + regenerator-transform "^0.15.2" + +"@babel/plugin-transform-reserved-words@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz" + integrity sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-runtime@^7.11.0": + version "7.24.0" + resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.0.tgz" + integrity sha512-zc0GA5IitLKJrSfXlXmp8KDqLrnGECK7YRfQBmEKg1NmBOQ7e+KuclBEKJgzifQeUYLdNiAw4B4bjyvzWVLiSA== + dependencies: + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-plugin-utils" "^7.24.0" + babel-plugin-polyfill-corejs2 "^0.4.8" + babel-plugin-polyfill-corejs3 "^0.9.0" + babel-plugin-polyfill-regenerator "^0.5.5" + semver "^6.3.1" + +"@babel/plugin-transform-shorthand-properties@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz" + integrity sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-spread@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz" + integrity sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + +"@babel/plugin-transform-sticky-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz" + integrity sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-template-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz" + integrity sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-typeof-symbol@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz" + integrity sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-escapes@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz" + integrity sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-property-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz" + integrity sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz" + integrity sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-sets-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz" + integrity sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/preset-env@^7.11.0": + version "7.24.0" + resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.0.tgz" + integrity sha512-ZxPEzV9IgvGn73iK0E6VB9/95Nd7aMFpbE0l8KQFDG70cOV9IxRP7Y2FUPmlK0v6ImlLqYX50iuZ3ZTVhOF2lA== + dependencies: + "@babel/compat-data" "^7.23.5" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-validator-option" "^7.23.5" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.23.3" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.23.3" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.23.7" + "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-import-assertions" "^7.23.3" + "@babel/plugin-syntax-import-attributes" "^7.23.3" + "@babel/plugin-syntax-import-meta" "^7.10.4" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" + "@babel/plugin-transform-arrow-functions" "^7.23.3" + "@babel/plugin-transform-async-generator-functions" "^7.23.9" + "@babel/plugin-transform-async-to-generator" "^7.23.3" + "@babel/plugin-transform-block-scoped-functions" "^7.23.3" + "@babel/plugin-transform-block-scoping" "^7.23.4" + "@babel/plugin-transform-class-properties" "^7.23.3" + "@babel/plugin-transform-class-static-block" "^7.23.4" + "@babel/plugin-transform-classes" "^7.23.8" + "@babel/plugin-transform-computed-properties" "^7.23.3" + "@babel/plugin-transform-destructuring" "^7.23.3" + "@babel/plugin-transform-dotall-regex" "^7.23.3" + "@babel/plugin-transform-duplicate-keys" "^7.23.3" + "@babel/plugin-transform-dynamic-import" "^7.23.4" + "@babel/plugin-transform-exponentiation-operator" "^7.23.3" + "@babel/plugin-transform-export-namespace-from" "^7.23.4" + "@babel/plugin-transform-for-of" "^7.23.6" + "@babel/plugin-transform-function-name" "^7.23.3" + "@babel/plugin-transform-json-strings" "^7.23.4" + "@babel/plugin-transform-literals" "^7.23.3" + "@babel/plugin-transform-logical-assignment-operators" "^7.23.4" + "@babel/plugin-transform-member-expression-literals" "^7.23.3" + "@babel/plugin-transform-modules-amd" "^7.23.3" + "@babel/plugin-transform-modules-commonjs" "^7.23.3" + "@babel/plugin-transform-modules-systemjs" "^7.23.9" + "@babel/plugin-transform-modules-umd" "^7.23.3" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" + "@babel/plugin-transform-new-target" "^7.23.3" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.23.4" + "@babel/plugin-transform-numeric-separator" "^7.23.4" + "@babel/plugin-transform-object-rest-spread" "^7.24.0" + "@babel/plugin-transform-object-super" "^7.23.3" + "@babel/plugin-transform-optional-catch-binding" "^7.23.4" + "@babel/plugin-transform-optional-chaining" "^7.23.4" + "@babel/plugin-transform-parameters" "^7.23.3" + "@babel/plugin-transform-private-methods" "^7.23.3" + "@babel/plugin-transform-private-property-in-object" "^7.23.4" + "@babel/plugin-transform-property-literals" "^7.23.3" + "@babel/plugin-transform-regenerator" "^7.23.3" + "@babel/plugin-transform-reserved-words" "^7.23.3" + "@babel/plugin-transform-shorthand-properties" "^7.23.3" + "@babel/plugin-transform-spread" "^7.23.3" + "@babel/plugin-transform-sticky-regex" "^7.23.3" + "@babel/plugin-transform-template-literals" "^7.23.3" + "@babel/plugin-transform-typeof-symbol" "^7.23.3" + "@babel/plugin-transform-unicode-escapes" "^7.23.3" + "@babel/plugin-transform-unicode-property-regex" "^7.23.3" + "@babel/plugin-transform-unicode-regex" "^7.23.3" + "@babel/plugin-transform-unicode-sets-regex" "^7.23.3" + "@babel/preset-modules" "0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2 "^0.4.8" + babel-plugin-polyfill-corejs3 "^0.9.0" + babel-plugin-polyfill-regenerator "^0.5.5" + core-js-compat "^3.31.0" + semver "^6.3.1" + +"@babel/preset-modules@0.1.6-no-external-plugins": + version "0.1.6-no-external-plugins" + resolved "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz" + integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/regjsgen@^0.8.0": + version "0.8.0" + resolved "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz" + integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== + +"@babel/runtime@^7.11.0", "@babel/runtime@^7.3.4", "@babel/runtime@^7.8.4": + version "7.24.0" + resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.0.tgz" + integrity sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw== + dependencies: + regenerator-runtime "^0.14.0" + +"@babel/template@^7.22.15", "@babel/template@^7.24.0": + version "7.24.0" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz" + integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/parser" "^7.24.0" + "@babel/types" "^7.24.0" + +"@babel/traverse@^7.23.7", "@babel/traverse@^7.24.0": + version "7.24.0" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.0.tgz" + integrity sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/parser" "^7.24.0" + "@babel/types" "^7.24.0" + debug "^4.3.1" + globals "^11.1.0" + +"@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.6", "@babel/types@^7.24.0", "@babel/types@^7.4.4": + version "7.24.0" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz" + integrity sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w== + dependencies: + "@babel/helper-string-parser" "^7.23.4" + "@babel/helper-validator-identifier" "^7.22.20" + to-fast-properties "^2.0.0" + +"@colors/colors@1.5.0": + version "1.5.0" + resolved "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz" + integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== + +"@cypress/listr-verbose-renderer@^0.4.1": + version "0.4.1" + resolved "https://registry.npmjs.org/@cypress/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz" + integrity sha512-EDiBsVPWC27DDLEJCo+dpl9ODHhdrwU57ccr9tspwCdG2ni0QVkf6LF0FGbhfujcjPxnXLIwsaks4sOrwrA4Qw== + dependencies: + chalk "^1.1.3" + cli-cursor "^1.0.2" + date-fns "^1.27.2" + figures "^1.7.0" + +"@cypress/request@^2.88.5": + version "2.88.12" + resolved "https://registry.npmjs.org/@cypress/request/-/request-2.88.12.tgz" + integrity sha512-tOn+0mDZxASFM+cuAP9szGUGPI1HwWVSvdzm7V4cCsPdFTx6qMj29CwaQmRAMIEhORIUBFBsYROYJcveK4uOjA== + 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" + http-signature "~1.3.6" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + performance-now "^2.1.0" + qs "~6.10.3" + safe-buffer "^5.1.2" + tough-cookie "^4.1.3" + tunnel-agent "^0.6.0" + uuid "^8.3.2" + +"@cypress/xvfb@^1.2.4": + version "1.2.4" + resolved "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz" + integrity sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q== + dependencies: + debug "^3.1.0" + lodash.once "^4.1.1" + +"@hapi/address@2.x.x": + version "2.1.4" + resolved "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz" + integrity sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ== + +"@hapi/bourne@1.x.x": + version "1.3.2" + resolved "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz" + integrity sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA== + +"@hapi/hoek@^8.3.0", "@hapi/hoek@8.x.x": + version "8.5.1" + resolved "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz" + integrity sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow== + +"@hapi/joi@^15.0.0": + version "15.1.1" + resolved "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz" + integrity sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ== + dependencies: + "@hapi/address" "2.x.x" + "@hapi/bourne" "1.x.x" + "@hapi/hoek" "8.x.x" + "@hapi/topo" "3.x.x" + +"@hapi/topo@3.x.x": + version "3.1.6" + resolved "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz" + integrity sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ== + dependencies: + "@hapi/hoek" "^8.3.0" + +"@jridgewell/gen-mapping@^0.3.2", "@jridgewell/gen-mapping@^0.3.5": + version "0.3.5" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz" + integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== + dependencies: + "@jridgewell/set-array" "^1.2.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.24" + +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.2" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== + +"@jridgewell/set-array@^1.2.1": + version "1.2.1" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz" + integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15": + version "1.4.15" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.24": + version "0.3.25" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@mrmlnc/readdir-enhanced@^2.2.1": + version "2.2.1" + resolved "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz" + integrity sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g== + dependencies: + call-me-maybe "^1.0.1" + glob-to-regexp "^0.3.0" + +"@nodelib/fs.stat@^1.1.2": + version "1.1.3" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz" + integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== + +"@samverschueren/stream-to-observable@^0.3.0": + version "0.3.1" + resolved "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz" + integrity sha512-c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ== + dependencies: + any-observable "^0.3.0" + +"@shigma/stringify-object@^3.3.0": + version "3.3.0" + resolved "https://registry.npmjs.org/@shigma/stringify-object/-/stringify-object-3.3.0.tgz" + integrity sha512-tO5pn6RJp8m1ldYtqY3GEQA6+Nqp1cIZVrVx7iFVPx0YfhMqfplwrvyrQPP1cCwuyRoAyDr/BxVZYt+USm8LXQ== + dependencies: + get-own-enumerable-property-symbols "^3.0.0" + is-obj "^1.0.1" + is-regexp "^2.0.0" + +"@sindresorhus/is@^0.14.0": + version "0.14.0" + resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz" + integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== + +"@szmarczak/http-timer@^1.1.2": + version "1.1.2" + resolved "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz" + integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== + dependencies: + defer-to-connect "^1.0.1" + +"@types/body-parser@*": + version "1.19.5" + resolved "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz" + integrity sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg== + dependencies: + "@types/connect" "*" + "@types/node" "*" + +"@types/connect-history-api-fallback@*": + version "1.5.4" + resolved "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz" + integrity sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw== + dependencies: + "@types/express-serve-static-core" "*" + "@types/node" "*" + +"@types/connect@*": + version "3.4.38" + resolved "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz" + integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== + dependencies: + "@types/node" "*" + +"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33": + version "4.17.43" + resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz" + integrity sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + "@types/send" "*" + +"@types/express@*": + version "4.17.21" + resolved "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz" + integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^4.17.33" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/glob@^7.1.1": + version "7.2.0" + resolved "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz" + integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== + dependencies: + "@types/minimatch" "*" + "@types/node" "*" + +"@types/highlight.js@^9.7.0": + version "9.12.4" + resolved "https://registry.npmjs.org/@types/highlight.js/-/highlight.js-9.12.4.tgz" + integrity sha512-t2szdkwmg2JJyuCM20e8kR2X59WCE5Zkl4bzm1u1Oukjm79zpbiAv+QjnwLnuuV0WHEcX2NgUItu0pAMKuOPww== + +"@types/http-errors@*": + version "2.0.4" + resolved "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz" + integrity sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA== + +"@types/http-proxy@^1.17.5": + version "1.17.14" + resolved "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz" + integrity sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w== + dependencies: + "@types/node" "*" + +"@types/json-schema@^7.0.5": + version "7.0.15" + resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== + +"@types/linkify-it@*": + version "3.0.5" + resolved "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.5.tgz" + integrity sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw== + +"@types/markdown-it@^10.0.0": + version "10.0.3" + resolved "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-10.0.3.tgz" + integrity sha512-daHJk22isOUvNssVGF2zDnnSyxHhFYhtjeX4oQaKD6QzL3ZR1QSgiD1g+Q6/WSWYVogNXYDXODtbgW/WiFCtyw== + dependencies: + "@types/highlight.js" "^9.7.0" + "@types/linkify-it" "*" + "@types/mdurl" "*" + highlight.js "^9.7.0" + +"@types/mdurl@*": + version "1.0.5" + resolved "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.5.tgz" + integrity sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA== + +"@types/mime@*", "@types/mime@^1": + version "1.3.5" + resolved "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz" + integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== + +"@types/minimatch@*": + version "5.1.2" + resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz" + integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== + +"@types/node@*": + version "20.11.26" + resolved "https://registry.npmjs.org/@types/node/-/node-20.11.26.tgz" + integrity sha512-YwOMmyhNnAWijOBQweOJnQPl068Oqd4K3OFbTc6AHJwzweUwwWG3GIFY74OKks2PJUDkQPeddOQES9mLn1CTEQ== + dependencies: + undici-types "~5.26.4" + +"@types/node@12.12.50": + version "12.12.50" + resolved "https://registry.npmjs.org/@types/node/-/node-12.12.50.tgz" + integrity sha512-5ImO01Fb8YsEOYpV+aeyGYztcYcjGsBvN4D7G5r1ef2cuQOpymjWNQi5V0rKHE6PC2ru3HkoUr/Br2/8GUA84w== + +"@types/q@^1.5.1": + version "1.5.8" + resolved "https://registry.npmjs.org/@types/q/-/q-1.5.8.tgz" + integrity sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw== + +"@types/qs@*": + version "6.9.12" + resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.12.tgz" + integrity sha512-bZcOkJ6uWrL0Qb2NAWKa7TBU+mJHPzhx9jjLL1KHF+XpzEcR7EXHvjbHlGtR/IsP1vyPrehuS6XqkmaePy//mg== + +"@types/range-parser@*": + version "1.2.7" + resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz" + integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== + +"@types/send@*": + version "0.17.4" + resolved "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz" + integrity sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA== + dependencies: + "@types/mime" "^1" + "@types/node" "*" + +"@types/serve-static@*": + version "1.15.5" + resolved "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz" + integrity sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ== + dependencies: + "@types/http-errors" "*" + "@types/mime" "*" + "@types/node" "*" + +"@types/sinonjs__fake-timers@^6.0.1": + version "6.0.4" + resolved "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.4.tgz" + integrity sha512-IFQTJARgMUBF+xVd2b+hIgXWrZEjND3vJtRCvIelcFB5SIXfjV4bOHbHJ0eXKh+0COrBRc8MqteKAz/j88rE0A== + +"@types/sizzle@^2.3.2": + version "2.3.8" + resolved "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.8.tgz" + integrity sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg== + +"@types/source-list-map@*": + version "0.1.6" + resolved "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.6.tgz" + integrity sha512-5JcVt1u5HDmlXkwOD2nslZVllBBc7HDuOICfiZah2Z0is8M8g+ddAEawbmd3VjedfDHBzxCaXLs07QEmb7y54g== + +"@types/tapable@^1": + version "1.0.12" + resolved "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.12.tgz" + integrity sha512-bTHG8fcxEqv1M9+TD14P8ok8hjxoOCkfKc8XXLaaD05kI7ohpeI956jtDOD3XHKBQrlyPughUtzm1jtVhHpA5Q== + +"@types/uglify-js@*": + version "3.17.5" + resolved "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.17.5.tgz" + integrity sha512-TU+fZFBTBcXj/GpDpDaBmgWk/gn96kMZ+uocaFUlV2f8a6WdMzzI44QBCmGcCiYR0Y6ZlNRiyUyKKt5nl/lbzQ== + dependencies: + source-map "^0.6.1" + +"@types/webpack-dev-server@^3": + version "3.11.6" + resolved "https://registry.npmjs.org/@types/webpack-dev-server/-/webpack-dev-server-3.11.6.tgz" + integrity sha512-XCph0RiiqFGetukCTC3KVnY1jwLcZ84illFRMbyFzCcWl90B/76ew0tSqF46oBhnLC4obNDG7dMO0JfTN0MgMQ== + dependencies: + "@types/connect-history-api-fallback" "*" + "@types/express" "*" + "@types/serve-static" "*" + "@types/webpack" "^4" + http-proxy-middleware "^1.0.0" + +"@types/webpack-sources@*": + version "3.2.3" + resolved "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.3.tgz" + integrity sha512-4nZOdMwSPHZ4pTEZzSp0AsTM4K7Qmu40UKW4tJDiOVs20UzYF9l+qUe4s0ftfN0pin06n+5cWWDJXH+sbhAiDw== + dependencies: + "@types/node" "*" + "@types/source-list-map" "*" + source-map "^0.7.3" + +"@types/webpack@^4": + version "4.41.38" + resolved "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.38.tgz" + integrity sha512-oOW7E931XJU1mVfCnxCVgv8GLFL768pDO5u2Gzk82i8yTIgX6i7cntyZOkZYb/JtYM8252SN9bQp9tgkVDSsRw== + dependencies: + "@types/node" "*" + "@types/tapable" "^1" + "@types/uglify-js" "*" + "@types/webpack-sources" "*" + anymatch "^3.0.0" + source-map "^0.6.0" + +"@vssue/api-github-v3@^1.1.2": + version "1.4.7" + resolved "https://registry.npmjs.org/@vssue/api-github-v3/-/api-github-v3-1.4.7.tgz" + integrity sha512-ukhOnzGQarmj606ZiYN9iCMyr3EJS3YEPdZXX+zBLVsuzjTL5ffLbbpXsEtPBh2XNt3Ig3XdzCvA9bVXhwy4mQ== + dependencies: + "@vssue/utils" "^1.4.7" + axios "^0.21.1" + +"@vssue/utils@^1.4.7": + version "1.4.7" + resolved "https://registry.npmjs.org/@vssue/utils/-/utils-1.4.7.tgz" + integrity sha512-e94karP4szmSNT2L4bgIT+VGToBSY3bdlgmGcomcD2qCXTWDK4krSOYm8ES+BhHTcmCvzQYU/xenHR4tzrythA== + dependencies: + date-fns "^1.29.0" + qs "^6.6.0" + +"@vssue/vuepress-plugin-vssue@^1.2.0": + version "1.4.8" + resolved "https://registry.npmjs.org/@vssue/vuepress-plugin-vssue/-/vuepress-plugin-vssue-1.4.8.tgz" + integrity sha512-0QzegHl/Rx4/XgXswThIJi4Yk+b6AIaM450jX6p4RbOM6yOTzEKLTMduUo54Rvhq/NHNusu4Yy/w1iY8NTqBEg== + dependencies: + vssue "^1.4.8" + +"@vue/babel-helper-vue-jsx-merge-props@^1.4.0": + version "1.4.0" + resolved "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.4.0.tgz" + integrity sha512-JkqXfCkUDp4PIlFdDQ0TdXoIejMtTHP67/pvxlgeY+u5k3LEdKuWZ3LK6xkxo52uDoABIVyRwqVkfLQJhk7VBA== + +"@vue/babel-helper-vue-transform-on@1.2.1": + version "1.2.1" + resolved "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.2.1.tgz" + integrity sha512-jtEXim+pfyHWwvheYwUwSXm43KwQo8nhOBDyjrUITV6X2tB7lJm6n/+4sqR8137UVZZul5hBzWHdZ2uStYpyRQ== + +"@vue/babel-plugin-jsx@^1.0.3": + version "1.2.1" + resolved "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.2.1.tgz" + integrity sha512-Yy9qGktktXhB39QE99So/BO2Uwm/ZG+gpL9vMg51ijRRbINvgbuhyJEi4WYmGRMx/MSTfK0xjgZ3/MyY+iLCEg== + dependencies: + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-jsx" "^7.23.3" + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.7" + "@babel/types" "^7.23.6" + "@vue/babel-helper-vue-transform-on" "1.2.1" + "@vue/babel-plugin-resolve-type" "1.2.1" + camelcase "^6.3.0" + html-tags "^3.3.1" + svg-tags "^1.0.0" + +"@vue/babel-plugin-resolve-type@1.2.1": + version "1.2.1" + resolved "https://registry.npmjs.org/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.2.1.tgz" + integrity sha512-IOtnI7pHunUzHS/y+EG/yPABIAp0VN8QhQ0UCS09jeMVxgAnI9qdOzO85RXdQGxq+aWCdv8/+k3W0aYO6j/8fQ== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/parser" "^7.23.6" + "@vue/compiler-sfc" "^3.4.15" + +"@vue/babel-plugin-transform-vue-jsx@^1.4.0": + version "1.4.0" + resolved "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.4.0.tgz" + integrity sha512-Fmastxw4MMx0vlgLS4XBX0XiBbUFzoMGeVXuMV08wyOfXdikAFqBTuYPR0tlk+XskL19EzHc39SgjrPGY23JnA== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/plugin-syntax-jsx" "^7.2.0" + "@vue/babel-helper-vue-jsx-merge-props" "^1.4.0" + html-tags "^2.0.0" + lodash.kebabcase "^4.1.1" + svg-tags "^1.0.0" + +"@vue/babel-preset-app@^4.1.2": + version "4.5.19" + resolved "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-4.5.19.tgz" + integrity sha512-VCNRiAt2P/bLo09rYt3DLe6xXUMlhJwrvU18Ddd/lYJgC7s8+wvhgYs+MTx4OiAXdu58drGwSBO9SPx7C6J82Q== + dependencies: + "@babel/core" "^7.11.0" + "@babel/helper-compilation-targets" "^7.9.6" + "@babel/helper-module-imports" "^7.8.3" + "@babel/plugin-proposal-class-properties" "^7.8.3" + "@babel/plugin-proposal-decorators" "^7.8.3" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-jsx" "^7.8.3" + "@babel/plugin-transform-runtime" "^7.11.0" + "@babel/preset-env" "^7.11.0" + "@babel/runtime" "^7.11.0" + "@vue/babel-plugin-jsx" "^1.0.3" + "@vue/babel-preset-jsx" "^1.2.4" + babel-plugin-dynamic-import-node "^2.3.3" + core-js "^3.6.5" + core-js-compat "^3.6.5" + semver "^6.1.0" + +"@vue/babel-preset-jsx@^1.2.4": + version "1.4.0" + resolved "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.4.0.tgz" + integrity sha512-QmfRpssBOPZWL5xw7fOuHNifCQcNQC1PrOo/4fu6xlhlKJJKSA3HqX92Nvgyx8fqHZTUGMPHmFA+IDqwXlqkSA== + dependencies: + "@vue/babel-helper-vue-jsx-merge-props" "^1.4.0" + "@vue/babel-plugin-transform-vue-jsx" "^1.4.0" + "@vue/babel-sugar-composition-api-inject-h" "^1.4.0" + "@vue/babel-sugar-composition-api-render-instance" "^1.4.0" + "@vue/babel-sugar-functional-vue" "^1.4.0" + "@vue/babel-sugar-inject-h" "^1.4.0" + "@vue/babel-sugar-v-model" "^1.4.0" + "@vue/babel-sugar-v-on" "^1.4.0" + +"@vue/babel-sugar-composition-api-inject-h@^1.4.0": + version "1.4.0" + resolved "https://registry.npmjs.org/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.4.0.tgz" + integrity sha512-VQq6zEddJHctnG4w3TfmlVp5FzDavUSut/DwR0xVoe/mJKXyMcsIibL42wPntozITEoY90aBV0/1d2KjxHU52g== + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@vue/babel-sugar-composition-api-render-instance@^1.4.0": + version "1.4.0" + resolved "https://registry.npmjs.org/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.4.0.tgz" + integrity sha512-6ZDAzcxvy7VcnCjNdHJ59mwK02ZFuP5CnucloidqlZwVQv5CQLijc3lGpR7MD3TWFi78J7+a8J56YxbCtHgT9Q== + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@vue/babel-sugar-functional-vue@^1.4.0": + version "1.4.0" + resolved "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.4.0.tgz" + integrity sha512-lTEB4WUFNzYt2In6JsoF9sAYVTo84wC4e+PoZWSgM6FUtqRJz7wMylaEhSRgG71YF+wfLD6cc9nqVeXN2rwBvw== + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@vue/babel-sugar-inject-h@^1.4.0": + version "1.4.0" + resolved "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.4.0.tgz" + integrity sha512-muwWrPKli77uO2fFM7eA3G1lAGnERuSz2NgAxuOLzrsTlQl8W4G+wwbM4nB6iewlKbwKRae3nL03UaF5ffAPMA== + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@vue/babel-sugar-v-model@^1.4.0": + version "1.4.0" + resolved "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.4.0.tgz" + integrity sha512-0t4HGgXb7WHYLBciZzN5s0Hzqan4Ue+p/3FdQdcaHAb7s5D9WZFGoSxEZHrR1TFVZlAPu1bejTKGeAzaaG3NCQ== + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + "@vue/babel-helper-vue-jsx-merge-props" "^1.4.0" + "@vue/babel-plugin-transform-vue-jsx" "^1.4.0" + camelcase "^5.0.0" + html-tags "^2.0.0" + svg-tags "^1.0.0" + +"@vue/babel-sugar-v-on@^1.4.0": + version "1.4.0" + resolved "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.4.0.tgz" + integrity sha512-m+zud4wKLzSKgQrWwhqRObWzmTuyzl6vOP7024lrpeJM4x2UhQtRDLgYjXAw9xBXjCwS0pP9kXjg91F9ZNo9JA== + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + "@vue/babel-plugin-transform-vue-jsx" "^1.4.0" + camelcase "^5.0.0" + +"@vue/compiler-core@3.4.21": + version "3.4.21" + resolved "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.21.tgz" + integrity sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og== + dependencies: + "@babel/parser" "^7.23.9" + "@vue/shared" "3.4.21" + entities "^4.5.0" + estree-walker "^2.0.2" + source-map-js "^1.0.2" + +"@vue/compiler-dom@3.4.21": + version "3.4.21" + resolved "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.21.tgz" + integrity sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA== + dependencies: + "@vue/compiler-core" "3.4.21" + "@vue/shared" "3.4.21" + +"@vue/compiler-sfc@^3.4.15": + version "3.4.21" + resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.21.tgz" + integrity sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ== + dependencies: + "@babel/parser" "^7.23.9" + "@vue/compiler-core" "3.4.21" + "@vue/compiler-dom" "3.4.21" + "@vue/compiler-ssr" "3.4.21" + "@vue/shared" "3.4.21" + estree-walker "^2.0.2" + magic-string "^0.30.7" + postcss "^8.4.35" + source-map-js "^1.0.2" + +"@vue/compiler-sfc@2.7.16": + version "2.7.16" + resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.16.tgz" + integrity sha512-KWhJ9k5nXuNtygPU7+t1rX6baZeqOYLEforUPjgNDBnLicfHCoi48H87Q8XyLZOrNNsmhuwKqtpDQWjEFe6Ekg== + dependencies: + "@babel/parser" "^7.23.5" + postcss "^8.4.14" + source-map "^0.6.1" + optionalDependencies: + prettier "^1.18.2 || ^2.0.0" + +"@vue/compiler-ssr@3.4.21": + version "3.4.21" + resolved "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.21.tgz" + integrity sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q== + dependencies: + "@vue/compiler-dom" "3.4.21" + "@vue/shared" "3.4.21" + +"@vue/component-compiler-utils@^3.1.0": + version "3.3.0" + resolved "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz" + integrity sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ== + dependencies: + consolidate "^0.15.1" + hash-sum "^1.0.2" + lru-cache "^4.1.2" + merge-source-map "^1.1.0" + postcss "^7.0.36" + postcss-selector-parser "^6.0.2" + source-map "~0.6.1" + vue-template-es2015-compiler "^1.9.0" + optionalDependencies: + prettier "^1.18.2 || ^2.0.0" + +"@vue/shared@3.4.21": + version "3.4.21" + resolved "https://registry.npmjs.org/@vue/shared/-/shared-3.4.21.tgz" + integrity sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g== + +"@vuepress/core@1.9.10": + version "1.9.10" + resolved "https://registry.npmjs.org/@vuepress/core/-/core-1.9.10.tgz" + integrity sha512-H9ddo5fSinPb8QYl8OJFbZikMpOW84bm/U3Drzz8CnCXNtpda7CU2wX/XzOhe98G8jp45xhtZRkxOrqzBBAShA== + dependencies: + "@babel/core" "^7.8.4" + "@vue/babel-preset-app" "^4.1.2" + "@vuepress/markdown" "1.9.10" + "@vuepress/markdown-loader" "1.9.10" + "@vuepress/plugin-last-updated" "1.9.10" + "@vuepress/plugin-register-components" "1.9.10" + "@vuepress/shared-utils" "1.9.10" + "@vuepress/types" "1.9.10" + autoprefixer "^9.5.1" + babel-loader "^8.0.4" + bundle-require "2.1.8" + cache-loader "^3.0.0" + chokidar "^2.0.3" + connect-history-api-fallback "^1.5.0" + copy-webpack-plugin "^5.0.2" + core-js "^3.6.4" + cross-spawn "^6.0.5" + css-loader "^2.1.1" + esbuild "0.14.7" + file-loader "^3.0.1" + js-yaml "^3.13.1" + lru-cache "^5.1.1" + mini-css-extract-plugin "0.6.0" + optimize-css-assets-webpack-plugin "^5.0.1" + portfinder "^1.0.13" + postcss-loader "^3.0.0" + postcss-safe-parser "^4.0.1" + toml "^3.0.0" + url-loader "^1.0.1" + vue "^2.6.10" + vue-loader "^15.7.1" + vue-router "^3.4.5" + vue-server-renderer "^2.6.10" + vue-template-compiler "^2.6.10" + vuepress-html-webpack-plugin "^3.2.0" + vuepress-plugin-container "^2.0.2" + webpack "^4.8.1" + webpack-chain "^6.0.0" + webpack-dev-server "^3.5.1" + webpack-merge "^4.1.2" + webpackbar "3.2.0" + +"@vuepress/markdown-loader@1.9.10": + version "1.9.10" + resolved "https://registry.npmjs.org/@vuepress/markdown-loader/-/markdown-loader-1.9.10.tgz" + integrity sha512-94BlwKc+lOaN/A5DkyA9KWHvMlMC1sWunAXE3Tv0WYzgYLDs9QqCsx7L5kLkpcOOVVm/8kBJumnXvVBwhqJddw== + dependencies: + "@vuepress/markdown" "1.9.10" + loader-utils "^1.1.0" + lru-cache "^5.1.1" + +"@vuepress/markdown@1.9.10": + version "1.9.10" + resolved "https://registry.npmjs.org/@vuepress/markdown/-/markdown-1.9.10.tgz" + integrity sha512-sXTLjeZzH8SQuAL5AEH0hhsMljjNJbzWbBvzaj5yQCCdf+3sp/dJ0kwnBSnQjFPPnzPg5t3tLKGUYHyW0KiKzA== + dependencies: + "@vuepress/shared-utils" "1.9.10" + markdown-it "^8.4.1" + markdown-it-anchor "^5.0.2" + markdown-it-chain "^1.3.0" + markdown-it-emoji "^1.4.0" + markdown-it-table-of-contents "^0.4.0" + prismjs "^1.13.0" + +"@vuepress/plugin-active-header-links@1.9.10": + version "1.9.10" + resolved "https://registry.npmjs.org/@vuepress/plugin-active-header-links/-/plugin-active-header-links-1.9.10.tgz" + integrity sha512-2dRr3DE2UBFXhyMtLR3sGTdRyDM8YStuY6AOoQmoSgwy1IHt7PO7ypOuf1akF+1Nv8Q2aISU06q6TExZouu3Mw== + dependencies: + "@vuepress/types" "1.9.10" + lodash.debounce "^4.0.8" + +"@vuepress/plugin-back-to-top@^1.4.1": + version "1.9.10" + resolved "https://registry.npmjs.org/@vuepress/plugin-back-to-top/-/plugin-back-to-top-1.9.10.tgz" + integrity sha512-iInIp66wu717CAnT2pyd9Bs/vAgrUBOBIQ7WMnfJo07cW/ZIothpyrSHnpCRSsfJ/jLivMPqW0pviqppt64BzQ== + dependencies: + "@vuepress/types" "1.9.10" + lodash.debounce "^4.0.8" + +"@vuepress/plugin-blog@^1.9.2": + version "1.9.4" + resolved "https://registry.npmjs.org/@vuepress/plugin-blog/-/plugin-blog-1.9.4.tgz" + integrity sha512-7A4Y3mYrSOUKdzsTjeVOKt0XgZ0m1Iqq7BeZn7y9YeZfDcZ4Fx6UldsPfK2+THwtYwGzQ7Not3zO8djyk7z3ew== + dependencies: + "@vssue/api-github-v3" "^1.1.2" + "@vssue/vuepress-plugin-vssue" "^1.2.0" + dayjs "^1.10.3" + vuejs-paginate "^2.1.0" + vuepress-plugin-disqus "^0.2.0" + vuepress-plugin-feed "^0.1.8" + vuepress-plugin-mailchimp "^1.4.1" + vuepress-plugin-sitemap "^2.3.1" + +"@vuepress/plugin-last-updated@1.9.10": + version "1.9.10" + resolved "https://registry.npmjs.org/@vuepress/plugin-last-updated/-/plugin-last-updated-1.9.10.tgz" + integrity sha512-YxzWGF/OfU6WsHSynZFn74NGGp7dY27Bjy9JyyFo8wF5+2V1gpyDjveHKHGKugS/pMXlxfjzhv9E2Wmy9R7Iog== + dependencies: + "@vuepress/types" "1.9.10" + cross-spawn "^6.0.5" + +"@vuepress/plugin-medium-zoom@^1.5.4": + version "1.9.10" + resolved "https://registry.npmjs.org/@vuepress/plugin-medium-zoom/-/plugin-medium-zoom-1.9.10.tgz" + integrity sha512-/MsICWZ/mUTs+ZdqqA1AVtWAtNL5ksgnnGR2X24LnXaPJp+M1IB2ETcyNKh264YVODSrmVsS/Y+kbCRK0qKkdg== + dependencies: + "@vuepress/types" "1.9.10" + medium-zoom "^1.0.4" + +"@vuepress/plugin-nprogress@^1.5.4", "@vuepress/plugin-nprogress@1.9.10": + version "1.9.10" + resolved "https://registry.npmjs.org/@vuepress/plugin-nprogress/-/plugin-nprogress-1.9.10.tgz" + integrity sha512-I1kkm6yWUQd7vwiV3lEDVpVP0Lr04K0zlczU502lDUa1RufSZ7vt+mlF5fOM28GqT+pKTEToWmm+VNT/R3qvMQ== + dependencies: + "@vuepress/types" "1.9.10" + nprogress "^0.2.0" + +"@vuepress/plugin-pwa@^1.5.4": + version "1.9.10" + resolved "https://registry.npmjs.org/@vuepress/plugin-pwa/-/plugin-pwa-1.9.10.tgz" + integrity sha512-pP3CUYKyIpnePswZGj9sBHJUzOczSmWSkmdoJftEnsBQT10YycJ81khS9WKEGPbTurbCOCCXsOzaEqCLysyYaA== + dependencies: + "@vuepress/shared-utils" "1.9.10" + "@vuepress/types" "1.9.10" + register-service-worker "^1.7.0" + workbox-build "^4.3.1" + +"@vuepress/plugin-register-components@^1.8.0", "@vuepress/plugin-register-components@1.9.10": + version "1.9.10" + resolved "https://registry.npmjs.org/@vuepress/plugin-register-components/-/plugin-register-components-1.9.10.tgz" + integrity sha512-sgdJ5OydTPZAoTkselpvVP3Xsd6bfZ0FpaxOTinal0gJ99h49lvLu9bvzMx13rdGRFO/kRXn0qQQpwKTAfTPqA== + dependencies: + "@vuepress/shared-utils" "1.9.10" + "@vuepress/types" "1.9.10" + +"@vuepress/plugin-search@^1.5.4", "@vuepress/plugin-search@^1.6.0", "@vuepress/plugin-search@1.9.10": + version "1.9.10" + resolved "https://registry.npmjs.org/@vuepress/plugin-search/-/plugin-search-1.9.10.tgz" + integrity sha512-bn2XJikaRgQZXvu8upCjOWrxbLHIRTqnJ3w7G0mo6jCYWGVsHNo6XhVpqylpLR2PWnHT/ImO2bGo38/5Bag/tQ== + dependencies: + "@vuepress/types" "1.9.10" + +"@vuepress/shared-utils@^1.2.0", "@vuepress/shared-utils@1.9.10": + version "1.9.10" + resolved "https://registry.npmjs.org/@vuepress/shared-utils/-/shared-utils-1.9.10.tgz" + integrity sha512-M9A3DocPih+V8dKK2Zg9FJQ/f3JZrYsdaM/vQ9F48l8bPlzxw5NvqXIYMK4kKcGEyerQNTWCudoCpLL5uiU0hg== + dependencies: + chalk "^2.3.2" + escape-html "^1.0.3" + fs-extra "^7.0.1" + globby "^9.2.0" + gray-matter "^4.0.1" + hash-sum "^1.0.2" + semver "^6.0.0" + toml "^3.0.0" + upath "^1.1.0" + +"@vuepress/theme-blog@^2.3.3": + version "2.3.3" + resolved "https://registry.npmjs.org/@vuepress/theme-blog/-/theme-blog-2.3.3.tgz" + integrity sha512-t/xx/LmevJVxX8xeBE3FG6FrzBlT0t72K7yNNlrWoiNCHcPuXYSBUg2H933f3w+9qPB+YyxGmzwRVNBUSnzNdw== + dependencies: + "@vuepress/plugin-blog" "^1.9.2" + "@vuepress/plugin-medium-zoom" "^1.5.4" + "@vuepress/plugin-nprogress" "^1.5.4" + "@vuepress/plugin-pwa" "^1.5.4" + "@vuepress/plugin-search" "^1.5.4" + dayjs "^1.8.19" + remove-markdown "^0.3.0" + vue-feather-icons "^4.21.0" + vuepress-plugin-smooth-scroll "^0.0.9" + +"@vuepress/theme-default@1.9.10": + version "1.9.10" + resolved "https://registry.npmjs.org/@vuepress/theme-default/-/theme-default-1.9.10.tgz" + integrity sha512-XnXn9t+pYCIhWi3cZXJlighuy93FFm5yXdISAAlFlcNkshuGtqamkjacHV8q/QZMfOhSIs6wX7Hj88u2IsT5mw== + dependencies: + "@vuepress/plugin-active-header-links" "1.9.10" + "@vuepress/plugin-nprogress" "1.9.10" + "@vuepress/plugin-search" "1.9.10" + "@vuepress/types" "1.9.10" + docsearch.js "^2.5.2" + lodash "^4.17.15" + stylus "^0.54.8" + stylus-loader "^3.0.2" + vuepress-plugin-container "^2.0.2" + vuepress-plugin-smooth-scroll "^0.0.3" + +"@vuepress/types@1.9.10": + version "1.9.10" + resolved "https://registry.npmjs.org/@vuepress/types/-/types-1.9.10.tgz" + integrity sha512-TDNQn4og85onmBpLTTXXmncW3rUnYGr2MkuI8OIFJZetDNM49t1WbjNVlrT+kx7C6qXi6okDQgrHGYXajHZWfg== + dependencies: + "@types/markdown-it" "^10.0.0" + "@types/webpack-dev-server" "^3" + webpack-chain "^6.0.0" + +"@webassemblyjs/ast@1.9.0": + version "1.9.0" + resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz" + integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA== + dependencies: + "@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@1.9.0": + 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== + +"@webassemblyjs/helper-api-error@1.9.0": + version "1.9.0" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz" + integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw== + +"@webassemblyjs/helper-buffer@1.9.0": + version "1.9.0" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz" + integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA== + +"@webassemblyjs/helper-code-frame@1.9.0": + 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== + dependencies: + "@webassemblyjs/wast-printer" "1.9.0" + +"@webassemblyjs/helper-fsm@1.9.0": + version "1.9.0" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz" + integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw== + +"@webassemblyjs/helper-module-context@1.9.0": + 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== + dependencies: + "@webassemblyjs/ast" "1.9.0" + +"@webassemblyjs/helper-wasm-bytecode@1.9.0": + 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== + +"@webassemblyjs/helper-wasm-section@1.9.0": + 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== + 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" + +"@webassemblyjs/ieee754@1.9.0": + version "1.9.0" + resolved "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz" + integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.9.0": + version "1.9.0" + resolved "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz" + integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw== + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.9.0": + version "1.9.0" + resolved "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz" + integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w== + +"@webassemblyjs/wasm-edit@1.9.0": + version "1.9.0" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz" + integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw== + 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" + +"@webassemblyjs/wasm-gen@1.9.0": + version "1.9.0" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz" + integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA== + 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" + +"@webassemblyjs/wasm-opt@1.9.0": + version "1.9.0" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz" + integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A== + dependencies: + "@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@1.9.0": + version "1.9.0" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz" + integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA== + 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" + +"@webassemblyjs/wast-parser@1.9.0": + 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== + 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" + +"@webassemblyjs/wast-printer@1.9.0": + 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== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/wast-parser" "1.9.0" + "@xtuc/long" "4.2.2" + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + +abbrev@1: + version "1.1.1" + resolved "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: + version "1.3.8" + resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== + dependencies: + mime-types "~2.1.34" + negotiator "0.6.3" + +acorn@^6.4.1: + version "6.4.2" + resolved "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz" + integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== + +agentkeepalive@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-2.2.0.tgz" + integrity sha512-TnB6ziK363p7lR8QpeLC8aMr8EGYBKZTpgzQLfqTs3bR0Oo5VbKdwKf8h0dSzsYrB7lSCgfJnMZKqShvlq5Oyg== + +ajv-errors@^1.0.0: + 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== + +ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.9.1, ajv@>=5.0.0: + version "6.12.6" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + 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" + +algoliasearch@^3.24.5: + version "3.35.1" + resolved "https://registry.npmjs.org/algoliasearch/-/algoliasearch-3.35.1.tgz" + integrity sha512-K4yKVhaHkXfJ/xcUnil04xiSrB8B8yHZoFEhWNpXg23eiCnqvTZw1tn/SqvdsANlYHLJlKl0qi3I/Q2Sqo7LwQ== + dependencies: + agentkeepalive "^2.2.0" + debug "^2.6.9" + envify "^4.0.0" + es6-promise "^4.1.0" + events "^1.1.0" + foreach "^2.0.5" + global "^4.3.2" + inherits "^2.0.1" + isarray "^2.0.1" + load-script "^1.0.0" + object-keys "^1.0.11" + querystring-es3 "^0.2.1" + reduce "^1.0.1" + semver "^5.1.0" + tunnel-agent "^0.6.0" + +alphanum-sort@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz" + integrity sha512-0FcBfdcmaumGPQ0qPn7Q5qTgz/ooXgIyp1rf8ik5bGX8mpE2YHjC0P/eyQvxu1GURYQgq9ozf2mteQ5ZD9YiyQ== + +ansi-align@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz" + integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== + dependencies: + string-width "^4.1.0" + +ansi-colors@^3.0.0: + version "3.2.4" + resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz" + integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== + +ansi-escapes@^3.0.0: + version "3.2.0" + resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz" + integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== + +ansi-escapes@^4.1.0: + version "4.3.2" + resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-html-community@0.0.8: + version "0.0.8" + resolved "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz" + integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" + integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== + +ansi-regex@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz" + integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw== + +ansi-regex@^4.1.0: + version "4.1.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz" + integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" + integrity sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA== + +ansi-styles@^3.2.0, ansi-styles@^3.2.1: + 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" + +ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +any-observable@^0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz" + integrity sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog== + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +anymatch@^3.0.0, anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +aproba@^1.1.1: + version "1.2.0" + resolved "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz" + integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== + +arch@^2.1.2: + version "2.2.0" + resolved "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz" + integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz" + integrity sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA== + +arr-flatten@^1.1.0: + 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@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz" + integrity sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q== + +array-buffer-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz" + integrity sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== + dependencies: + call-bind "^1.0.5" + is-array-buffer "^3.0.4" + +array-flatten@^2.1.0: + version "2.1.2" + resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz" + integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" + integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== + +array-union@^1.0.1, array-union@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz" + integrity sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng== + dependencies: + array-uniq "^1.0.1" + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz" + integrity sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q== + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz" + integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ== + +array.prototype.reduce@^1.0.6: + version "1.0.6" + resolved "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz" + integrity sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-array-method-boxes-properly "^1.0.0" + is-string "^1.0.7" + +arraybuffer.prototype.slice@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz" + integrity sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A== + dependencies: + array-buffer-byte-length "^1.0.1" + call-bind "^1.0.5" + define-properties "^1.2.1" + es-abstract "^1.22.3" + es-errors "^1.2.1" + get-intrinsic "^1.2.3" + is-array-buffer "^3.0.4" + is-shared-array-buffer "^1.0.2" + +asn1.js@^4.10.1: + version "4.10.1" + resolved "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz" + integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +asn1@~0.2.3: + version "0.2.6" + resolved "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz" + integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== + dependencies: + safer-buffer "~2.1.0" + +assert-plus@^1.0.0, assert-plus@1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" + integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== + +assert@^1.1.1: + version "1.5.1" + resolved "https://registry.npmjs.org/assert/-/assert-1.5.1.tgz" + integrity sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A== + dependencies: + object.assign "^4.1.4" + util "^0.10.4" + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz" + integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw== + +async-each@^1.0.1: + version "1.0.6" + resolved "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz" + integrity sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg== + +async-limiter@~1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz" + integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== + +async@^2.6.4: + version "2.6.4" + resolved "https://registry.npmjs.org/async/-/async-2.6.4.tgz" + integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== + dependencies: + lodash "^4.17.14" + +async@^3.2.0: + version "3.2.5" + resolved "https://registry.npmjs.org/async/-/async-3.2.5.tgz" + integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +autocomplete.js@0.36.0: + version "0.36.0" + resolved "https://registry.npmjs.org/autocomplete.js/-/autocomplete.js-0.36.0.tgz" + integrity sha512-jEwUXnVMeCHHutUt10i/8ZiRaCb0Wo+ZyKxeGsYwBDtw6EJHqEeDrq4UwZRD8YBSvp3g6klP678il2eeiVXN2Q== + dependencies: + immediate "^3.2.3" + +autoprefixer@^9.5.1: + version "9.8.8" + resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz" + integrity sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA== + dependencies: + browserslist "^4.12.0" + caniuse-lite "^1.0.30001109" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + picocolors "^0.2.1" + postcss "^7.0.32" + postcss-value-parser "^4.1.0" + +available-typed-arrays@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz" + integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== + dependencies: + possible-typed-array-names "^1.0.0" + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz" + integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== + +aws4@^1.8.0: + version "1.12.0" + resolved "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz" + integrity sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg== + +axios@^0.21.1: + version "0.21.4" + resolved "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz" + integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== + dependencies: + follow-redirects "^1.14.0" + +babel-extract-comments@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz" + integrity sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ== + dependencies: + babylon "^6.18.0" + +babel-helper-vue-jsx-merge-props@^2.0.2: + version "2.0.3" + resolved "https://registry.npmjs.org/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz" + integrity sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg== + +babel-loader@^8.0.4: + version "8.3.0" + resolved "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz" + integrity sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q== + dependencies: + find-cache-dir "^3.3.1" + loader-utils "^2.0.0" + make-dir "^3.1.0" + schema-utils "^2.6.5" + +babel-plugin-dynamic-import-node@^2.3.3: + 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== + dependencies: + object.assign "^4.1.0" + +babel-plugin-polyfill-corejs2@^0.4.8: + version "0.4.10" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz" + integrity sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ== + dependencies: + "@babel/compat-data" "^7.22.6" + "@babel/helper-define-polyfill-provider" "^0.6.1" + semver "^6.3.1" + +babel-plugin-polyfill-corejs3@^0.9.0: + version "0.9.0" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz" + integrity sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.5.0" + core-js-compat "^3.34.0" + +babel-plugin-polyfill-regenerator@^0.5.5: + version "0.5.5" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz" + integrity sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.5.0" + +babel-plugin-syntax-object-rest-spread@^6.8.0: + version "6.13.0" + resolved "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz" + integrity sha512-C4Aq+GaAj83pRQ0EFgTvw5YO6T3Qz2KGrNRwIj9mSoNHVvdZY4KO2uA6HNtNXCw993iSZnckY1aLW8nOi8i4+w== + +babel-plugin-transform-object-rest-spread@^6.26.0: + version "6.26.0" + resolved "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz" + integrity sha512-ocgA9VJvyxwt+qJB0ncxV8kb/CjfTcECUY4tQ5VT7nP6Aohzobm8CDFaQ5FHdvZQzLmf0sgDxB8iRXZXxwZcyA== + dependencies: + babel-plugin-syntax-object-rest-spread "^6.8.0" + babel-runtime "^6.26.0" + +babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz" + integrity sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g== + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +babylon@^6.18.0: + version "6.18.0" + resolved "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz" + integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.npmjs.org/base/-/base-0.11.2.tgz" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + 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" + +base64-js@^1.0.2: + version "1.5.1" + resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +basic-auth@^1.0.3: + version "1.1.0" + resolved "https://registry.npmjs.org/basic-auth/-/basic-auth-1.1.0.tgz" + integrity sha512-CtGuTyWf3ig+sgRyC7uP6DM3N+5ur/p8L+FPfsd+BbIfIs74TFfCajZTHnCw6K5dqM0bZEbRIqRy1fAdiUJhTA== + +batch@0.6.1: + version "0.6.1" + resolved "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz" + integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz" + integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== + dependencies: + tweetnacl "^0.14.3" + +big.js@^3.1.3: + version "3.2.0" + resolved "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz" + integrity sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q== + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +binary-extensions@^1.0.0: + version "1.13.1" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz" + integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + +blob-util@2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz" + integrity sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ== + +bluebird@^3.1.1, bluebird@^3.5.5, bluebird@^3.7.2: + version "3.7.2" + resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +bn.js@^4.0.0: + version "4.12.0" + resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + +bn.js@^4.1.0: + version "4.12.0" + resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + +bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + +bn.js@^5.0.0, bn.js@^5.2.1: + version "5.2.1" + resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz" + integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== + +body-parser@1.20.2: + version "1.20.2" + resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz" + integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA== + dependencies: + bytes "3.1.2" + content-type "~1.0.5" + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" + iconv-lite "0.4.24" + on-finished "2.4.1" + qs "6.11.0" + raw-body "2.5.2" + type-is "~1.6.18" + unpipe "1.0.0" + +bonjour@^3.5.0: + version "3.5.0" + resolved "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz" + integrity sha512-RaVTblr+OnEli0r/ud8InrU7D+G0y6aJhlxaLa6Pwty4+xoxboF1BsUI45tujvRpbj9dQVoglChqonGAsjEBYg== + 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" + +boolbase@^1.0.0, boolbase@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" + integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== + +boxen@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz" + integrity sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ== + dependencies: + ansi-align "^3.0.0" + camelcase "^5.3.1" + chalk "^3.0.0" + cli-boxes "^2.2.0" + string-width "^4.1.0" + term-size "^2.1.0" + type-fest "^0.8.1" + widest-line "^3.1.0" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.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" + +braces@^2.3.1, braces@^2.3.2: + version "2.3.2" + resolved "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + 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" + +braces@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +braces@~3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +brorand@^1.0.1, brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz" + integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== + +browserify-aes@^1.0.4, browserify-aes@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + 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" + +browserify-cipher@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz" + integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz" + integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +browserify-rsa@^4.0.0, browserify-rsa@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz" + integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== + dependencies: + bn.js "^5.0.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.2.3" + resolved "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.3.tgz" + integrity sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw== + dependencies: + bn.js "^5.2.1" + browserify-rsa "^4.1.0" + create-hash "^1.2.0" + create-hmac "^1.1.7" + elliptic "^6.5.5" + hash-base "~3.0" + inherits "^2.0.4" + parse-asn1 "^5.1.7" + readable-stream "^2.3.8" + safe-buffer "^5.2.1" + +browserify-zlib@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz" + integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== + dependencies: + pako "~1.0.5" + +browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.22.2, browserslist@^4.22.3, "browserslist@>= 4.21.0": + version "4.23.0" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz" + integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== + dependencies: + caniuse-lite "^1.0.30001587" + electron-to-chromium "^1.4.668" + node-releases "^2.0.14" + update-browserslist-db "^1.0.13" + +buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz" + integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer-indexof@^1.0.0: + 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== + +buffer-json@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/buffer-json/-/buffer-json-2.0.0.tgz" + integrity sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw== + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz" + integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== + +buffer@^4.3.0: + version "4.9.2" + resolved "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz" + integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz" + integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ== + +bundle-require@2.1.8: + version "2.1.8" + resolved "https://registry.npmjs.org/bundle-require/-/bundle-require-2.1.8.tgz" + integrity sha512-oOEg3A0hy/YzvNWNowtKD0pmhZKseOFweCbgyMqTIih4gRY1nJWsvrOCT27L9NbIyL5jMjTFrAUpGxxpW68Puw== + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz" + integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== + +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + +cac@^6.5.6: + version "6.7.14" + resolved "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz" + integrity sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ== + +cacache@^12.0.2, cacache@^12.0.3: + version "12.0.4" + resolved "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz" + integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== + 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" + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + 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" + +cache-loader@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/cache-loader/-/cache-loader-3.0.1.tgz" + integrity sha512-HzJIvGiGqYsFUrMjAJNDbVZoG7qQA+vy9AIoKs7s9DscNfki0I589mf2w6/tW+kkFH3zyiknoWV5Jdynu6b/zw== + dependencies: + buffer-json "^2.0.0" + find-cache-dir "^2.1.0" + loader-utils "^1.2.3" + mkdirp "^0.5.1" + neo-async "^2.6.1" + schema-utils "^1.0.0" + +cacheable-request@^6.0.0: + version "6.1.0" + resolved "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz" + integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== + dependencies: + clone-response "^1.0.2" + get-stream "^5.1.0" + http-cache-semantics "^4.0.0" + keyv "^3.0.0" + lowercase-keys "^2.0.0" + normalize-url "^4.1.0" + responselike "^1.0.2" + +cachedir@^2.3.0: + version "2.4.0" + resolved "https://registry.npmjs.org/cachedir/-/cachedir-2.4.0.tgz" + integrity sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ== + +call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz" + integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + set-function-length "^1.2.1" + +call-me-maybe@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.2.tgz" + integrity sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ== + +caller-callsite@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz" + integrity sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ== + dependencies: + callsites "^2.0.0" + +caller-path@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz" + integrity sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A== + dependencies: + caller-callsite "^2.0.0" + +callsites@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz" + integrity sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ== + +camel-case@3.0.x: + version "3.0.0" + resolved "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz" + integrity sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w== + dependencies: + no-case "^2.2.0" + upper-case "^1.1.1" + +camelcase@^5.0.0: + version "5.3.1" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^5.2.0: + version "5.3.1" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.3.0: + version "6.3.0" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-api@^3.0.0: + 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== + dependencies: + browserslist "^4.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001587: + version "1.0.30001597" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001597.tgz" + integrity sha512-7LjJvmQU6Sj7bL0j5b5WY/3n7utXUJvAe1lxhsHDbLmwX9mdL86Yjtr+5SRCyf8qME4M7pU2hswj0FpyBVCv9w== + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz" + integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== + +chalk@^1.0.0, chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" + integrity sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A== + 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" + +chalk@^2.0.0, chalk@^2.3.2, chalk@^2.4.1, chalk@^2.4.2: + 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" + +chalk@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz" + integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^4.1.0: + version "4.1.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +check-more-types@^2.24.0: + version "2.24.0" + resolved "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz" + integrity sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA== + +chokidar@^2.0.3, chokidar@^2.1.8: + version "2.1.8" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz" + integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== + 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" + +chokidar@^3.4.1: + version "3.6.0" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chownr@^1.1.1: + version "1.1.4" + resolved "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz" + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== + +chrome-trace-event@^1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + +ci-info@^3.1.1: + version "3.9.0" + resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz" + integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +clean-css@4.2.x: + version "4.2.4" + resolved "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz" + integrity sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A== + dependencies: + source-map "~0.6.0" + +cli-boxes@^2.2.0: + version "2.2.1" + resolved "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz" + integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== + +cli-cursor@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz" + integrity sha512-25tABq090YNKkF6JH7lcwO0zFJTRke4Jcq9iX2nr/Sz0Cjjv4gckmwlW6Ty/aoyFd6z3ysR2hMGC2GFugmBo6A== + dependencies: + restore-cursor "^1.0.1" + +cli-cursor@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz" + integrity sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw== + dependencies: + restore-cursor "^2.0.0" + +cli-cursor@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz" + integrity sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw== + dependencies: + restore-cursor "^2.0.0" + +cli-table3@~0.6.0: + version "0.6.3" + resolved "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz" + integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg== + dependencies: + string-width "^4.2.0" + optionalDependencies: + "@colors/colors" "1.5.0" + +cli-truncate@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz" + integrity sha512-f4r4yJnbT++qUPI9NR4XLDLq41gQ+uqnPItWG0F5ZkehuNiTTa3EY0S4AqTSUOeJ7/zU41oWPQSNkW5BqPL9bg== + dependencies: + slice-ansi "0.0.4" + string-width "^1.0.1" + +cliui@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz" + integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== + dependencies: + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" + +clone-response@^1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz" + integrity sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA== + dependencies: + mimic-response "^1.0.0" + +coa@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz" + integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== + dependencies: + "@types/q" "^1.5.1" + chalk "^2.4.1" + q "^1.1.2" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz" + integrity sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA== + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz" + integrity sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw== + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.9.0, color-convert@^1.9.3: + 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" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@^1.0.0, color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-string@^1.6.0: + version "1.9.1" + resolved "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz" + integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color@^3.0.0: + version "3.2.1" + resolved "https://registry.npmjs.org/color/-/color-3.2.1.tgz" + integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA== + dependencies: + color-convert "^1.9.3" + color-string "^1.6.0" + +combined-stream@^1.0.6, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +commander@^2.0.0, commander@^2.20.0: + 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== + +commander@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz" + integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== + +commander@~2.19.0: + version "2.19.0" + resolved "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz" + integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== + +commander@2.17.x: + version "2.17.1" + resolved "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz" + integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== + +common-tags@^1.8.0: + version "1.8.2" + resolved "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz" + integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" + integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== + +component-emitter@^1.2.1: + version "1.3.1" + resolved "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz" + integrity sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ== + +compressible@~2.0.16: + version "2.0.18" + resolved "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz" + integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== + dependencies: + mime-db ">= 1.43.0 < 2" + +compression@^1.7.4: + version "1.7.4" + resolved "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz" + integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== + 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" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +concat-stream@^1.5.0, concat-stream@^1.6.2: + version "1.6.2" + resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz" + integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +configstore@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz" + integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== + dependencies: + dot-prop "^5.2.0" + graceful-fs "^4.1.2" + make-dir "^3.0.0" + unique-string "^2.0.0" + write-file-atomic "^3.0.0" + xdg-basedir "^4.0.0" + +connect-history-api-fallback@^1.5.0, connect-history-api-fallback@^1.6.0: + 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== + +consola@^2.6.0: + version "2.15.3" + resolved "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz" + integrity sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw== + +console-browserify@^1.1.0: + version "1.2.0" + resolved "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz" + integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== + +consolidate@^0.15.1: + version "0.15.1" + resolved "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz" + integrity sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw== + dependencies: + bluebird "^3.1.1" + +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz" + integrity sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ== + +content-disposition@0.5.4: + version "0.5.4" + resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" + integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== + dependencies: + safe-buffer "5.2.1" + +content-type@~1.0.4, content-type@~1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz" + integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== + +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" + integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== + +cookie@0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz" + integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== + +copy-concurrently@^1.0.0: + version "1.0.5" + resolved "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz" + integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== + 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" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz" + integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw== + +copy-webpack-plugin@^5.0.2: + version "5.1.2" + resolved "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.2.tgz" + integrity sha512-Uh7crJAco3AjBvgAy9Z75CjK8IG+gxaErro71THQ+vv/bl4HaQcpkexAY8KVW/T6D2W2IRr+couF/knIRkZMIQ== + dependencies: + cacache "^12.0.3" + find-cache-dir "^2.1.0" + glob-parent "^3.1.0" + globby "^7.1.1" + is-glob "^4.0.1" + loader-utils "^1.2.3" + minimatch "^3.0.4" + normalize-path "^3.0.0" + p-limit "^2.2.1" + schema-utils "^1.0.0" + serialize-javascript "^4.0.0" + webpack-log "^2.0.0" + +core-js-compat@^3.31.0, core-js-compat@^3.34.0, core-js-compat@^3.6.5: + version "3.36.0" + resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.0.tgz" + integrity sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw== + dependencies: + browserslist "^4.22.3" + +core-js@^2.4.0: + version "2.6.12" + resolved "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz" + integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== + +core-js@^3.6.4, core-js@^3.6.5: + version "3.36.0" + resolved "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz" + integrity sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw== + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +core-util-is@1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== + +corser@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz" + integrity sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ== + +cosmiconfig@^5.0.0: + version "5.2.1" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz" + integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== + dependencies: + import-fresh "^2.0.0" + is-directory "^0.3.1" + js-yaml "^3.13.1" + parse-json "^4.0.0" + +create-ecdh@^4.0.0: + version "4.0.4" + resolved "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz" + integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== + dependencies: + bn.js "^4.1.0" + elliptic "^6.5.3" + +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + dependencies: + 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@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: + version "1.1.7" + resolved "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz" + integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + 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" + +cross-spawn@^6.0.0: + version "6.0.5" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^6.0.5: + version "6.0.5" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.0: + version "7.0.3" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +crypto-browserify@^3.11.0: + version "3.12.0" + resolved "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz" + integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== + 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" + +crypto-random-string@^2.0.0: + 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== + +css-color-names@^0.0.4, css-color-names@0.0.4: + version "0.0.4" + resolved "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz" + integrity sha512-zj5D7X1U2h2zsXOAM8EyUREBnnts6H+Jm+d1M2DbiQQcUtnqgQsMrdo8JW9R80YFUmIdBZeMu5wvYM7hcgWP/Q== + +css-declaration-sorter@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz" + integrity sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA== + dependencies: + postcss "^7.0.1" + timsort "^0.3.0" + +css-loader@*, css-loader@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/css-loader/-/css-loader-2.1.1.tgz" + integrity sha512-OcKJU/lt232vl1P9EEDamhoO9iKY3tIjY5GU+XDLblAykTdgs6Ux9P1hTHve8nFKy5KPpOXOsVI/hIwi3841+w== + dependencies: + camelcase "^5.2.0" + icss-utils "^4.1.0" + loader-utils "^1.2.3" + normalize-path "^3.0.0" + postcss "^7.0.14" + postcss-modules-extract-imports "^2.0.0" + postcss-modules-local-by-default "^2.0.6" + postcss-modules-scope "^2.1.0" + postcss-modules-values "^2.0.0" + postcss-value-parser "^3.3.0" + schema-utils "^1.0.0" + +css-parse@~2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz" + integrity sha512-UNIFik2RgSbiTwIW1IsFwXWn6vs+bYdq83LKTSOsx7NJR7WII9dxewkHLltfTLVppoUApHV0118a4RZRI9FLwA== + dependencies: + css "^2.0.0" + +css-select-base-adapter@^0.1.1: + 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== + +css-select@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz" + integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== + dependencies: + boolbase "^1.0.0" + css-what "^3.2.1" + domutils "^1.7.0" + nth-check "^1.0.2" + +css-select@^4.1.3: + version "4.3.0" + resolved "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz" + integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== + dependencies: + boolbase "^1.0.0" + css-what "^6.0.1" + domhandler "^4.3.1" + domutils "^2.8.0" + nth-check "^2.0.1" + +css-tree@^1.1.2: + version "1.1.3" + resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz" + integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== + dependencies: + mdn-data "2.0.14" + source-map "^0.6.1" + +css-tree@1.0.0-alpha.37: + 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== + dependencies: + mdn-data "2.0.4" + source-map "^0.6.1" + +css-what@^3.2.1: + version "3.4.2" + resolved "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz" + integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== + +css-what@^6.0.1: + version "6.1.0" + resolved "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz" + integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== + +css@^2.0.0: + version "2.2.4" + resolved "https://registry.npmjs.org/css/-/css-2.2.4.tgz" + integrity sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw== + dependencies: + inherits "^2.0.3" + source-map "^0.6.1" + source-map-resolve "^0.5.2" + urix "^0.1.0" + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +cssnano-preset-default@^4.0.8: + version "4.0.8" + resolved "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz" + integrity sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ== + dependencies: + css-declaration-sorter "^4.0.1" + cssnano-util-raw-cache "^4.0.1" + postcss "^7.0.0" + postcss-calc "^7.0.1" + postcss-colormin "^4.0.3" + postcss-convert-values "^4.0.1" + postcss-discard-comments "^4.0.2" + postcss-discard-duplicates "^4.0.2" + postcss-discard-empty "^4.0.1" + postcss-discard-overridden "^4.0.1" + postcss-merge-longhand "^4.0.11" + postcss-merge-rules "^4.0.3" + postcss-minify-font-values "^4.0.2" + postcss-minify-gradients "^4.0.2" + postcss-minify-params "^4.0.2" + postcss-minify-selectors "^4.0.2" + postcss-normalize-charset "^4.0.1" + postcss-normalize-display-values "^4.0.2" + postcss-normalize-positions "^4.0.2" + postcss-normalize-repeat-style "^4.0.2" + postcss-normalize-string "^4.0.2" + postcss-normalize-timing-functions "^4.0.2" + postcss-normalize-unicode "^4.0.1" + postcss-normalize-url "^4.0.1" + postcss-normalize-whitespace "^4.0.2" + postcss-ordered-values "^4.1.2" + postcss-reduce-initial "^4.0.3" + postcss-reduce-transforms "^4.0.2" + postcss-svgo "^4.0.3" + postcss-unique-selectors "^4.0.1" + +cssnano-util-get-arguments@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz" + integrity sha512-6RIcwmV3/cBMG8Aj5gucQRsJb4vv4I4rn6YjPbVWd5+Pn/fuG+YseGvXGk00XLkoZkaj31QOD7vMUpNPC4FIuw== + +cssnano-util-get-match@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz" + integrity sha512-JPMZ1TSMRUPVIqEalIBNoBtAYbi8okvcFns4O0YIhcdGebeYZK7dMyHJiQ6GqNBA9kE0Hym4Aqym5rPdsV/4Cw== + +cssnano-util-raw-cache@^4.0.1: + 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== + dependencies: + postcss "^7.0.0" + +cssnano-util-same-parent@^4.0.0: + 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== + +cssnano@^4.1.10: + version "4.1.11" + resolved "https://registry.npmjs.org/cssnano/-/cssnano-4.1.11.tgz" + integrity sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g== + dependencies: + cosmiconfig "^5.0.0" + cssnano-preset-default "^4.0.8" + is-resolvable "^1.0.0" + postcss "^7.0.0" + +csso@^4.0.2: + version "4.2.0" + resolved "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz" + integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== + dependencies: + css-tree "^1.1.2" + +csstype@^3.1.0: + version "3.1.3" + resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== + +cyclist@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz" + integrity sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA== + +cypress@^6.1.0: + version "6.9.1" + resolved "https://registry.npmjs.org/cypress/-/cypress-6.9.1.tgz" + integrity sha512-/RVx6sOhsyTR9sd9v0BHI4tnDZAhsH9rNat7CIKCUEr5VPWxyfGH0EzK4IHhAqAH8vjFcD4U14tPiJXshoUrmQ== + dependencies: + "@cypress/listr-verbose-renderer" "^0.4.1" + "@cypress/request" "^2.88.5" + "@cypress/xvfb" "^1.2.4" + "@types/node" "12.12.50" + "@types/sinonjs__fake-timers" "^6.0.1" + "@types/sizzle" "^2.3.2" + arch "^2.1.2" + blob-util "2.0.2" + bluebird "^3.7.2" + cachedir "^2.3.0" + chalk "^4.1.0" + check-more-types "^2.24.0" + cli-table3 "~0.6.0" + commander "^5.1.0" + common-tags "^1.8.0" + dayjs "^1.9.3" + debug "4.3.2" + eventemitter2 "^6.4.2" + execa "^4.0.2" + executable "^4.1.1" + extract-zip "^1.7.0" + fs-extra "^9.0.1" + getos "^3.2.1" + is-ci "^2.0.0" + is-installed-globally "^0.3.2" + lazy-ass "^1.6.0" + listr "^0.14.3" + lodash "^4.17.19" + log-symbols "^4.0.0" + minimist "^1.2.5" + moment "^2.29.1" + ospath "^1.2.2" + pretty-bytes "^5.4.1" + ramda "~0.27.1" + request-progress "^3.0.0" + supports-color "^7.2.0" + tmp "~0.2.1" + untildify "^4.0.0" + url "^0.11.0" + yauzl "^2.10.0" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz" + integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== + dependencies: + assert-plus "^1.0.0" + +date-fns@^1.27.2, date-fns@^1.29.0: + version "1.30.1" + resolved "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz" + integrity sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw== + +dayjs@^1.10.3, dayjs@^1.8.19, dayjs@^1.9.3: + version "1.11.10" + resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz" + integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ== + +de-indent@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz" + integrity sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg== + +debug@^2.1.3: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^2.2.0: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^2.3.3: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^2.6.9: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^3.1.0: + version "3.2.7" + resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +debug@^3.2.7: + version "3.2.7" + resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@4.3.2: + version "4.3.2" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz" + integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== + dependencies: + ms "2.1.2" + +debug@~3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz" + integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== + dependencies: + ms "2.0.0" + +debug@2.6.9: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== + +decode-uri-component@^0.2.0: + version "0.2.2" + resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz" + integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== + +decompress-response@^3.3.0: + version "3.3.0" + resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz" + integrity sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA== + dependencies: + mimic-response "^1.0.0" + +deep-equal@^1.0.1: + version "1.1.2" + resolved "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.2.tgz" + integrity sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg== + dependencies: + is-arguments "^1.1.1" + is-date-object "^1.0.5" + is-regex "^1.1.4" + object-is "^1.1.5" + object-keys "^1.1.1" + regexp.prototype.flags "^1.5.1" + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + +deepmerge@^1.5.2: + version "1.5.2" + resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz" + integrity sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ== + +deepmerge@^4.2.2: + version "4.3.1" + resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + +default-gateway@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz" + integrity sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA== + dependencies: + execa "^1.0.0" + ip-regex "^2.1.0" + +defer-to-connect@^1.0.1: + version "1.1.3" + resolved "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz" + integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== + +define-data-property@^1.0.1, define-data-property@^1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz" + integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + gopd "^1.0.1" + +define-properties@^1.1.2, define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz" + integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== + dependencies: + define-data-property "^1.0.1" + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz" + integrity sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA== + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz" + integrity sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA== + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +del@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/del/-/del-4.1.1.tgz" + integrity sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ== + 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" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" + integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== + +depd@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +des.js@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz" + integrity sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg== + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== + +detect-node@^2.0.4: + version "2.1.0" + resolved "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz" + integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== + +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz" + integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +dir-glob@^2.0.0, dir-glob@^2.2.2: + version "2.2.2" + resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz" + integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== + dependencies: + path-type "^3.0.0" + +dns-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz" + integrity sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg== + +dns-packet@^1.3.1: + version "1.3.4" + resolved "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz" + integrity sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA== + dependencies: + ip "^1.1.0" + safe-buffer "^5.0.1" + +dns-txt@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz" + integrity sha512-Ix5PrWjphuSoUXV/Zv5gaFHjnaJtb02F2+Si3Ht9dyJ87+Z/lMmy+dpNHtTGraNK958ndXq2i+GLkWsWHcKaBQ== + dependencies: + buffer-indexof "^1.0.0" + +docsearch.js@^2.5.2: + version "2.6.3" + resolved "https://registry.npmjs.org/docsearch.js/-/docsearch.js-2.6.3.tgz" + integrity sha512-GN+MBozuyz664ycpZY0ecdQE0ND/LSgJKhTLA0/v3arIS3S1Rpf2OJz6A35ReMsm91V5apcmzr5/kM84cvUg+A== + dependencies: + algoliasearch "^3.24.5" + autocomplete.js "0.36.0" + hogan.js "^3.0.2" + request "^2.87.0" + stack-utils "^1.0.1" + to-factory "^1.0.0" + zepto "^1.2.0" + +dom-converter@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz" + integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== + dependencies: + utila "~0.4" + +dom-serializer@^1.0.1: + version "1.4.1" + resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz" + integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" + +dom-serializer@0: + 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" + +dom-walk@^0.1.0: + version "0.1.2" + resolved "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz" + integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w== + +domain-browser@^1.1.1: + version "1.2.0" + resolved "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz" + integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== + +domelementtype@^2.0.1, domelementtype@^2.2.0: + version "2.3.0" + resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== + +domelementtype@1: + version "1.3.1" + resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz" + integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== + +domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: + version "4.3.1" + resolved "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz" + integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== + dependencies: + domelementtype "^2.2.0" + +domutils@^1.7.0: + version "1.7.0" + resolved "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz" + integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== + dependencies: + dom-serializer "0" + domelementtype "1" + +domutils@^2.5.2: + version "2.8.0" + resolved "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + +domutils@^2.8.0: + version "2.8.0" + resolved "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + +dot-prop@^5.2.0: + version "5.3.0" + resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz" + integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== + dependencies: + is-obj "^2.0.0" + +duplexer3@^0.1.4: + version "0.1.5" + resolved "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz" + integrity sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA== + +duplexify@^3.4.2, duplexify@^3.6.0: + 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" + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz" + integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw== + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== + +electron-to-chromium@^1.4.668: + version "1.4.702" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.702.tgz" + integrity sha512-LYLXyEUsZ3nNSwiOWjI88N1PJUAMU2QphQSgGLVkFnb3FxZxNui2Vzi2PaKPgPWbsWbZstZnh6BMf/VQJamjiQ== + +elegant-spinner@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz" + integrity sha512-B+ZM+RXvRqQaAmkMlO/oSe5nMUOaUnyfGYCEHoR8wrXsZR2mA0XVibsxV1bvTwxdRWah1PkQqso2EzhILGHtEQ== + +elliptic@^6.5.3, elliptic@^6.5.5: + version "6.5.5" + resolved "https://registry.npmjs.org/elliptic/-/elliptic-6.5.5.tgz" + integrity sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz" + integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emojis-list@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz" + integrity sha512-knHEZMgs8BB+MInokmNTg/OyPlAddghe1YBgNwJBc5zsJi/uyIcXoSDsL/W9ymOsBoBGdPIHXYJ9+qKFwRwDng== + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" + integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== + +end-of-stream@^1.0.0, end-of-stream@^1.1.0: + 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" + +enhanced-resolve@^4.5.0: + version "4.5.0" + resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz" + integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.5.0" + tapable "^1.0.0" + +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + +entities@^4.5.0: + version "4.5.0" + resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + +entities@~1.1.1: + version "1.1.2" + resolved "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz" + integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== + +envify@^4.0.0: + version "4.1.0" + resolved "https://registry.npmjs.org/envify/-/envify-4.1.0.tgz" + integrity sha512-IKRVVoAYr4pIx4yIWNsz9mOsboxlNXiu7TNBnem/K/uTHdkyzXWDzHCK7UTolqBbgaBz0tQHsD3YNls0uIIjiw== + dependencies: + esprima "^4.0.0" + through "~2.3.4" + +envinfo@^7.2.0: + version "7.11.1" + resolved "https://registry.npmjs.org/envinfo/-/envinfo-7.11.1.tgz" + integrity sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg== + +errno@^0.1.3, errno@~0.1.7: + version "0.1.8" + resolved "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz" + integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== + dependencies: + prr "~1.0.1" + +error-ex@^1.3.1: + 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" + +es-abstract@^1.17.2, es-abstract@^1.22.1, es-abstract@^1.22.3: + version "1.22.5" + resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.5.tgz" + integrity sha512-oW69R+4q2wG+Hc3KZePPZxOiisRIqfKBVo/HLx94QcJeWGU/8sZhCvc829rd1kS366vlJbzBfXf9yWwf0+Ko7w== + dependencies: + array-buffer-byte-length "^1.0.1" + arraybuffer.prototype.slice "^1.0.3" + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + es-define-property "^1.0.0" + es-errors "^1.3.0" + es-set-tostringtag "^2.0.3" + es-to-primitive "^1.2.1" + function.prototype.name "^1.1.6" + get-intrinsic "^1.2.4" + get-symbol-description "^1.0.2" + globalthis "^1.0.3" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + has-proto "^1.0.3" + has-symbols "^1.0.3" + hasown "^2.0.1" + internal-slot "^1.0.7" + is-array-buffer "^3.0.4" + is-callable "^1.2.7" + is-negative-zero "^2.0.3" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.3" + is-string "^1.0.7" + is-typed-array "^1.1.13" + is-weakref "^1.0.2" + object-inspect "^1.13.1" + object-keys "^1.1.1" + object.assign "^4.1.5" + regexp.prototype.flags "^1.5.2" + safe-array-concat "^1.1.0" + safe-regex-test "^1.0.3" + string.prototype.trim "^1.2.8" + string.prototype.trimend "^1.0.7" + string.prototype.trimstart "^1.0.7" + typed-array-buffer "^1.0.2" + typed-array-byte-length "^1.0.1" + typed-array-byte-offset "^1.0.2" + typed-array-length "^1.0.5" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.14" + +es-array-method-boxes-properly@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz" + integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== + +es-define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz" + integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== + dependencies: + get-intrinsic "^1.2.4" + +es-errors@^1.2.1, es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +es-set-tostringtag@^2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz" + integrity sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ== + dependencies: + get-intrinsic "^1.2.4" + has-tostringtag "^1.0.2" + hasown "^2.0.1" + +es-to-primitive@^1.2.1: + 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" + +es6-promise@^4.1.0: + version "4.2.8" + resolved "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz" + integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== + +esbuild-darwin-64@0.14.7: + version "0.14.7" + resolved "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.7.tgz" + integrity sha512-Z9X+3TT/Xj+JiZTVlwHj2P+8GoiSmUnGVz0YZTSt8WTbW3UKw5Pw2ucuJ8VzbD2FPy0jbIKJkko/6CMTQchShQ== + +esbuild@>=0.13, esbuild@0.14.7: + version "0.14.7" + resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.14.7.tgz" + integrity sha512-+u/msd6iu+HvfysUPkZ9VHm83LImmSNnecYPfFI01pQ7TTcsFR+V0BkybZX7mPtIaI7LCrse6YRj+v3eraJSgw== + optionalDependencies: + esbuild-android-arm64 "0.14.7" + esbuild-darwin-64 "0.14.7" + esbuild-darwin-arm64 "0.14.7" + esbuild-freebsd-64 "0.14.7" + esbuild-freebsd-arm64 "0.14.7" + esbuild-linux-32 "0.14.7" + esbuild-linux-64 "0.14.7" + esbuild-linux-arm "0.14.7" + esbuild-linux-arm64 "0.14.7" + esbuild-linux-mips64le "0.14.7" + esbuild-linux-ppc64le "0.14.7" + esbuild-netbsd-64 "0.14.7" + esbuild-openbsd-64 "0.14.7" + esbuild-sunos-64 "0.14.7" + esbuild-windows-32 "0.14.7" + esbuild-windows-64 "0.14.7" + esbuild-windows-arm64 "0.14.7" + +escalade@^3.1.1: + version "3.1.2" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz" + integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== + +escape-goat@^2.0.0: + version "2.1.1" + resolved "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz" + integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== + +escape-html@^1.0.3, escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +eslint-scope@^4.0.3: + version "4.0.3" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz" + integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +esm@^3.0.0: + version "3.2.25" + resolved "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz" + integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA== + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esrecurse@^4.1.0: + version "4.3.0" + resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +estree-walker@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" + integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== + +eventemitter2@^6.4.2: + version "6.4.9" + resolved "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.9.tgz" + integrity sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg== + +eventemitter3@^4.0.0: + version "4.0.7" + resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +events@^1.1.0: + version "1.1.1" + resolved "https://registry.npmjs.org/events/-/events-1.1.1.tgz" + integrity sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw== + +events@^3.0.0: + version "3.3.0" + resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +eventsource@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/eventsource/-/eventsource-2.0.2.tgz" + integrity sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA== + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + 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" + +execa@^4.0.2: + version "4.1.0" + resolved "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz" + integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== + 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" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + +executable@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz" + integrity sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg== + dependencies: + pify "^2.2.0" + +exit-hook@^1.0.0: + version "1.1.1" + resolved "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz" + integrity sha512-MsG3prOVw1WtLXAZbM3KiYtooKR1LvxHh3VHsVtIy0uiUu8usxgB/94DP2HxtD/661lLdB6yzQ09lGJSQr6nkg== + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz" + integrity sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA== + 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" + +express@^4.17.1: + version "4.18.3" + resolved "https://registry.npmjs.org/express/-/express-4.18.3.tgz" + integrity sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw== + dependencies: + accepts "~1.3.8" + array-flatten "1.1.1" + body-parser "1.20.2" + content-disposition "0.5.4" + content-type "~1.0.4" + cookie "0.5.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "2.0.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.2.0" + fresh "0.5.2" + http-errors "2.0.0" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "2.4.1" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.7" + qs "6.11.0" + range-parser "~1.2.1" + safe-buffer "5.2.1" + send "0.18.0" + serve-static "1.15.0" + setprototypeof "1.2.0" + statuses "2.0.1" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" + integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" + integrity sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q== + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + 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" + +extract-zip@^1.7.0: + version "1.7.0" + resolved "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz" + integrity sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA== + dependencies: + concat-stream "^1.6.2" + debug "^2.6.9" + mkdirp "^0.5.4" + yauzl "^2.10.0" + +extsprintf@^1.2.0, extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz" + integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== + +fast-deep-equal@^3.1.1: + 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== + +fast-glob@^2.2.6: + version "2.2.7" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz" + integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw== + 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" + +fast-json-stable-stringify@^2.0.0: + 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== + +faye-websocket@^0.11.3, faye-websocket@^0.11.4: + version "0.11.4" + resolved "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz" + integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== + dependencies: + websocket-driver ">=0.5.1" + +fd-slicer@~1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz" + integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== + dependencies: + pend "~1.2.0" + +feed@2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/feed/-/feed-2.0.4.tgz" + integrity sha512-sWatfulDP6d18qVaWcu34qmq9ml6UeN6nHSBJpNZ2muBqxjPAdT375whPYAHP+gqLfyabtYU5qf2Dv4nqtlp0w== + dependencies: + luxon "^1.3.3" + xml "^1.0.1" + +figgy-pudding@^3.5.1: + version "3.5.2" + resolved "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz" + integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== + +figures@^1.7.0: + version "1.7.0" + resolved "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz" + integrity sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ== + dependencies: + escape-string-regexp "^1.0.5" + object-assign "^4.1.0" + +figures@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz" + integrity sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA== + dependencies: + escape-string-regexp "^1.0.5" + +figures@^3.0.0: + version "3.2.0" + resolved "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + dependencies: + escape-string-regexp "^1.0.5" + +file-loader@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/file-loader/-/file-loader-3.0.1.tgz" + integrity sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw== + dependencies: + loader-utils "^1.0.2" + schema-utils "^1.0.0" + +file-uri-to-path@1.0.0: + 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== + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz" + integrity sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ== + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +filter-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz" + integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== + +finalhandler@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz" + integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "2.4.1" + parseurl "~1.3.3" + statuses "2.0.1" + unpipe "~1.0.0" + +find-cache-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz" + integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== + dependencies: + commondir "^1.0.1" + make-dir "^2.0.0" + pkg-dir "^3.0.0" + +find-cache-dir@^3.3.1: + version "3.3.2" + resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz" + integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + +find-up@^4.0.0: + version "4.1.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +flexsearch@^0.6.32: + version "0.6.32" + resolved "https://registry.npmjs.org/flexsearch/-/flexsearch-0.6.32.tgz" + integrity sha512-EF1BWkhwoeLtbIlDbY/vDSLBen/E5l/f1Vg7iX5CDymQCamcx1vhlc3tIZxIDplPjgi0jhG37c67idFbjg+v+Q== + +flush-write-stream@^1.0.0: + 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== + dependencies: + inherits "^2.0.3" + readable-stream "^2.3.6" + +follow-redirects@^1.0.0, follow-redirects@^1.14.0: + version "1.15.5" + resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz" + integrity sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw== + +for-each@^0.3.3: + 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" + +for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz" + integrity sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ== + +foreach@^2.0.5: + version "2.0.6" + resolved "https://registry.npmjs.org/foreach/-/foreach-2.0.6.tgz" + integrity sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg== + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" + integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz" + integrity sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA== + dependencies: + map-cache "^0.2.2" + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" + integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== + +from2@^2.1.0: + version "2.3.0" + resolved "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz" + integrity sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g== + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.0" + +fs-extra@^4.0.2: + version "4.0.3" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz" + integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz" + integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^9.0.1: + version "9.1.0" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-write-stream-atomic@^1.0.8: + version "1.0.10" + resolved "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz" + integrity sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA== + dependencies: + graceful-fs "^4.1.2" + iferr "^0.1.5" + imurmurhash "^0.1.4" + readable-stream "1 || 2" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@^1.2.7: + version "1.2.13" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz" + integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== + dependencies: + bindings "^1.5.0" + nan "^2.12.1" + +fsevents@~2.3.2: + version "2.3.3" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +function.prototype.name@^1.1.6: + version "1.1.6" + resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz" + integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + functions-have-names "^1.2.3" + +functions-have-names@^1.2.3: + version "1.2.3" + resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: + version "1.2.4" + resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz" + integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + has-proto "^1.0.1" + has-symbols "^1.0.3" + hasown "^2.0.0" + +get-own-enumerable-property-symbols@^3.0.0: + 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== + +get-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^5.0.0, get-stream@^5.1.0: + version "5.2.0" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +get-symbol-description@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz" + integrity sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg== + dependencies: + call-bind "^1.0.5" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz" + integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA== + +getos@^3.2.1: + version "3.2.1" + resolved "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz" + integrity sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q== + dependencies: + async "^3.2.0" + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz" + integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== + dependencies: + assert-plus "^1.0.0" + +github-markdown-css@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/github-markdown-css/-/github-markdown-css-3.0.1.tgz" + integrity sha512-9G5CIPsHoyk5ObDsb/H4KTi23J8KE1oDd4KYU51qwqeM+lKWAiO7abpSgCkyWswgmSKBiuE7/4f8xUz7f2qAiQ== + +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz" + integrity sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA== + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-to-regexp@^0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz" + integrity sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig== + +glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: + version "7.2.3" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global-dirs@^2.0.1: + version "2.1.0" + resolved "https://registry.npmjs.org/global-dirs/-/global-dirs-2.1.0.tgz" + integrity sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ== + dependencies: + ini "1.3.7" + +global@^4.3.2: + version "4.4.0" + resolved "https://registry.npmjs.org/global/-/global-4.4.0.tgz" + integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w== + dependencies: + min-document "^2.19.0" + process "^0.11.10" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globalthis@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + dependencies: + define-properties "^1.1.3" + +globby@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz" + integrity sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw== + dependencies: + array-union "^1.0.1" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +globby@^7.1.1: + version "7.1.1" + resolved "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz" + integrity sha512-yANWAN2DUcBtuus5Cpd+SKROzXHs2iVXFZt/Ykrfz6SAXqacLX25NZpltE+39ceMexYF4TtEadjuSTw8+3wX4g== + 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" + +globby@^9.2.0: + version "9.2.0" + resolved "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz" + integrity sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg== + 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" + +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + +got@^9.6.0: + version "9.6.0" + resolved "https://registry.npmjs.org/got/-/got-9.6.0.tgz" + integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== + dependencies: + "@sindresorhus/is" "^0.14.0" + "@szmarczak/http-timer" "^1.1.2" + cacheable-request "^6.0.0" + decompress-response "^3.3.0" + duplexer3 "^0.1.4" + get-stream "^4.1.0" + lowercase-keys "^1.0.1" + mimic-response "^1.0.1" + p-cancelable "^1.0.0" + to-readable-stream "^1.0.0" + url-parse-lax "^3.0.0" + +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: + version "4.2.11" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +gray-matter@^4.0.1: + version "4.0.3" + resolved "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz" + integrity sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q== + dependencies: + js-yaml "^3.13.1" + kind-of "^6.0.2" + section-matter "^1.0.0" + strip-bom-string "^1.0.0" + +handle-thing@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz" + integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz" + integrity sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q== + +har-validator@~5.1.3: + version "5.1.5" + resolved "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== + dependencies: + ajv "^6.12.3" + har-schema "^2.0.0" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" + integrity sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg== + dependencies: + ansi-regex "^2.0.0" + +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz" + integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== + dependencies: + es-define-property "^1.0.0" + +has-proto@^1.0.1, has-proto@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz" + integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== + +has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== + dependencies: + has-symbols "^1.0.3" + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz" + integrity sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q== + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz" + integrity sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw== + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz" + integrity sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ== + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz" + integrity sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ== + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has-yarn@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz" + integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== + +has@^1.0.0: + version "1.0.4" + resolved "https://registry.npmjs.org/has/-/has-1.0.4.tgz" + integrity sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ== + +hash-base@^3.0.0, hash-base@~3.0: + version "3.0.4" + resolved "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz" + integrity sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +hash-sum@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz" + integrity sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA== + +hash-sum@^2.0.0: + 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== + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +hasown@^2.0.0, hasown@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" + +he@^1.1.0, he@^1.2.0, he@1.2.x: + version "1.2.0" + resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +hex-color-regex@^1.1.0: + 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== + +highlight.js@^9.7.0: + version "9.18.5" + resolved "https://registry.npmjs.org/highlight.js/-/highlight.js-9.18.5.tgz" + integrity sha512-a5bFyofd/BHCX52/8i8uJkjr9DYwXIPnM/plwI6W7ezItLGqzt7X2G2nXuYSfsIJdkwwj/g9DG1LkcGJI/dDoA== + +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz" + integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +hogan.js@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/hogan.js/-/hogan.js-3.0.2.tgz" + integrity sha512-RqGs4wavGYJWE07t35JQccByczmNUXQT0E12ZYV1VKYu5UiAU9lsos/yBAcf840+zrUQQxgVduCR5/B8nNtibg== + dependencies: + mkdirp "0.3.0" + nopt "1.0.10" + +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz" + integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== + dependencies: + inherits "^2.0.1" + obuf "^1.0.0" + readable-stream "^2.0.1" + wbuf "^1.1.0" + +hsl-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz" + integrity sha512-M5ezZw4LzXbBKMruP+BNANf0k+19hDQMgpzBIYnya//Al+fjNct9Wf3b1WedLqdEs2hKBvxq/jh+DsHJLj0F9A== + +hsla-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz" + integrity sha512-7Wn5GMLuHBjZCb2bTmnDOycho0p/7UVaAeqXZGbHrBCl6Yd/xDhQJAXe6Ga9AXJH2I5zY1dEdYw2u1UptnSBJA== + +html-entities@^1.3.1: + version "1.4.0" + resolved "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz" + integrity sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA== + +html-minifier@^3.2.3: + 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== + 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" + +html-tags@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz" + integrity sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g== + +html-tags@^3.3.1: + version "3.3.1" + resolved "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz" + integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ== + +html-to-text@^7.0.0: + version "7.1.3" + resolved "https://registry.npmjs.org/html-to-text/-/html-to-text-7.1.3.tgz" + integrity sha512-bnQRVDGgprdYkDRme4BH5xTxFo9ESorrfMHBWjtdgNVGkthXXQIGbmp3PRIjJVcaCP4mJMSuXtBi/lHqUCHUzw== + dependencies: + deepmerge "^4.2.2" + he "^1.2.0" + htmlparser2 "^6.1.0" + minimist "^1.2.6" + +htmlparser2@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz" + integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.0.0" + domutils "^2.5.2" + entities "^2.0.0" + +http-cache-semantics@^4.0.0: + version "4.1.1" + resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz" + integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== + +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz" + integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== + +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" + integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" + +http-parser-js@>=0.5.1: + version "0.5.8" + resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz" + integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== + +http-proxy-middleware@^1.0.0: + version "1.3.1" + resolved "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-1.3.1.tgz" + integrity sha512-13eVVDYS4z79w7f1+NPllJtOQFx/FdUW4btIvVRMaRlUY9VGstAbo5MOhLEuUgZFRHn3x50ufn25zkj/boZnEg== + dependencies: + "@types/http-proxy" "^1.17.5" + http-proxy "^1.18.1" + is-glob "^4.0.1" + is-plain-obj "^3.0.0" + micromatch "^4.0.2" + +http-proxy-middleware@0.19.1: + version "0.19.1" + resolved "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz" + integrity sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q== + dependencies: + http-proxy "^1.17.0" + is-glob "^4.0.0" + lodash "^4.17.11" + micromatch "^3.1.10" + +http-proxy@^1.17.0, http-proxy@^1.18.0, http-proxy@^1.18.1: + version "1.18.1" + resolved "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz" + integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +http-server@^13.0.2: + version "13.1.0" + resolved "https://registry.npmjs.org/http-server/-/http-server-13.1.0.tgz" + integrity sha512-MLqBMXeY/YN0FYMz4ifeOQCcg8pKj8YdmzX1pr/Vb2VrNnbxHN1s4K9BuZRVSyK/j3DQ8UVrrABb8m6EmFjWog== + dependencies: + basic-auth "^1.0.3" + chalk "^4.1.2" + corser "^2.0.1" + he "^1.1.0" + http-proxy "^1.18.0" + mime "^1.6.0" + minimist "^1.2.5" + opener "^1.5.1" + portfinder "^1.0.25" + secure-compare "3.0.1" + union "~0.5.0" + url-join "^2.0.5" + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz" + integrity sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ== + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +http-signature@~1.3.6: + version "1.3.6" + resolved "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz" + integrity sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw== + dependencies: + assert-plus "^1.0.0" + jsprim "^2.0.2" + sshpk "^1.14.1" + +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz" + integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg== + +human-signals@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz" + integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +icss-replace-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz" + integrity sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg== + +icss-utils@^4.1.0: + version "4.1.1" + resolved "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz" + integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== + dependencies: + postcss "^7.0.14" + +ieee754@^1.1.4: + version "1.2.1" + resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +iferr@^0.1.5: + version "0.1.5" + resolved "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz" + integrity sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA== + +ignore@^3.3.5: + version "3.3.10" + resolved "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz" + integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== + +ignore@^4.0.3: + version "4.0.6" + resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +immediate@^3.2.3: + version "3.3.0" + resolved "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz" + integrity sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q== + +import-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz" + integrity sha512-Ew5AZzJQFqrOV5BTW3EIoHAnoie1LojZLXKcCQ/yTRyVZosBhK1x1ViYjHGf5pAFOq8ZyChZp6m/fSN7pJyZtg== + dependencies: + import-from "^2.1.0" + +import-fresh@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz" + integrity sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg== + dependencies: + caller-path "^2.0.0" + resolve-from "^3.0.0" + +import-from@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz" + integrity sha512-0vdnLL2wSGnhlRmzHJAg5JHjt1l2vYhzJ7tNLGbeVg0fse56tpGaH0uzH+r9Slej+BSXXEHvBKDEnVSLLE9/+w== + dependencies: + resolve-from "^3.0.0" + +import-lazy@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz" + integrity sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A== + +import-local@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz" + integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== + dependencies: + pkg-dir "^3.0.0" + resolve-cwd "^2.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +indent-string@^3.0.0: + version "3.2.0" + resolved "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz" + integrity sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ== + +indexes-of@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz" + integrity sha512-bup+4tap3Hympa+JBJUG7XuOsdNQ6fxt0MHyXMKuLBKn0OqsTfvUxkUrroEX1+B2VsSHvCjiIcZVxRtYa4nllA== + +infer-owner@^1.0.3: + version "1.0.4" + resolved "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz" + integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3, inherits@2, inherits@2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== + +ini@~1.3.0, ini@1.3.7: + version "1.3.7" + resolved "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz" + integrity sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ== + +internal-ip@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz" + integrity sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg== + dependencies: + default-gateway "^4.2.0" + ipaddr.js "^1.9.0" + +internal-slot@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz" + integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== + dependencies: + es-errors "^1.3.0" + hasown "^2.0.0" + side-channel "^1.0.4" + +ip-regex@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz" + integrity sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw== + +ip@^1.1.0, ip@^1.1.5: + version "1.1.9" + resolved "https://registry.npmjs.org/ip/-/ip-1.1.9.tgz" + integrity sha512-cyRxvOEpNHNtchU3Ln9KC/auJgup87llfQpQ+t5ghoC/UhL16SWzbueiCsdTnWmqAWl7LadfuwhlqmtOaqMHdQ== + +ipaddr.js@^1.9.0, ipaddr.js@1.9.1: + 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== + +is-absolute-url@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz" + integrity sha512-vOx7VprsKyllwjSkLV79NIhpyLfr3jAp7VaTCMXOJHu4m0Ew1CZ2fcjASwmV1jI3BWuWHB013M48eyeldk9gYg== + +is-absolute-url@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz" + integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== + +is-accessor-descriptor@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz" + integrity sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA== + dependencies: + hasown "^2.0.0" + +is-arguments@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-array-buffer@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz" + integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.1" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz" + integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== + +is-bigint@^1.0.1: + 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" + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz" + integrity sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q== + dependencies: + binary-extensions "^1.0.0" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + 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" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" + +is-color-stop@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz" + integrity sha512-H1U8Vz0cfXNujrJzEcvvwMDW9Ra+biSYA3ThdQvAnMLJkEHQXn6bWzLkxHtVYJ+Sdbx0b6finn3jZiaVe7MAHA== + 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" + +is-core-module@^2.13.0: + version "2.13.1" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== + dependencies: + hasown "^2.0.0" + +is-data-descriptor@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz" + integrity sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw== + dependencies: + hasown "^2.0.0" + +is-date-object@^1.0.1, is-date-object@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-descriptor@^0.1.0: + version "0.1.7" + resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz" + integrity sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg== + dependencies: + is-accessor-descriptor "^1.0.1" + is-data-descriptor "^1.0.1" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz" + integrity sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw== + dependencies: + is-accessor-descriptor "^1.0.1" + is-data-descriptor "^1.0.1" + +is-directory@^0.3.1: + version "0.3.1" + resolved "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz" + integrity sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw== + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" + integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== + +is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" + integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.0, is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" + integrity sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw== + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" + integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== + +is-fullwidth-code-point@^3.0.0: + 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== + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz" + integrity sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw== + dependencies: + is-extglob "^2.1.0" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-installed-globally@^0.3.1, is-installed-globally@^0.3.2: + version "0.3.2" + resolved "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz" + integrity sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g== + dependencies: + global-dirs "^2.0.1" + is-path-inside "^3.0.1" + +is-negative-zero@^2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz" + integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== + +is-npm@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz" + integrity sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig== + +is-number-object@^1.0.4: + version "1.0.7" + resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== + dependencies: + has-tostringtag "^1.0.0" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz" + integrity sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg== + dependencies: + kind-of "^3.0.2" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz" + integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg== + +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz" + integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== + +is-observable@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz" + integrity sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA== + dependencies: + symbol-observable "^1.1.0" + +is-path-cwd@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz" + integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== + +is-path-in-cwd@^2.0.0: + 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== + dependencies: + is-path-inside "^2.1.0" + +is-path-inside@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz" + integrity sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg== + dependencies: + path-is-inside "^1.0.2" + +is-path-inside@^3.0.1: + version "3.0.3" + resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + +is-plain-obj@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz" + integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== + +is-plain-obj@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz" + integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== + +is-plain-object@^2.0.3, is-plain-object@^2.0.4: + 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== + dependencies: + isobject "^3.0.1" + +is-promise@^2.1.0: + version "2.2.2" + resolved "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz" + integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== + +is-regex@^1.1.4: + 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" + +is-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz" + integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA== + +is-regexp@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz" + integrity sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA== + +is-resolvable@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz" + integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== + +is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz" + integrity sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg== + dependencies: + call-bind "^1.0.7" + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" + integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-string@^1.0.5, is-string@^1.0.7: + 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" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-typed-array@^1.1.13: + version "1.1.13" + resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz" + integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== + dependencies: + which-typed-array "^1.1.14" + +is-typedarray@^1.0.0, is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" + integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== + +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + +is-weakref@^1.0.2: + 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" + +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz" + integrity sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw== + +is-yarn-global@^0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz" + integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== + +isarray@^1.0.0, isarray@~1.0.0, isarray@1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isarray@^2.0.1: + version "2.0.5" + resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz" + integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA== + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" + integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== + +javascript-stringify@^1.6.0: + version "1.6.0" + resolved "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-1.6.0.tgz" + integrity sha512-fnjC0up+0SjEJtgmmG+teeel68kutkvzfctO/KxE3qJlbunkJYAshgH3boU++gSBHP8z5/r0ts0qRIrHf0RTQQ== + +javascript-stringify@^2.0.1: + version "2.1.0" + resolved "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz" + integrity sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg== + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz" + integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" + integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== + +json-buffer@3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz" + integrity sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ== + +json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: + 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-traverse@^0.4.1: + 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== + +json-schema@0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz" + integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== + +json5@^0.5.0: + version "0.5.1" + resolved "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz" + integrity sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw== + +json5@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== + dependencies: + minimist "^1.2.0" + +json5@^2.1.2, json5@^2.2.3: + version "2.2.3" + resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== + optionalDependencies: + graceful-fs "^4.1.6" + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonp@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/jsonp/-/jsonp-0.2.1.tgz" + integrity sha512-pfog5gdDxPdV4eP7Kg87M8/bHgshlZ5pybl+yKxAnCZ5O7lCIn7Ixydj03wOlnDQesky2BPyA91SQ+5Y/mNwzw== + dependencies: + debug "^2.1.3" + +jsprim@^1.2.2: + version "1.4.2" + resolved "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz" + integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.4.0" + verror "1.10.0" + +jsprim@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz" + integrity sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ== + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.4.0" + verror "1.10.0" + +keyv@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz" + integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== + dependencies: + json-buffer "3.0.0" + +killable@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz" + integrity sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg== + +kind-of@^3.0.2: + version "3.2.2" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" + integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== + dependencies: + is-buffer "^1.1.5" + +kind-of@^3.0.3: + version "3.2.2" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" + integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== + dependencies: + is-buffer "^1.1.5" + +kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" + integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz" + integrity sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw== + dependencies: + is-buffer "^1.1.5" + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +last-call-webpack-plugin@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz" + integrity sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w== + dependencies: + lodash "^4.17.5" + webpack-sources "^1.1.0" + +latest-version@^5.0.0: + version "5.1.0" + resolved "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz" + integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== + dependencies: + package-json "^6.3.0" + +lazy-ass@^1.6.0: + version "1.6.0" + resolved "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz" + integrity sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw== + +linkify-it@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz" + integrity sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw== + dependencies: + uc.micro "^1.0.1" + +listr-silent-renderer@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz" + integrity sha512-L26cIFm7/oZeSNVhWB6faeorXhMg4HNlb/dS/7jHhr708jxlXrtrBWo4YUxZQkc6dGoxEAe6J/D3juTRBUzjtA== + +listr-update-renderer@^0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz" + integrity sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA== + dependencies: + chalk "^1.1.3" + cli-truncate "^0.2.1" + elegant-spinner "^1.0.1" + figures "^1.7.0" + indent-string "^3.0.0" + log-symbols "^1.0.2" + log-update "^2.3.0" + strip-ansi "^3.0.1" + +listr-verbose-renderer@^0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz" + integrity sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw== + dependencies: + chalk "^2.4.1" + cli-cursor "^2.1.0" + date-fns "^1.27.2" + figures "^2.0.0" + +listr@^0.14.2, listr@^0.14.3: + version "0.14.3" + resolved "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz" + integrity sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA== + dependencies: + "@samverschueren/stream-to-observable" "^0.3.0" + is-observable "^1.1.0" + is-promise "^2.1.0" + is-stream "^1.1.0" + listr-silent-renderer "^1.1.1" + listr-update-renderer "^0.5.0" + listr-verbose-renderer "^0.5.0" + p-map "^2.0.0" + rxjs "^6.3.3" + +load-script@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/load-script/-/load-script-1.0.0.tgz" + integrity sha512-kPEjMFtZvwL9TaZo0uZ2ml+Ye9HUMmPwbYRJ324qF9tqMejwykJ5ggTyvzmrbBeapCAbk98BSbTeovHEEP1uCA== + +loader-runner@^2.4.0: + version "2.4.0" + resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz" + integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== + +loader-utils@^0.2.16: + version "0.2.17" + resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz" + integrity sha512-tiv66G0SmiOx+pLWMtGEkfSEejxvb6N6uRrQjfWJIT79W9GMpgKeCAmm9aVBKtd4WEgntciI8CsGqjpDoCWJug== + dependencies: + big.js "^3.1.3" + emojis-list "^2.0.0" + json5 "^0.5.0" + object-assign "^4.0.1" + +loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3: + version "1.4.2" + resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz" + integrity sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + +loader-utils@^2.0.0: + version "2.0.4" + resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz" + integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +lodash._reinterpolate@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz" + integrity sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA== + +lodash.chunk@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/lodash.chunk/-/lodash.chunk-4.2.0.tgz" + integrity sha512-ZzydJKfUHJwHa+hF5X66zLFCBrWn5GeF28OHEr4WVWtNDXlQ/IjWKPBiikqKo2ne0+v6JgCgJ0GzJp8k8bHC7w== + +lodash.clonedeep@^4.5.0: + version "4.5.0" + resolved "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz" + integrity sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ== + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + +lodash.defaultsdeep@4.6.1: + 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== + +lodash.isempty@4.4.0: + version "4.4.0" + resolved "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz" + integrity sha512-oKMuF3xEeqDltrGMfDxAPGIVMSSRv8tbRSODbrs4KGsRRLEhrW8N8Rd4DRgB2+621hY8A8XwwrTVhXWpxFvMzg== + +lodash.kebabcase@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz" + integrity sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g== + +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" + integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== + +lodash.once@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz" + integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== + +lodash.padstart@^4.6.1: + version "4.6.1" + resolved "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz" + integrity sha512-sW73O6S8+Tg66eY56DBk85aQzzUJDtpoXFBgELMd5P/SotAguo+1kYO6RuYgXxA4HJH3LFTFPASX6ET6bjfriw== + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz" + integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== + +lodash.template@^4.4.0, lodash.template@^4.5.0: + version "4.5.0" + resolved "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz" + integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== + dependencies: + lodash._reinterpolate "^3.0.0" + lodash.templatesettings "^4.0.0" + +lodash.templatesettings@^4.0.0: + version "4.2.0" + resolved "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz" + integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== + dependencies: + lodash._reinterpolate "^3.0.0" + +lodash.trimend@^4.5.1: + version "4.5.1" + resolved "https://registry.npmjs.org/lodash.trimend/-/lodash.trimend-4.5.1.tgz" + integrity sha512-lsD+k73XztDsMBKPKvzHXRKFNMohTjoTKIIo4ADLn5dA65LZ1BqlAvSXhR2rPEC3BgAUQnzMnorqDtqn2z4IHA== + +lodash.trimstart@^4.5.1: + version "4.5.1" + resolved "https://registry.npmjs.org/lodash.trimstart/-/lodash.trimstart-4.5.1.tgz" + integrity sha512-b/+D6La8tU76L/61/aN0jULWHkT0EeJCmVstPBn/K9MtD2qBW83AsBNrr63dKuWYwVMO7ucv13QNO/Ek/2RKaQ== + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" + integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== + +lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.3, lodash@^4.17.5: + version "4.17.21" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz" + integrity sha512-mmPrW0Fh2fxOzdBbFv4g1m6pR72haFLPJ2G5SJEELf1y+iaQrDG6cWCPjy54RHYbZAt7X+ls690Kw62AdWXBzQ== + dependencies: + chalk "^1.0.0" + +log-symbols@^4.0.0: + version "4.1.0" + resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + +log-update@^2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz" + integrity sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg== + dependencies: + ansi-escapes "^3.0.0" + cli-cursor "^2.0.0" + wrap-ansi "^3.0.1" + +loglevel@^1.6.8: + version "1.9.1" + resolved "https://registry.npmjs.org/loglevel/-/loglevel-1.9.1.tgz" + integrity sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg== + +lower-case@^1.1.1: + version "1.1.4" + resolved "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz" + integrity sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA== + +lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz" + integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== + +lowercase-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz" + integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== + +lru-cache@^4.1.2: + version "4.1.5" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +luxon@^1.3.3: + version "1.28.1" + resolved "https://registry.npmjs.org/luxon/-/luxon-1.28.1.tgz" + integrity sha512-gYHAa180mKrNIUJCbwpmD0aTu9kV0dREDrwNnuyFAsO1Wt0EVYSZelPnJlbj9HplzXX/YWXHFTL45kvZ53M0pw== + +magic-string@^0.30.7: + version "0.30.8" + resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.8.tgz" + integrity sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.15" + +make-dir@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz" + integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== + dependencies: + pify "^4.0.1" + semver "^5.6.0" + +make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: + 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== + dependencies: + semver "^6.0.0" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz" + integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg== + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz" + integrity sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w== + dependencies: + object-visit "^1.0.0" + +markdown-it-anchor@^5.0.2: + version "5.3.0" + resolved "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-5.3.0.tgz" + integrity sha512-/V1MnLL/rgJ3jkMWo84UR+K+jF1cxNG1a+KwqeXqTIJ+jtA8aWSHuigx8lTzauiIjBDbwF3NcWQMotd0Dm39jA== + +markdown-it-chain@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/markdown-it-chain/-/markdown-it-chain-1.3.0.tgz" + integrity sha512-XClV8I1TKy8L2qsT9iX3qiV+50ZtcInGXI80CA+DP62sMs7hXlyV/RM3hfwy5O3Ad0sJm9xIwQELgANfESo8mQ== + dependencies: + webpack-chain "^4.9.0" + +markdown-it-container@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/markdown-it-container/-/markdown-it-container-2.0.0.tgz" + integrity sha512-IxPOaq2LzrGuFGyYq80zaorXReh2ZHGFOB1/Hen429EJL1XkPI3FJTpx9TsJeua+j2qTru4h3W1TiCRdeivMmA== + +markdown-it-emoji@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/markdown-it-emoji/-/markdown-it-emoji-1.4.0.tgz" + integrity sha512-QCz3Hkd+r5gDYtS2xsFXmBYrgw6KuWcJZLCEkdfAuwzZbShCmCfta+hwAMq4NX/4xPzkSHduMKgMkkPUJxSXNg== + +markdown-it-regexp@^0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/markdown-it-regexp/-/markdown-it-regexp-0.4.0.tgz" + integrity sha512-0XQmr46K/rMKnI93Y3CLXsHj4jIioRETTAiVnJnjrZCEkGaDOmUxTbZj/aZ17G5NlRcVpWBYjqpwSlQ9lj+Kxw== + +markdown-it-table-of-contents@^0.4.0: + version "0.4.4" + resolved "https://registry.npmjs.org/markdown-it-table-of-contents/-/markdown-it-table-of-contents-0.4.4.tgz" + integrity sha512-TAIHTHPwa9+ltKvKPWulm/beozQU41Ab+FIefRaQV1NRnpzwcV9QOe6wXQS5WLivm5Q/nlo0rl6laGkMDZE7Gw== + +markdown-it@*, markdown-it@^8.4.1, markdown-it@>=5.0.0: + version "8.4.2" + resolved "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz" + integrity sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ== + dependencies: + argparse "^1.0.7" + entities "~1.1.1" + linkify-it "^2.0.0" + mdurl "^1.0.1" + uc.micro "^1.0.5" + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +mdn-data@2.0.14: + version "2.0.14" + resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz" + integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== + +mdn-data@2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz" + integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== + +mdurl@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz" + integrity sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g== + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== + +medium-zoom@^1.0.4: + version "1.1.0" + resolved "https://registry.npmjs.org/medium-zoom/-/medium-zoom-1.1.0.tgz" + integrity sha512-ewyDsp7k4InCUp3jRmwHBRFGyjBimKps/AJLjRSox+2q/2H4p/PNpQf+pwONWlJiOudkBXtbdmVbFjqyybfTmQ== + +memory-fs@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz" + integrity sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ== + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +memory-fs@^0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz" + integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" + integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== + +merge-source-map@^1.1.0: + 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== + dependencies: + source-map "^0.6.1" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.2.3: + version "1.4.1" + resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" + integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== + +micromatch@^3.1.10, micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + 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" + +micromatch@^4.0.2: + version "4.0.5" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz" + integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +"mime-db@>= 1.43.0 < 2", mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime@^1.6.0, mime@1.6.0: + version "1.6.0" + resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mime@^2.0.3: + version "2.6.0" + resolved "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz" + integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== + +mime@^2.4.4: + version "2.6.0" + resolved "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz" + integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== + +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz" + integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mimic-response@^1.0.0, mimic-response@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + +min-document@^2.19.0: + version "2.19.0" + resolved "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz" + integrity sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ== + dependencies: + dom-walk "^0.1.0" + +mini-css-extract-plugin@0.6.0: + version "0.6.0" + resolved "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.6.0.tgz" + integrity sha512-79q5P7YGI6rdnVyIAV4NXpBQJFWdkzJxCim3Kog4078fM0piAaFlwocqbejdWtLW1cEzCexPrh6EdyFsPgVdAw== + dependencies: + loader-utils "^1.1.0" + normalize-url "^2.0.1" + schema-utils "^1.0.0" + webpack-sources "^1.1.0" + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz" + integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== + +minimatch@^3.0.4, minimatch@^3.1.1: + version "3.1.2" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +mississippi@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz" + integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== + 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" + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.4, mkdirp@^0.5.6, mkdirp@~0.5.1: + version "0.5.6" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + +mkdirp@~1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +mkdirp@0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz" + integrity sha512-OHsdUcVAQ6pOtg5JYWpCBo9W/GySVuwvP9hueRMW7UqshC0tbfzLv8wjySTPm3tfUZ/21CE9E1pJagOA91Pxew== + +moment@^2.29.1: + version "2.30.1" + resolved "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz" + integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how== + +move-concurrently@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz" + integrity sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ== + 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" + +ms@^2.1.1, ms@2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +ms@2.1.3: + version "2.1.3" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +multicast-dns-service-types@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz" + integrity sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ== + +multicast-dns@^6.0.1: + version "6.2.3" + resolved "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz" + integrity sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g== + dependencies: + dns-packet "^1.3.1" + thunky "^1.0.2" + +nan@^2.12.1: + version "2.19.0" + resolved "https://registry.npmjs.org/nan/-/nan-2.19.0.tgz" + integrity sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw== + +nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + 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" + +negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +neo-async@^2.5.0, neo-async@^2.6.1: + version "2.6.2" + resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +no-case@^2.2.0: + version "2.3.2" + resolved "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz" + integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ== + dependencies: + lower-case "^1.1.1" + +node-forge@^0.10.0: + version "0.10.0" + resolved "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz" + integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== + +node-libs-browser@^2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz" + integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== + 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-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== + +nopt@1.0.10: + version "1.0.10" + resolved "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz" + integrity sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg== + dependencies: + abbrev "1" + +normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz" + integrity sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w== + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" + integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== + +normalize-url@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz" + integrity sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw== + dependencies: + prepend-http "^2.0.0" + query-string "^5.0.1" + sort-keys "^2.0.0" + +normalize-url@^3.0.0: + version "3.3.0" + resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz" + integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== + +normalize-url@^4.1.0: + version "4.5.1" + resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz" + integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz" + integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw== + dependencies: + path-key "^2.0.0" + +npm-run-path@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +nprogress@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz" + integrity sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA== + +nth-check@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz" + integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== + dependencies: + boolbase "~1.0.0" + +nth-check@^2.0.1: + version "2.1.1" + resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz" + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== + dependencies: + boolbase "^1.0.0" + +num2fraction@^1.2.2: + version "1.2.2" + resolved "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz" + integrity sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg== + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" + integrity sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ== + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + +object-assign@^4.0.1, object-assign@^4.1.0: + version "4.1.1" + resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz" + integrity sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ== + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-inspect@^1.13.1: + version "1.13.1" + resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz" + integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== + +object-is@^1.1.5: + version "1.1.6" + resolved "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz" + integrity sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + +object-keys@^1.0.11, object-keys@^1.1.0, object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz" + integrity sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA== + dependencies: + isobject "^3.0.0" + +object.assign@^4.1.0, object.assign@^4.1.4, object.assign@^4.1.5: + version "4.1.5" + resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz" + integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== + dependencies: + call-bind "^1.0.5" + define-properties "^1.2.1" + has-symbols "^1.0.3" + object-keys "^1.1.1" + +object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0: + version "2.1.7" + resolved "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz" + integrity sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g== + dependencies: + array.prototype.reduce "^1.0.6" + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + safe-array-concat "^1.0.0" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz" + integrity sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ== + dependencies: + isobject "^3.0.1" + +object.values@^1.1.0: + version "1.1.7" + resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz" + integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +obuf@^1.0.0, obuf@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz" + integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== + +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.2: + 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== + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz" + integrity sha512-GZ+g4jayMqzCRMgB2sol7GiCLjKfS1PINkjmx8spcKce1LiVqcbQreXwqs2YAFXC6R03VIG28ZS31t8M866v6A== + +onetime@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz" + integrity sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ== + dependencies: + mimic-fn "^1.0.0" + +onetime@^5.1.0: + version "5.1.2" + resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +opencollective-postinstall@^2.0.2: + version "2.0.3" + resolved "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz" + integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== + +opener@^1.5.1: + version "1.5.2" + resolved "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz" + integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== + +opn@^5.5.0: + version "5.5.0" + resolved "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz" + integrity sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA== + dependencies: + is-wsl "^1.1.0" + +optimize-css-assets-webpack-plugin@^5.0.1: + version "5.0.8" + resolved "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.8.tgz" + integrity sha512-mgFS1JdOtEGzD8l+EuISqL57cKO+We9GcoiQEmdCWRqqck+FGNmYJtx9qfAPzEz+lRrlThWMuGDaRkI/yWNx/Q== + dependencies: + cssnano "^4.1.10" + last-call-webpack-plugin "^3.0.0" + +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz" + integrity sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A== + +ospath@^1.2.2: + version "1.2.2" + resolved "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz" + integrity sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA== + +p-cancelable@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz" + integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" + integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== + +p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.2.1: + version "2.3.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-locate@^3.0.0: + 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== + dependencies: + p-limit "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-map@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz" + integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== + +p-retry@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz" + integrity sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w== + dependencies: + retry "^0.12.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +package-json@^6.3.0: + version "6.5.0" + resolved "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz" + integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== + dependencies: + got "^9.6.0" + registry-auth-token "^4.0.0" + registry-url "^5.0.0" + semver "^6.2.0" + +pako@~1.0.5: + version "1.0.11" + resolved "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== + +parallel-transform@^1.1.0: + version "1.2.0" + resolved "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz" + integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== + dependencies: + cyclist "^1.0.1" + inherits "^2.0.3" + readable-stream "^2.1.5" + +param-case@2.1.x: + version "2.1.1" + resolved "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz" + integrity sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w== + dependencies: + no-case "^2.2.0" + +parse-asn1@^5.0.0, parse-asn1@^5.1.7: + version "5.1.7" + resolved "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.7.tgz" + integrity sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg== + dependencies: + asn1.js "^4.10.1" + browserify-aes "^1.2.0" + evp_bytestokey "^1.0.3" + hash-base "~3.0" + pbkdf2 "^3.1.2" + safe-buffer "^5.2.1" + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz" + integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +parseurl@~1.3.2, parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz" + integrity sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw== + +path-browserify@0.0.1: + 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== + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz" + integrity sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q== + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" + integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-is-inside@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz" + integrity sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w== + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" + integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" + integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== + +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz" + integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== + dependencies: + pify "^3.0.0" + +pbkdf2@^3.0.3, pbkdf2@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz" + integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== + 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" + +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz" + integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz" + integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== + +picocolors@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz" + integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== + +pify@^2.2.0: + version "2.3.0" + resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" + integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" + integrity sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw== + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" + integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg== + +pkg-dir@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz" + integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== + dependencies: + find-up "^3.0.0" + +pkg-dir@^4.1.0: + 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== + dependencies: + find-up "^4.0.0" + +portfinder@^1.0.13, portfinder@^1.0.25, portfinder@^1.0.26: + version "1.0.32" + resolved "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz" + integrity sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg== + dependencies: + async "^2.6.4" + debug "^3.2.7" + mkdirp "^0.5.6" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz" + integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg== + +possible-typed-array-names@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz" + integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== + +postcss-calc@^7.0.1: + version "7.0.5" + resolved "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz" + integrity sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg== + dependencies: + postcss "^7.0.27" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.0.2" + +postcss-colormin@^4.0.3: + version "4.0.3" + resolved "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz" + integrity sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw== + dependencies: + browserslist "^4.0.0" + color "^3.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-convert-values@^4.0.1: + 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== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-discard-comments@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz" + integrity sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg== + dependencies: + postcss "^7.0.0" + +postcss-discard-duplicates@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz" + integrity sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ== + dependencies: + postcss "^7.0.0" + +postcss-discard-empty@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz" + integrity sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w== + dependencies: + postcss "^7.0.0" + +postcss-discard-overridden@^4.0.1: + 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== + dependencies: + postcss "^7.0.0" + +postcss-load-config@^2.0.0: + version "2.1.2" + resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz" + integrity sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw== + dependencies: + cosmiconfig "^5.0.0" + import-cwd "^2.0.0" + +postcss-loader@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz" + integrity sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA== + dependencies: + loader-utils "^1.1.0" + postcss "^7.0.0" + postcss-load-config "^2.0.0" + schema-utils "^1.0.0" + +postcss-merge-longhand@^4.0.11: + version "4.0.11" + resolved "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz" + integrity sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw== + dependencies: + css-color-names "0.0.4" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + stylehacks "^4.0.0" + +postcss-merge-rules@^4.0.3: + version "4.0.3" + resolved "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz" + integrity sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ== + 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" + +postcss-minify-font-values@^4.0.2: + 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== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-minify-gradients@^4.0.2: + 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== + dependencies: + cssnano-util-get-arguments "^4.0.0" + is-color-stop "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-minify-params@^4.0.2: + 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== + 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" + +postcss-minify-selectors@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz" + integrity sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g== + dependencies: + alphanum-sort "^1.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + +postcss-modules-extract-imports@^2.0.0: + 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== + dependencies: + postcss "^7.0.5" + +postcss-modules-local-by-default@^2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz" + integrity sha512-oLUV5YNkeIBa0yQl7EYnxMgy4N6noxmiwZStaEJUSe2xPMcdNc8WmBQuQCx18H5psYbVxz8zoHk0RAAYZXP9gA== + dependencies: + postcss "^7.0.6" + postcss-selector-parser "^6.0.0" + postcss-value-parser "^3.3.1" + +postcss-modules-scope@^2.1.0: + 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== + dependencies: + postcss "^7.0.6" + postcss-selector-parser "^6.0.0" + +postcss-modules-values@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz" + integrity sha512-Ki7JZa7ff1N3EIMlPnGTZfUMe69FFwiQPnVSXC9mnn3jozCRBYIxiZd44yJOV2AmabOo4qFf8s0dC/+lweG7+w== + dependencies: + icss-replace-symbols "^1.1.0" + postcss "^7.0.6" + +postcss-normalize-charset@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz" + integrity sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g== + dependencies: + postcss "^7.0.0" + +postcss-normalize-display-values@^4.0.2: + 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== + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-positions@^4.0.2: + 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== + dependencies: + cssnano-util-get-arguments "^4.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-repeat-style@^4.0.2: + 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== + 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" + +postcss-normalize-string@^4.0.2: + 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== + dependencies: + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-timing-functions@^4.0.2: + 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== + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-unicode@^4.0.1: + 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== + dependencies: + browserslist "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-url@^4.0.1: + 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== + dependencies: + is-absolute-url "^2.0.0" + normalize-url "^3.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-whitespace@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz" + integrity sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-ordered-values@^4.1.2: + version "4.1.2" + resolved "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz" + integrity sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw== + dependencies: + cssnano-util-get-arguments "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-reduce-initial@^4.0.3: + 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== + dependencies: + browserslist "^4.0.0" + caniuse-api "^3.0.0" + has "^1.0.0" + postcss "^7.0.0" + +postcss-reduce-transforms@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz" + integrity sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg== + dependencies: + cssnano-util-get-match "^4.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-safe-parser@^4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz" + integrity sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g== + dependencies: + postcss "^7.0.26" + +postcss-selector-parser@^3.0.0: + 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== + dependencies: + dot-prop "^5.2.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: + version "6.0.15" + resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz" + integrity sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-svgo@^4.0.3: + version "4.0.3" + resolved "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.3.tgz" + integrity sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + svgo "^1.0.0" + +postcss-unique-selectors@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz" + integrity sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg== + dependencies: + alphanum-sort "^1.0.0" + postcss "^7.0.0" + uniqs "^2.0.0" + +postcss-value-parser@^3.0.0: + version "3.3.1" + resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz" + integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== + +postcss-value-parser@^3.3.0: + version "3.3.1" + resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz" + integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== + +postcss-value-parser@^3.3.1: + version "3.3.1" + resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz" + integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== + +postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: + version "4.2.0" + resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss@^7.0.0: + version "7.0.39" + resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz" + integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== + dependencies: + picocolors "^0.2.1" + source-map "^0.6.1" + +postcss@^7.0.1: + version "7.0.39" + resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz" + integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== + dependencies: + picocolors "^0.2.1" + source-map "^0.6.1" + +postcss@^7.0.14: + version "7.0.39" + resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz" + integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== + dependencies: + picocolors "^0.2.1" + source-map "^0.6.1" + +postcss@^7.0.26: + version "7.0.39" + resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz" + integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== + dependencies: + picocolors "^0.2.1" + source-map "^0.6.1" + +postcss@^7.0.27: + version "7.0.39" + resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz" + integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== + dependencies: + picocolors "^0.2.1" + source-map "^0.6.1" + +postcss@^7.0.32: + version "7.0.39" + resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz" + integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== + dependencies: + picocolors "^0.2.1" + source-map "^0.6.1" + +postcss@^7.0.36: + version "7.0.39" + resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz" + integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== + dependencies: + picocolors "^0.2.1" + source-map "^0.6.1" + +postcss@^7.0.5: + version "7.0.39" + resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz" + integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== + dependencies: + picocolors "^0.2.1" + source-map "^0.6.1" + +postcss@^7.0.6: + version "7.0.39" + resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz" + integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== + dependencies: + picocolors "^0.2.1" + source-map "^0.6.1" + +postcss@^8.4.14, postcss@^8.4.35: + version "8.4.35" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz" + integrity sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +prepend-http@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz" + integrity sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA== + +"prettier@^1.18.2 || ^2.0.0": + version "2.8.8" + resolved "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz" + integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== + +pretty-bytes@^5.1.0, pretty-bytes@^5.4.1: + version "5.6.0" + resolved "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz" + integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== + +pretty-error@^2.0.2: + version "2.1.2" + resolved "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz" + integrity sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw== + dependencies: + lodash "^4.17.20" + renderkid "^2.0.4" + +pretty-time@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz" + integrity sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA== + +prismjs@^1.13.0: + version "1.29.0" + resolved "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz" + integrity sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q== + +process-nextick-args@~2.0.0: + 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== + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.npmjs.org/process/-/process-0.11.10.tgz" + integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== + +promise-inflight@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz" + integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g== + +proxy-addr@~2.0.7: + version "2.0.7" + resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz" + integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz" + integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== + +psl@^1.1.28, psl@^1.1.33: + version "1.9.0" + resolved "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz" + integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== + +public-encrypt@^4.0.0: + version "4.0.3" + resolved "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz" + integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== + 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" + +pump@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz" + integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pumpify@^1.3.3: + version "1.5.1" + resolved "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz" + integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== + dependencies: + duplexify "^3.6.0" + inherits "^2.0.3" + pump "^2.0.0" + +punycode@^1.2.4: + version "1.4.1" + resolved "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" + integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== + +punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" + integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== + +punycode@^2.1.0, punycode@^2.1.1: + version "2.3.1" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + +pupa@^2.0.1: + version "2.1.1" + resolved "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz" + integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A== + dependencies: + escape-goat "^2.0.0" + +q@^1.1.2: + version "1.5.1" + resolved "https://registry.npmjs.org/q/-/q-1.5.1.tgz" + integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== + +qs@^6.11.2, qs@^6.4.0, qs@^6.6.0: + version "6.12.0" + resolved "https://registry.npmjs.org/qs/-/qs-6.12.0.tgz" + integrity sha512-trVZiI6RMOkO476zLGaBIzszOdFPnCCXHPG9kn0yuS1uz6xdVxPfZdB3vUig9pxPFDM9BRAgz/YUIVQ1/vuiUg== + dependencies: + side-channel "^1.0.6" + +qs@~6.10.3: + version "6.10.4" + resolved "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz" + integrity sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g== + dependencies: + side-channel "^1.0.4" + +qs@~6.5.2: + version "6.5.3" + resolved "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz" + integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== + +qs@6.11.0: + version "6.11.0" + resolved "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz" + integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== + dependencies: + side-channel "^1.0.4" + +query-string@^5.0.1: + version "5.1.1" + resolved "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz" + integrity sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw== + dependencies: + decode-uri-component "^0.2.0" + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + +query-string@^6.9.0: + version "6.14.1" + resolved "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz" + integrity sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw== + dependencies: + decode-uri-component "^0.2.0" + filter-obj "^1.1.0" + split-on-first "^1.0.0" + strict-uri-encode "^2.0.0" + +querystring-es3@^0.2.0, querystring-es3@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz" + integrity sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA== + +querystringify@^2.1.1: + version "2.2.0" + resolved "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz" + integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== + +ramda@~0.27.1: + version "0.27.2" + resolved "https://registry.npmjs.org/ramda/-/ramda-0.27.2.tgz" + integrity sha512-SbiLPU40JuJniHexQSAgad32hfwd+DRUdwF2PlVuI5RZD0/vahUco7R8vD86J/tcEKKF9vZrUVwgtmGCqlCKyA== + +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz" + integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + +range-parser@^1.2.1, range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.5.2: + version "2.5.2" + resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz" + integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + +rc@^1.2.8, rc@1.2.8: + version "1.2.8" + resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@^2.3.8, readable-stream@~2.3.6, "readable-stream@1 || 2": + version "2.3.8" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + 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" + +readable-stream@^3.0.6: + version "3.6.2" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@^2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz" + integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" + readable-stream "^2.0.2" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +reduce@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/reduce/-/reduce-1.0.2.tgz" + integrity sha512-xX7Fxke/oHO5IfZSk77lvPa/7bjMh9BuCk4OOoX5XTXrM7s0Z+MkPfSDfz0q7r91BhhGSs8gii/VEN/7zhCPpQ== + dependencies: + object-keys "^1.1.0" + +regenerate-unicode-properties@^10.1.0: + version "10.1.1" + resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz" + integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== + dependencies: + regenerate "^1.4.2" + +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz" + integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== + +regenerator-runtime@^0.14.0: + version "0.14.1" + resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz" + integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== + +regenerator-transform@^0.15.2: + version "0.15.2" + resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz" + integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== + dependencies: + "@babel/runtime" "^7.8.4" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regexp.prototype.flags@^1.5.1, regexp.prototype.flags@^1.5.2: + version "1.5.2" + resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz" + integrity sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw== + dependencies: + call-bind "^1.0.6" + define-properties "^1.2.1" + es-errors "^1.3.0" + set-function-name "^2.0.1" + +regexpu-core@^5.3.1: + version "5.3.2" + resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz" + integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== + dependencies: + "@babel/regjsgen" "^0.8.0" + regenerate "^1.4.2" + regenerate-unicode-properties "^10.1.0" + regjsparser "^0.9.1" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.1.0" + +register-service-worker@^1.7.0: + version "1.7.2" + resolved "https://registry.npmjs.org/register-service-worker/-/register-service-worker-1.7.2.tgz" + integrity sha512-CiD3ZSanZqcMPRhtfct5K9f7i3OLCcBBWsJjLh1gW9RO/nS94sVzY59iS+fgYBOBqaBpf4EzfqUF3j9IG+xo8A== + +registry-auth-token@^4.0.0: + version "4.2.2" + resolved "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz" + integrity sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg== + dependencies: + rc "1.2.8" + +registry-url@^5.0.0: + version "5.1.0" + resolved "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz" + integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== + dependencies: + rc "^1.2.8" + +regjsparser@^0.9.1: + version "0.9.1" + resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz" + integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== + dependencies: + jsesc "~0.5.0" + +relateurl@0.2.x: + version "0.2.7" + resolved "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz" + integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== + +remove-markdown@^0.3.0, remove-markdown@0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/remove-markdown/-/remove-markdown-0.3.0.tgz" + integrity sha512-5392eIuy1mhjM74739VunOlsOYKjsH82rQcTBlJ1bkICVC3dQ3ksQzTHh4jGHQFnM+1xzLzcFOMH+BofqXhroQ== + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz" + integrity sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw== + +renderkid@^2.0.4: + version "2.0.7" + resolved "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz" + integrity sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ== + dependencies: + css-select "^4.1.3" + dom-converter "^0.2.0" + htmlparser2 "^6.1.0" + lodash "^4.17.21" + strip-ansi "^3.0.1" + +repeat-element@^1.1.2: + version "1.1.4" + resolved "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz" + integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" + integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== + +request-progress@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz" + integrity sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg== + dependencies: + throttleit "^1.0.0" + +request@^2.87.0: + version "2.88.2" + resolved "https://registry.npmjs.org/request/-/request-2.88.2.tgz" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +require-main-filename@^2.0.0: + 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== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== + +resolve-cwd@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz" + integrity sha512-ccu8zQTrzVr954472aUVPLEcB3YpKSYR3cg/3lo1okzobPBM+1INXBbBZlDbnI/hbEocnf8j0QVo43hQKrbchg== + dependencies: + resolve-from "^3.0.0" + +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz" + integrity sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw== + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz" + integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg== + +resolve@^1.14.2, resolve@^1.22.0: + version "1.22.8" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +responselike@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz" + integrity sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ== + dependencies: + lowercase-keys "^1.0.0" + +restore-cursor@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz" + integrity sha512-reSjH4HuiFlxlaBaFCiS6O76ZGG2ygKoSlCsipKdaZuKSPx/+bt9mULkn4l0asVzbEfQQmXRg6Wp6gv6m0wElw== + dependencies: + exit-hook "^1.0.0" + onetime "^1.0.0" + +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz" + integrity sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q== + dependencies: + onetime "^2.0.0" + signal-exit "^3.0.2" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +retry@^0.12.0: + version "0.12.0" + resolved "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz" + integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== + +rgb-regex@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz" + integrity sha512-gDK5mkALDFER2YLqH6imYvK6g02gpNGM4ILDZ472EwWfXZnC2ZEpoB2ECXTyOVUKuk/bPJZMzwQPBYICzP+D3w== + +rgba-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz" + integrity sha512-zgn5OjNQXLUTdq8m17KdaicF6w89TZs8ZU8y0AYENIU6wG8GG6LLm0yLSiPY8DmaYmHdgRW8rnApjoT0fQRfMg== + +rimraf@^2.5.4, rimraf@^2.6.3: + version "2.7.1" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +run-queue@^1.0.0, run-queue@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz" + integrity sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg== + dependencies: + aproba "^1.1.1" + +rxjs@^6.3.3: + version "6.6.7" + resolved "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz" + integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== + dependencies: + tslib "^1.9.0" + +safe-array-concat@^1.0.0, safe-array-concat@^1.1.0: + version "1.1.2" + resolved "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz" + integrity sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q== + dependencies: + call-bind "^1.0.7" + get-intrinsic "^1.2.4" + has-symbols "^1.0.3" + isarray "^2.0.5" + +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.1, safe-buffer@>=5.1.0, safe-buffer@5.2.1: + version "5.2.1" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-buffer@~5.1.0: + version "5.1.2" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@5.1.2: + 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-test@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz" + integrity sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-regex "^1.1.4" + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz" + integrity sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg== + dependencies: + ret "~0.1.10" + +safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@^2.1.2, "safer-buffer@>= 2.1.2 < 3", safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sax@~1.2.4: + version "1.2.4" + resolved "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + +schema-utils@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz" + integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== + dependencies: + ajv "^6.1.0" + ajv-errors "^1.0.0" + ajv-keywords "^3.1.0" + +schema-utils@^2.6.5: + version "2.7.1" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz" + integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== + dependencies: + "@types/json-schema" "^7.0.5" + ajv "^6.12.4" + ajv-keywords "^3.5.2" + +section-matter@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz" + integrity sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA== + dependencies: + extend-shallow "^2.0.1" + kind-of "^6.0.0" + +secure-compare@3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz" + integrity sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw== + +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz" + integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== + +selfsigned@^1.10.8: + version "1.10.14" + resolved "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.14.tgz" + integrity sha512-lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA== + dependencies: + node-forge "^0.10.0" + +semver-diff@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz" + integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg== + dependencies: + semver "^6.3.0" + +semver@^5.1.0: + version "5.7.2" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + +semver@^5.5.0: + version "5.7.2" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + +semver@^5.6.0: + version "5.7.2" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + +semver@^6.0.0, semver@^6.1.0, semver@^6.2.0, semver@^6.3.0, semver@^6.3.1: + version "6.3.1" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +send@0.18.0: + version "0.18.0" + resolved "https://registry.npmjs.org/send/-/send-0.18.0.tgz" + integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== + dependencies: + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "2.0.0" + mime "1.6.0" + ms "2.1.3" + on-finished "2.4.1" + range-parser "~1.2.1" + statuses "2.0.1" + +serialize-javascript@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz" + integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== + dependencies: + randombytes "^2.1.0" + +serialize-javascript@^6.0.0: + version "6.0.2" + resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz" + integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== + dependencies: + randombytes "^2.1.0" + +serve-index@^1.9.1: + version "1.9.1" + resolved "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz" + integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== + 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" + +serve-static@1.15.0: + version "1.15.0" + resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz" + integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.18.0" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== + +set-function-length@^1.2.1: + version "1.2.2" + resolved "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz" + integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + +set-function-name@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz" + integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + functions-have-names "^1.2.3" + has-property-descriptors "^1.0.2" + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +setimmediate@^1.0.4: + version "1.0.5" + resolved "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" + integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz" + integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== + +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" + integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" + integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +side-channel@^1.0.4, side-channel@^1.0.6: + version "1.0.6" + resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz" + integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + object-inspect "^1.13.1" + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.7" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz" + integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg== + dependencies: + is-arrayish "^0.3.1" + +sitemap@^3.0.0: + version "3.2.2" + resolved "https://registry.npmjs.org/sitemap/-/sitemap-3.2.2.tgz" + integrity sha512-TModL/WU4m2q/mQcrDgNANn0P4LwprM9MMvG4hu5zP4c6IIKs2YLTu6nXXnNr8ODW/WFtxKggiJ1EGn2W0GNmg== + dependencies: + lodash.chunk "^4.2.0" + lodash.padstart "^4.6.1" + whatwg-url "^7.0.0" + xmlbuilder "^13.0.0" + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz" + integrity sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg== + +slash@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz" + integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== + +slice-ansi@0.0.4: + version "0.0.4" + resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz" + integrity sha512-up04hB2hR92PgjpyU3y/eg91yIBILyjVY26NvvciY3EVVPjybkMszMpXQ9QAkcS3I5rtJBDLoTxxg+qvW8c7rw== + +smoothscroll-polyfill@^0.4.3, smoothscroll-polyfill@^0.4.4: + version "0.4.4" + resolved "https://registry.npmjs.org/smoothscroll-polyfill/-/smoothscroll-polyfill-0.4.4.tgz" + integrity sha512-TK5ZA9U5RqCwMpfoMq/l1mrH0JAR7y7KRvOBx0n2869aLxch+gT9GhN3yUfjiw+d/DiF1mKo14+hd62JyMmoBg== + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + 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" + +sockjs-client@^1.5.0: + version "1.6.1" + resolved "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.6.1.tgz" + integrity sha512-2g0tjOR+fRs0amxENLi/q5TiJTqY+WXFOzb5UwXndlK6TO3U/mirZznpx6w34HVMoc3g7cY24yC/ZMIYnDlfkw== + dependencies: + debug "^3.2.7" + eventsource "^2.0.2" + faye-websocket "^0.11.4" + inherits "^2.0.4" + url-parse "^1.5.10" + +sockjs@^0.3.21: + version "0.3.24" + resolved "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz" + integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== + dependencies: + faye-websocket "^0.11.3" + uuid "^8.3.2" + websocket-driver "^0.7.4" + +sort-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz" + integrity sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg== + dependencies: + is-plain-obj "^1.0.0" + +source-list-map@^2.0.0: + 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== + +source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: + 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== + 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" + +source-map-support@~0.5.12: + version "0.5.21" + resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-url@^0.4.0: + version "0.4.1" + resolved "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== + +source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.7.3: + version "0.7.4" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== + +source-map@0.5.6: + version "0.5.6" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz" + integrity sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA== + +spdy-transport@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz" + integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== + 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" + +spdy@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz" + integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== + 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" + +split-on-first@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz" + integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== + +split-string@^3.0.1, split-string@^3.0.2: + 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== + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +sshpk@^1.14.1, sshpk@^1.7.0: + version "1.18.0" + resolved "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz" + integrity sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ== + 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" + +ssri@^6.0.1: + version "6.0.2" + resolved "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz" + integrity sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q== + dependencies: + figgy-pudding "^3.5.1" + +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz" + integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== + +stack-utils@^1.0.1: + version "1.0.5" + resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz" + integrity sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ== + dependencies: + escape-string-regexp "^2.0.0" + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz" + integrity sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g== + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +"statuses@>= 1.4.0 < 2": + version "1.5.0" + resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" + integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== + +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +std-env@^2.2.1: + version "2.3.1" + resolved "https://registry.npmjs.org/std-env/-/std-env-2.3.1.tgz" + integrity sha512-eOsoKTWnr6C8aWrqJJ2KAReXoa7Vn5Ywyw6uCXgA/xDhxPoaIsBa5aNJmISY04dLwXPBnDHW4diGM7Sn5K4R/g== + dependencies: + ci-info "^3.1.1" + +stream-browserify@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz" + integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== + dependencies: + inherits "~2.0.1" + readable-stream "^2.0.2" + +stream-each@^1.1.0: + version "1.2.3" + resolved "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz" + integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== + dependencies: + end-of-stream "^1.1.0" + stream-shift "^1.0.0" + +stream-http@^2.7.2: + version "2.8.3" + resolved "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz" + integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== + 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" + +stream-shift@^1.0.0: + version "1.0.3" + resolved "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz" + integrity sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ== + +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz" + integrity sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ== + +strict-uri-encode@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz" + integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== + +string_decoder@^1.0.0, string_decoder@^1.1.1, string_decoder@~1.1.1: + 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" + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz" + integrity sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw== + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^3.0.0, string-width@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string.prototype.trim@^1.2.8: + version "1.2.8" + resolved "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz" + integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +string.prototype.trimend@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz" + integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +string.prototype.trimstart@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz" + integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +stringify-object@^3.3.0: + version "3.3.0" + resolved "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz" + integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== + dependencies: + get-own-enumerable-property-symbols "^3.0.0" + is-obj "^1.0.1" + is-regexp "^1.0.0" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" + integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz" + integrity sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow== + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + +strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-bom-string@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz" + integrity sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g== + +strip-comments@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/strip-comments/-/strip-comments-1.0.2.tgz" + integrity sha512-kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw== + dependencies: + babel-extract-comments "^1.0.0" + babel-plugin-transform-object-rest-spread "^6.26.0" + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz" + integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q== + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" + integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== + +striptags@3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/striptags/-/striptags-3.1.1.tgz" + integrity sha512-3HVl+cOkJOlNUDAYdoCAfGx/fzUzG53YvJAl3RYlTvAcBdPqSp1Uv4wrmHymm7oEypTijSQqcqplW8cz0/r/YA== + +stylehacks@^4.0.0: + 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== + dependencies: + browserslist "^4.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + +stylus-loader@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/stylus-loader/-/stylus-loader-3.0.2.tgz" + integrity sha512-+VomPdZ6a0razP+zinir61yZgpw2NfljeSsdUF5kJuEzlo3khXhY19Fn6l8QQz1GRJGtMCo8nG5C04ePyV7SUA== + dependencies: + loader-utils "^1.0.2" + lodash.clonedeep "^4.5.0" + when "~3.6.x" + +stylus@^0.54.8, stylus@>=0.52.4: + version "0.54.8" + resolved "https://registry.npmjs.org/stylus/-/stylus-0.54.8.tgz" + integrity sha512-vr54Or4BZ7pJafo2mpf0ZcwA74rpuYCZbxrHBsH8kbcXOwSfvBFwsRfpGO5OD5fhG5HDCFW737PKaawI7OqEAg== + dependencies: + css-parse "~2.0.0" + debug "~3.1.0" + glob "^7.1.6" + mkdirp "~1.0.4" + safer-buffer "^2.1.2" + sax "~1.2.4" + semver "^6.3.0" + source-map "^0.7.3" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" + integrity sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g== + +supports-color@^5.3.0: + 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" + +supports-color@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz" + integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0, supports-color@^7.2.0: + version "7.2.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +svg-tags@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz" + integrity sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA== + +svgo@^1.0.0: + version "1.3.2" + resolved "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz" + integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== + 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" + +symbol-observable@^1.1.0: + version "1.2.0" + resolved "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz" + integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== + +tapable@^1.0.0, tapable@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz" + integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== + +term-size@^2.1.0: + version "2.2.1" + resolved "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz" + integrity sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg== + +terser-webpack-plugin@^1.4.3: + version "1.4.5" + resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz" + integrity sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw== + dependencies: + cacache "^12.0.2" + find-cache-dir "^2.1.0" + is-wsl "^1.1.0" + schema-utils "^1.0.0" + serialize-javascript "^4.0.0" + source-map "^0.6.1" + terser "^4.1.2" + webpack-sources "^1.4.0" + worker-farm "^1.7.0" + +terser@^4.1.2: + version "4.8.1" + resolved "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz" + integrity sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw== + dependencies: + commander "^2.20.0" + source-map "~0.6.1" + source-map-support "~0.5.12" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +throttleit@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/throttleit/-/throttleit-1.0.1.tgz" + integrity sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ== + +through@~2.3.4: + version "2.3.8" + resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz" + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== + +through2@^2.0.0: + 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" + +thunky@^1.0.2: + version "1.1.0" + resolved "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz" + integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== + +timers-browserify@^2.0.4: + version "2.0.12" + resolved "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz" + integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== + dependencies: + setimmediate "^1.0.4" + +timsort@^0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz" + integrity sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A== + +tmp@~0.2.1: + version "0.2.3" + resolved "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz" + integrity sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w== + +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz" + integrity sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA== + +to-factory@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/to-factory/-/to-factory-1.0.0.tgz" + integrity sha512-JVYrY42wMG7ddf+wBUQR/uHGbjUHZbLisJ8N62AMm0iTZ0p8YTcZLzdtomU0+H+wa99VbkyvQGB3zxB7NDzgIQ== + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz" + integrity sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg== + dependencies: + kind-of "^3.0.2" + +to-readable-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz" + integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz" + integrity sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg== + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex-range@^5.0.1: + 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== + dependencies: + is-number "^7.0.0" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + +toml@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/toml/-/toml-3.0.0.tgz" + integrity sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w== + +toposort@^1.0.0: + version "1.0.7" + resolved "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz" + integrity sha512-FclLrw8b9bMWf4QlCJuHBEVhSRsqDj6u3nIjAzPeJvgl//1hBlffdlk0MALceL14+koWEdU4ofRAXofbODxQzg== + +tough-cookie@^4.1.3: + version "4.1.3" + resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz" + integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw== + dependencies: + psl "^1.1.33" + punycode "^2.1.1" + universalify "^0.2.0" + url-parse "^1.5.3" + +tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +tr46@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz" + integrity sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA== + dependencies: + punycode "^2.1.0" + +tslib@^1.9.0: + version "1.14.1" + resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tty-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz" + integrity sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw== + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" + integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" + integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + +type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +typed-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz" + integrity sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + is-typed-array "^1.1.13" + +typed-array-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz" + integrity sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw== + dependencies: + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + +typed-array-byte-offset@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz" + integrity sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + +typed-array-length@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.5.tgz" + integrity sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA== + dependencies: + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + possible-typed-array-names "^1.0.0" + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" + integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== + +uc.micro@^1.0.1, uc.micro@^1.0.5: + version "1.0.6" + resolved "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz" + integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA== + +uglify-js@3.4.x: + version "3.4.10" + resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz" + integrity sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw== + dependencies: + commander "~2.19.0" + source-map "~0.6.1" + +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" + integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== + +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== + dependencies: + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" + +unicode-match-property-value-ecmascript@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz" + integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz" + integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== + +union-value@^1.0.0: + 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== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +union@~0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/union/-/union-0.5.0.tgz" + integrity sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA== + dependencies: + qs "^6.4.0" + +uniq@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz" + integrity sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA== + +uniqs@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz" + integrity sha512-mZdDpf3vBV5Efh29kMw5tXoup/buMgxLzOt/XKFKcVmi+15ManNQWr6HfZ2aiZTYlYixbdNJ0KFmIZIv52tHSQ== + +unique-filename@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz" + integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== + dependencies: + unique-slug "^2.0.0" + +unique-slug@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz" + integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== + dependencies: + imurmurhash "^0.1.4" + +unique-string@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz" + integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== + dependencies: + crypto-random-string "^2.0.0" + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +universalify@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz" + integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== + +universalify@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz" + integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== + +unpipe@~1.0.0, unpipe@1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== + +unquote@~1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz" + integrity sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg== + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz" + integrity sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ== + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +untildify@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz" + integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== + +upath@^1.1.0, upath@^1.1.1: + version "1.2.0" + resolved "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz" + integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== + +update-browserslist-db@^1.0.13: + version "1.0.13" + resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz" + integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +update-notifier@^4.0.0: + version "4.1.3" + resolved "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.3.tgz" + integrity sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A== + dependencies: + boxen "^4.2.0" + chalk "^3.0.0" + configstore "^5.0.1" + has-yarn "^2.1.0" + import-lazy "^2.1.0" + is-ci "^2.0.0" + is-installed-globally "^0.3.1" + is-npm "^4.0.0" + is-yarn-global "^0.3.0" + latest-version "^5.0.0" + pupa "^2.0.1" + semver-diff "^3.1.1" + xdg-basedir "^4.0.0" + +upper-case@^1.1.1: + version "1.1.3" + resolved "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz" + integrity sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA== + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz" + integrity sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg== + +url-join@^2.0.5: + version "2.0.5" + resolved "https://registry.npmjs.org/url-join/-/url-join-2.0.5.tgz" + integrity sha512-c2H1fIgpUdwFRIru9HFno5DT73Ok8hg5oOb5AT3ayIgvCRfxgs2jyt5Slw8kEB7j3QUr6yJmMPDT/odjk7jXow== + +url-loader@^1.0.1: + version "1.1.2" + resolved "https://registry.npmjs.org/url-loader/-/url-loader-1.1.2.tgz" + integrity sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg== + dependencies: + loader-utils "^1.1.0" + mime "^2.0.3" + schema-utils "^1.0.0" + +url-parse-lax@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz" + integrity sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ== + dependencies: + prepend-http "^2.0.0" + +url-parse@^1.5.10, url-parse@^1.5.3: + version "1.5.10" + resolved "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz" + integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + +url@^0.11.0: + version "0.11.3" + resolved "https://registry.npmjs.org/url/-/url-0.11.3.tgz" + integrity sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw== + dependencies: + punycode "^1.4.1" + qs "^6.11.2" + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/use/-/use-3.1.1.tgz" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +util.promisify@~1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz" + integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.2" + has-symbols "^1.0.1" + object.getownpropertydescriptors "^2.1.0" + +util.promisify@1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz" + integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== + dependencies: + define-properties "^1.1.2" + object.getownpropertydescriptors "^2.0.3" + +util@^0.10.4: + version "0.10.4" + resolved "https://registry.npmjs.org/util/-/util-0.10.4.tgz" + integrity sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A== + dependencies: + inherits "2.0.3" + +util@^0.11.0: + version "0.11.1" + resolved "https://registry.npmjs.org/util/-/util-0.11.1.tgz" + integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== + dependencies: + inherits "2.0.3" + +utila@~0.4: + version "0.4.0" + resolved "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz" + integrity sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA== + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== + +uuid@^3.3.2: + version "3.4.0" + resolved "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== + +vendors@^1.0.0: + version "1.0.4" + resolved "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz" + integrity sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w== + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz" + integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +vm-browserify@^1.0.1: + version "1.1.2" + resolved "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz" + integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== + +vssue@^1.4.8: + version "1.4.8" + resolved "https://registry.npmjs.org/vssue/-/vssue-1.4.8.tgz" + integrity sha512-Stp0CxF65Uv658qgYUgYKEDiWM8wskUfKCOT9ISJwz/Qn58N050vYnFYClnUXG060ZQi1YQxkTCuJAw8ee3YlQ== + dependencies: + "@vssue/utils" "^1.4.7" + github-markdown-css "^3.0.1" + vue "^2.6.10" + vue-i18n "^8.11.2" + vue-property-decorator "^8.1.1" + +vue-class-component@^7.1.0: + version "7.2.6" + resolved "https://registry.npmjs.org/vue-class-component/-/vue-class-component-7.2.6.tgz" + integrity sha512-+eaQXVrAm/LldalI272PpDe3+i4mPis0ORiMYxF6Ae4hyuCh15W8Idet7wPUEs4N4YptgFHGys4UrgNQOMyO6w== + +vue-disqus@^3.0.5: + version "3.0.5" + resolved "https://registry.npmjs.org/vue-disqus/-/vue-disqus-3.0.5.tgz" + integrity sha512-T3Y68lXf5W2lYt6j4Y3kZ4opLPH0EAzqriy11MS4D4Q2+UN0tFuUXeYP1MxfvdyaCEboXSM6CUswxsULuNV70Q== + +vue-feather-icons@^4.21.0: + version "4.22.0" + resolved "https://registry.npmjs.org/vue-feather-icons/-/vue-feather-icons-4.22.0.tgz" + integrity sha512-ZG8FSFPUYoNet9jjXJFLiTnEH8eCp5Pj0FchtxjTPP6D4qPfcbFFnKDusT+xDj/0zilnuVCLVn/GAghs7k5fCg== + dependencies: + babel-helper-vue-jsx-merge-props "^2.0.2" + +vue-hot-reload-api@^2.3.0: + version "2.3.4" + resolved "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz" + integrity sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog== + +vue-i18n@^8.11.2: + version "8.28.2" + resolved "https://registry.npmjs.org/vue-i18n/-/vue-i18n-8.28.2.tgz" + integrity sha512-C5GZjs1tYlAqjwymaaCPDjCyGo10ajUphiwA922jKt9n7KPpqR7oM1PCwYzhB/E7+nT3wfdG3oRre5raIT1rKA== + +vue-loader@^15.7.1: + version "15.11.1" + resolved "https://registry.npmjs.org/vue-loader/-/vue-loader-15.11.1.tgz" + integrity sha512-0iw4VchYLePqJfJu9s62ACWUXeSqM30SQqlIftbYWM3C+jpPcEHKSPUZBLjSF9au4HTHQ/naF6OGnO3Q/qGR3Q== + 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" + +vue-property-decorator@^8.1.1: + version "8.5.1" + resolved "https://registry.npmjs.org/vue-property-decorator/-/vue-property-decorator-8.5.1.tgz" + integrity sha512-O6OUN2OMsYTGPvgFtXeBU3jPnX5ffQ9V4I1WfxFQ6dqz6cOUbR3Usou7kgFpfiXDvV7dJQSFcJ5yUPgOtPPm1Q== + dependencies: + vue-class-component "^7.1.0" + +vue-router@^3.4.5: + version "3.6.5" + resolved "https://registry.npmjs.org/vue-router/-/vue-router-3.6.5.tgz" + integrity sha512-VYXZQLtjuvKxxcshuRAwjHnciqZVoXAjTjcqBTz4rKc8qih9g9pI3hbDjmqXaHdgL3v8pV6P8Z335XvHzESxLQ== + +vue-server-renderer@^2.6.10: + version "2.7.16" + resolved "https://registry.npmjs.org/vue-server-renderer/-/vue-server-renderer-2.7.16.tgz" + integrity sha512-U7GgR4rYmHmbs3Z2gqsasfk7JNuTsy/xrR5EMMGRLkjN8+ryDlqQq6Uu3DcmbCATAei814YOxyl0eq2HNqgXyQ== + dependencies: + chalk "^4.1.2" + hash-sum "^2.0.0" + he "^1.2.0" + lodash.template "^4.5.0" + lodash.uniq "^4.5.0" + resolve "^1.22.0" + serialize-javascript "^6.0.0" + source-map "0.5.6" + +vue-style-loader@^4.1.0: + version "4.1.3" + resolved "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.3.tgz" + integrity sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg== + dependencies: + hash-sum "^1.0.2" + loader-utils "^1.0.2" + +vue-template-compiler@^2.6.10: + version "2.7.16" + resolved "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz" + integrity sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ== + dependencies: + de-indent "^1.0.2" + he "^1.2.0" + +vue-template-es2015-compiler@^1.9.0: + 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== + +vue@*, "vue@^2 || ^3.0.0-0", vue@^2.0.0, vue@^2.6.10: + version "2.7.16" + resolved "https://registry.npmjs.org/vue/-/vue-2.7.16.tgz" + integrity sha512-4gCtFXaAA3zYZdTp5s4Hl2sozuySsgz4jy1EnpBHNfpMa9dK1ZCG7viqBPCwXtmgc8nHqUsAu3G4gtmXkkY3Sw== + dependencies: + "@vue/compiler-sfc" "2.7.16" + csstype "^3.1.0" + +vuejs-paginate@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/vuejs-paginate/-/vuejs-paginate-2.1.0.tgz" + integrity sha512-gnwyXlmCiDOu9MLWxN5UJ4PGijKGNOMpHG8ujsrynCzTJljn/rp7Jq0WiDGDAMi5/u0AHuYIHhced+tUW4jblA== + +vuepress-html-webpack-plugin@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/vuepress-html-webpack-plugin/-/vuepress-html-webpack-plugin-3.2.0.tgz" + integrity sha512-BebAEl1BmWlro3+VyDhIOCY6Gef2MCBllEVAP3NUAtMguiyOwo/dClbwJ167WYmcxHJKLl7b0Chr9H7fpn1d0A== + 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" + +vuepress-plugin-clean-urls@^1.1.1: + version "1.1.2" + resolved "https://registry.npmjs.org/vuepress-plugin-clean-urls/-/vuepress-plugin-clean-urls-1.1.2.tgz" + integrity sha512-36r6XT9stybGSL9zHfFM6F+EBOF9rRDzGdNeias3AmU3AH5+DqsciMjRpHfecKXDKeVcc0PlNfG1Tf19CW5MzA== + +vuepress-plugin-code-copy@^1.0.6: + version "1.0.6" + resolved "https://registry.npmjs.org/vuepress-plugin-code-copy/-/vuepress-plugin-code-copy-1.0.6.tgz" + integrity sha512-FiqwMtlb4rEsOI56O6sSkekcd3SlESxbkR2IaTIQxsMOMoalKfW5R9WlR1Pjm10v6jmU661Ex8MR11k9IzrNUg== + +vuepress-plugin-code-switcher@^1.0.3: + version "1.1.0" + resolved "https://registry.npmjs.org/vuepress-plugin-code-switcher/-/vuepress-plugin-code-switcher-1.1.0.tgz" + integrity sha512-En6bhztg1m6TdzswclJ1WKylTyOYb56ghxvSit5by2/Xnpd6zIs4Ec/i6f7cmLRmNAuKzoB3r6+576i32L7BPQ== + dependencies: + "@vuepress/plugin-register-components" "^1.8.0" + +vuepress-plugin-container@^2.0.2: + version "2.1.5" + resolved "https://registry.npmjs.org/vuepress-plugin-container/-/vuepress-plugin-container-2.1.5.tgz" + integrity sha512-TQrDX/v+WHOihj3jpilVnjXu9RcTm6m8tzljNJwYhxnJUW0WWQ0hFLcDTqTBwgKIFdEiSxVOmYE+bJX/sq46MA== + dependencies: + "@vuepress/shared-utils" "^1.2.0" + markdown-it-container "^2.0.0" + +vuepress-plugin-dehydrate@1.1.5: + version "1.1.5" + resolved "https://registry.npmjs.org/vuepress-plugin-dehydrate/-/vuepress-plugin-dehydrate-1.1.5.tgz" + integrity sha512-9F2x1vLCK4poPUMkLupD4HsgWdbZ68Escvma+DE1Dk6aAJdH5FGwmfOMxj4sMCBwz7S4s6bTMna+QQgD3+bzBA== + dependencies: + "@vuepress/shared-utils" "^1.2.0" + +vuepress-plugin-disqus@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/vuepress-plugin-disqus/-/vuepress-plugin-disqus-0.2.0.tgz" + integrity sha512-kx+AeVzjJ9lx9bufLt1/X35V1VXfnQ1srkDMIzFKD9NyQ3eycsWQRcGO1dFe1HMrY3+7fTu+1/JeUEUEpGZ5tw== + dependencies: + vue-disqus "^3.0.5" + +vuepress-plugin-feed@^0.1.8: + version "0.1.9" + resolved "https://registry.npmjs.org/vuepress-plugin-feed/-/vuepress-plugin-feed-0.1.9.tgz" + integrity sha512-iOJkR7zPmJAX0TEVdxNsUT07xNQB6lZFpU7DqsYzO01FhaPkMOOVM5Vx5a/iOOuOggAeoI9H9yuah+cRmCImlw== + dependencies: + feed "2.0.4" + lodash.defaultsdeep "4.6.1" + lodash.isempty "4.4.0" + lodash.trimend "^4.5.1" + lodash.trimstart "^4.5.1" + remove-markdown "0.3.0" + striptags "3.1.1" + +vuepress-plugin-fulltext-search@^2.0.6: + version "2.2.1" + resolved "https://registry.npmjs.org/vuepress-plugin-fulltext-search/-/vuepress-plugin-fulltext-search-2.2.1.tgz" + integrity sha512-+BOLOdOTvwg7+4z71fmpuZUaHSw+exrw8S9m0kvBUgIVDoe5VS/G3y4hcd+K1hukbkxE/ec10Ikk8hc/3zf2VQ== + dependencies: + flexsearch "^0.6.32" + html-to-text "^7.0.0" + lodash "^4.17.19" + +vuepress-plugin-glossary@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/vuepress-plugin-glossary/-/vuepress-plugin-glossary-1.0.2.tgz" + integrity sha512-hyP5UV2vBj9rsFK8GeVYjS+jEGFqOjFEAns0EG95pKqimZJMKzKn0RZ3hfcx4Ty1BhUW9//00KIRbqjxK6DweA== + dependencies: + markdown-it-regexp "^0.4.0" + +vuepress-plugin-mailchimp@^1.4.1: + version "1.4.2" + resolved "https://registry.npmjs.org/vuepress-plugin-mailchimp/-/vuepress-plugin-mailchimp-1.4.2.tgz" + integrity sha512-4t5ZaKZXu5ZkwgE+WW//7CgXgz6DEhRefGrO5aql4PwapauNXlHKgQ2JMf9FRe5y5WHjNpDHYveEDNzISZmxJw== + dependencies: + jsonp "^0.2.1" + query-string "^6.9.0" + +vuepress-plugin-reading-progress@^1.0.9: + version "1.0.10" + resolved "https://registry.npmjs.org/vuepress-plugin-reading-progress/-/vuepress-plugin-reading-progress-1.0.10.tgz" + integrity sha512-7OxcjNEDf9gqFTns0YnXrqPnTRlX6wvxWFr7D8tlfyMPpsZwJkh/MkJveRrEaKcU0gk8QGmPHnXLAZ3soTThVg== + +vuepress-plugin-redirect@^1.2.5: + version "1.2.5" + resolved "https://registry.npmjs.org/vuepress-plugin-redirect/-/vuepress-plugin-redirect-1.2.5.tgz" + integrity sha512-4RAWTVite154Tv7rUJEqWZ4fZtVXwKKoFOa2zY0Esn7cLi3Om2A+Pa2U84tBgPd90v2R7KEOy9jLEVphbsPK7g== + dependencies: + "@shigma/stringify-object" "^3.3.0" + vuepress-plugin-dehydrate "1.1.5" + +vuepress-plugin-sitemap@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/vuepress-plugin-sitemap/-/vuepress-plugin-sitemap-2.3.1.tgz" + integrity sha512-n+8lbukhrKrsI9H/EX0EBgkE1pn85LAQFvQ5dIvrZP4Kz6JxPOPPNTQmZMhahQV1tXbLZQCEN7A1WZH4x+arJQ== + dependencies: + sitemap "^3.0.0" + +vuepress-plugin-smooth-scroll@^0.0.3: + version "0.0.3" + resolved "https://registry.npmjs.org/vuepress-plugin-smooth-scroll/-/vuepress-plugin-smooth-scroll-0.0.3.tgz" + integrity sha512-qsQkDftLVFLe8BiviIHaLV0Ea38YLZKKonDGsNQy1IE0wllFpFIEldWD8frWZtDFdx6b/O3KDMgVQ0qp5NjJCg== + dependencies: + smoothscroll-polyfill "^0.4.3" + +vuepress-plugin-smooth-scroll@^0.0.9: + version "0.0.9" + resolved "https://registry.npmjs.org/vuepress-plugin-smooth-scroll/-/vuepress-plugin-smooth-scroll-0.0.9.tgz" + integrity sha512-UXX+HLZO1NKVwyiOJlj0smh8F9dKnwybjEi7w/Mj9EYLhKrNYr5uXs+N+OTt8VwKCn3f0vZ1XAwFIjsPlD7GJA== + dependencies: + smoothscroll-polyfill "^0.4.4" + +vuepress@^1.0.0, vuepress@^1.4.0, vuepress@^1.5.4, vuepress@^1.9.10, vuepress@1.x: + version "1.9.10" + resolved "https://registry.npmjs.org/vuepress/-/vuepress-1.9.10.tgz" + integrity sha512-UnGm9vjQvG918SZVNvgiUlNimLqawdYPq0aPRXDpEB1VksvqegVFy/GKdA8ShXJaEpOMPSt7YD4uK21jaMs3kA== + dependencies: + "@vuepress/core" "1.9.10" + "@vuepress/theme-default" "1.9.10" + "@vuepress/types" "1.9.10" + cac "^6.5.6" + envinfo "^7.2.0" + opencollective-postinstall "^2.0.2" + update-notifier "^4.0.0" + +watchpack-chokidar2@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz" + integrity sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww== + dependencies: + chokidar "^2.1.8" + +watchpack@^1.7.4: + version "1.7.5" + resolved "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz" + integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ== + dependencies: + graceful-fs "^4.1.2" + neo-async "^2.5.0" + optionalDependencies: + chokidar "^3.4.1" + watchpack-chokidar2 "^2.0.1" + +wbuf@^1.1.0, wbuf@^1.7.3: + version "1.7.3" + resolved "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz" + integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== + dependencies: + minimalistic-assert "^1.0.0" + +webidl-conversions@^4.0.2: + 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== + +webpack-chain@^4.9.0: + version "4.12.1" + resolved "https://registry.npmjs.org/webpack-chain/-/webpack-chain-4.12.1.tgz" + integrity sha512-BCfKo2YkDe2ByqkEWe1Rw+zko4LsyS75LVr29C6xIrxAg9JHJ4pl8kaIZ396SUSNp6b4815dRZPSTAS8LlURRQ== + dependencies: + deepmerge "^1.5.2" + javascript-stringify "^1.6.0" + +webpack-chain@^6.0.0: + version "6.5.1" + resolved "https://registry.npmjs.org/webpack-chain/-/webpack-chain-6.5.1.tgz" + integrity sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA== + dependencies: + deepmerge "^1.5.2" + javascript-stringify "^2.0.1" + +webpack-dev-middleware@^3.7.2: + version "3.7.3" + resolved "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz" + integrity sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ== + dependencies: + 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@^3.5.1: + version "3.11.3" + resolved "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.3.tgz" + integrity sha512-3x31rjbEQWKMNzacUZRE6wXvUFuGpH7vr0lIEbYpMAG9BOxi0928QU1BBswOAP3kg3H1O4hiS+sq4YyAn6ANnA== + dependencies: + ansi-html-community "0.0.8" + bonjour "^3.5.0" + chokidar "^2.1.8" + compression "^1.7.4" + connect-history-api-fallback "^1.6.0" + debug "^4.1.1" + del "^4.1.1" + express "^4.17.1" + html-entities "^1.3.1" + http-proxy-middleware "0.19.1" + import-local "^2.0.0" + internal-ip "^4.3.0" + ip "^1.1.5" + is-absolute-url "^3.0.3" + killable "^1.0.1" + loglevel "^1.6.8" + opn "^5.5.0" + p-retry "^3.0.1" + portfinder "^1.0.26" + schema-utils "^1.0.0" + selfsigned "^1.10.8" + semver "^6.3.0" + serve-index "^1.9.1" + sockjs "^0.3.21" + sockjs-client "^1.5.0" + spdy "^4.0.2" + strip-ansi "^3.0.1" + supports-color "^6.1.0" + url "^0.11.0" + webpack-dev-middleware "^3.7.2" + webpack-log "^2.0.0" + ws "^6.2.1" + yargs "^13.3.2" + +webpack-log@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz" + integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== + dependencies: + ansi-colors "^3.0.0" + uuid "^3.3.2" + +webpack-merge@^4.1.2: + version "4.2.2" + resolved "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz" + integrity sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g== + dependencies: + lodash "^4.17.15" + +webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1: + version "1.4.3" + resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz" + integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + +"webpack@^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0", "webpack@^3.0.0 || ^4.0.0", "webpack@^3.0.0 || ^4.1.0 || ^5.0.0-0", webpack@^4.0.0, "webpack@^4.0.0 || ^5.0.0", webpack@^4.4.0, webpack@^4.8.1, webpack@>=2: + version "4.47.0" + resolved "https://registry.npmjs.org/webpack/-/webpack-4.47.0.tgz" + integrity sha512-td7fYwgLSrky3fI1EuU5cneU4+pbH6GgOfuKNS1tNPcfdGinGELAqsb/BP4nnvZyKSG2i/xFGU7+n2PvZA8HJQ== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-module-context" "1.9.0" + "@webassemblyjs/wasm-edit" "1.9.0" + "@webassemblyjs/wasm-parser" "1.9.0" + acorn "^6.4.1" + ajv "^6.10.2" + ajv-keywords "^3.4.1" + chrome-trace-event "^1.0.2" + enhanced-resolve "^4.5.0" + eslint-scope "^4.0.3" + json-parse-better-errors "^1.0.2" + loader-runner "^2.4.0" + loader-utils "^1.2.3" + memory-fs "^0.4.1" + micromatch "^3.1.10" + mkdirp "^0.5.3" + neo-async "^2.6.1" + node-libs-browser "^2.2.1" + schema-utils "^1.0.0" + tapable "^1.1.3" + terser-webpack-plugin "^1.4.3" + watchpack "^1.7.4" + webpack-sources "^1.4.1" + +webpackbar@3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/webpackbar/-/webpackbar-3.2.0.tgz" + integrity sha512-PC4o+1c8gWWileUfwabe0gqptlXUDJd5E0zbpr2xHP1VSOVlZVPBZ8j6NCR8zM5zbKdxPhctHXahgpNK1qFDPw== + dependencies: + ansi-escapes "^4.1.0" + chalk "^2.4.1" + consola "^2.6.0" + figures "^3.0.0" + pretty-time "^1.1.0" + std-env "^2.2.1" + text-table "^0.2.0" + wrap-ansi "^5.1.0" + +websocket-driver@^0.7.4, websocket-driver@>=0.5.1: + version "0.7.4" + resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz" + integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== + dependencies: + http-parser-js ">=0.5.1" + safe-buffer ">=5.1.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.4" + resolved "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz" + integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== + +whatwg-url@^7.0.0: + version "7.1.0" + resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz" + integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + +when@~3.6.x: + version "3.6.4" + resolved "https://registry.npmjs.org/when/-/when-3.6.4.tgz" + integrity sha512-d1VUP9F96w664lKINMGeElWdhhb5sC+thXM+ydZGU3ZnaE09Wv6FaS+mpM9570kcDs/xMfcXJBTLsMdHEFYY9Q== + +which-boxed-primitive@^1.0.2: + 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" + +which-module@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz" + integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== + +which-typed-array@^1.1.14: + version "1.1.15" + resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz" + integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.2" + +which@^1.2.9: + version "1.3.1" + resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +widest-line@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz" + integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== + dependencies: + string-width "^4.0.0" + +workbox-background-sync@^4.3.1: + version "4.3.1" + resolved "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-4.3.1.tgz" + integrity sha512-1uFkvU8JXi7L7fCHVBEEnc3asPpiAL33kO495UMcD5+arew9IbKW2rV5lpzhoWcm/qhGB89YfO4PmB/0hQwPRg== + dependencies: + workbox-core "^4.3.1" + +workbox-broadcast-update@^4.3.1: + version "4.3.1" + resolved "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-4.3.1.tgz" + integrity sha512-MTSfgzIljpKLTBPROo4IpKjESD86pPFlZwlvVG32Kb70hW+aob4Jxpblud8EhNb1/L5m43DUM4q7C+W6eQMMbA== + dependencies: + workbox-core "^4.3.1" + +workbox-build@^4.3.1: + version "4.3.1" + resolved "https://registry.npmjs.org/workbox-build/-/workbox-build-4.3.1.tgz" + integrity sha512-UHdwrN3FrDvicM3AqJS/J07X0KXj67R8Cg0waq1MKEOqzo89ap6zh6LmaLnRAjpB+bDIz+7OlPye9iii9KBnxw== + dependencies: + "@babel/runtime" "^7.3.4" + "@hapi/joi" "^15.0.0" + common-tags "^1.8.0" + fs-extra "^4.0.2" + glob "^7.1.3" + lodash.template "^4.4.0" + pretty-bytes "^5.1.0" + stringify-object "^3.3.0" + strip-comments "^1.0.2" + workbox-background-sync "^4.3.1" + workbox-broadcast-update "^4.3.1" + workbox-cacheable-response "^4.3.1" + workbox-core "^4.3.1" + workbox-expiration "^4.3.1" + workbox-google-analytics "^4.3.1" + workbox-navigation-preload "^4.3.1" + workbox-precaching "^4.3.1" + workbox-range-requests "^4.3.1" + workbox-routing "^4.3.1" + workbox-strategies "^4.3.1" + workbox-streams "^4.3.1" + workbox-sw "^4.3.1" + workbox-window "^4.3.1" + +workbox-cacheable-response@^4.3.1: + version "4.3.1" + resolved "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-4.3.1.tgz" + integrity sha512-Rp5qlzm6z8IOvnQNkCdO9qrDgDpoPNguovs0H8C+wswLuPgSzSp9p2afb5maUt9R1uTIwOXrVQMmPfPypv+npw== + dependencies: + workbox-core "^4.3.1" + +workbox-core@^4.3.1: + version "4.3.1" + resolved "https://registry.npmjs.org/workbox-core/-/workbox-core-4.3.1.tgz" + integrity sha512-I3C9jlLmMKPxAC1t0ExCq+QoAMd0vAAHULEgRZ7kieCdUd919n53WC0AfvokHNwqRhGn+tIIj7vcb5duCjs2Kg== + +workbox-expiration@^4.3.1: + version "4.3.1" + resolved "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-4.3.1.tgz" + integrity sha512-vsJLhgQsQouv9m0rpbXubT5jw0jMQdjpkum0uT+d9tTwhXcEZks7qLfQ9dGSaufTD2eimxbUOJfWLbNQpIDMPw== + dependencies: + workbox-core "^4.3.1" + +workbox-google-analytics@^4.3.1: + version "4.3.1" + resolved "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-4.3.1.tgz" + integrity sha512-xzCjAoKuOb55CBSwQrbyWBKqp35yg1vw9ohIlU2wTy06ZrYfJ8rKochb1MSGlnoBfXGWss3UPzxR5QL5guIFdg== + dependencies: + workbox-background-sync "^4.3.1" + workbox-core "^4.3.1" + workbox-routing "^4.3.1" + workbox-strategies "^4.3.1" + +workbox-navigation-preload@^4.3.1: + version "4.3.1" + resolved "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-4.3.1.tgz" + integrity sha512-K076n3oFHYp16/C+F8CwrRqD25GitA6Rkd6+qAmLmMv1QHPI2jfDwYqrytOfKfYq42bYtW8Pr21ejZX7GvALOw== + dependencies: + workbox-core "^4.3.1" + +workbox-precaching@^4.3.1: + version "4.3.1" + resolved "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-4.3.1.tgz" + integrity sha512-piSg/2csPoIi/vPpp48t1q5JLYjMkmg5gsXBQkh/QYapCdVwwmKlU9mHdmy52KsDGIjVaqEUMFvEzn2LRaigqQ== + dependencies: + workbox-core "^4.3.1" + +workbox-range-requests@^4.3.1: + version "4.3.1" + resolved "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-4.3.1.tgz" + integrity sha512-S+HhL9+iTFypJZ/yQSl/x2Bf5pWnbXdd3j57xnb0V60FW1LVn9LRZkPtneODklzYuFZv7qK6riZ5BNyc0R0jZA== + dependencies: + workbox-core "^4.3.1" + +workbox-routing@^4.3.1: + version "4.3.1" + resolved "https://registry.npmjs.org/workbox-routing/-/workbox-routing-4.3.1.tgz" + integrity sha512-FkbtrODA4Imsi0p7TW9u9MXuQ5P4pVs1sWHK4dJMMChVROsbEltuE79fBoIk/BCztvOJ7yUpErMKa4z3uQLX+g== + dependencies: + workbox-core "^4.3.1" + +workbox-strategies@^4.3.1: + version "4.3.1" + resolved "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-4.3.1.tgz" + integrity sha512-F/+E57BmVG8dX6dCCopBlkDvvhg/zj6VDs0PigYwSN23L8hseSRwljrceU2WzTvk/+BSYICsWmRq5qHS2UYzhw== + dependencies: + workbox-core "^4.3.1" + +workbox-streams@^4.3.1: + version "4.3.1" + resolved "https://registry.npmjs.org/workbox-streams/-/workbox-streams-4.3.1.tgz" + integrity sha512-4Kisis1f/y0ihf4l3u/+ndMkJkIT4/6UOacU3A4BwZSAC9pQ9vSvJpIi/WFGQRH/uPXvuVjF5c2RfIPQFSS2uA== + dependencies: + workbox-core "^4.3.1" + +workbox-sw@^4.3.1: + version "4.3.1" + resolved "https://registry.npmjs.org/workbox-sw/-/workbox-sw-4.3.1.tgz" + integrity sha512-0jXdusCL2uC5gM3yYFT6QMBzKfBr2XTk0g5TPAV4y8IZDyVNDyj1a8uSXy3/XrvkVTmQvLN4O5k3JawGReXr9w== + +workbox-window@^4.3.1: + version "4.3.1" + resolved "https://registry.npmjs.org/workbox-window/-/workbox-window-4.3.1.tgz" + integrity sha512-C5gWKh6I58w3GeSc0wp2Ne+rqVw8qwcmZnQGpjiek8A2wpbxSJb1FdCoQVO+jDJs35bFgo/WETgl1fqgsxN0Hg== + dependencies: + workbox-core "^4.3.1" + +worker-farm@^1.7.0: + version "1.7.0" + resolved "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz" + integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== + dependencies: + errno "~0.1.7" + +wrap-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz" + integrity sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ== + dependencies: + string-width "^2.1.1" + strip-ansi "^4.0.0" + +wrap-ansi@^5.1.0: + 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== + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +ws@^6.2.1: + version "6.2.2" + resolved "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz" + integrity sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw== + dependencies: + async-limiter "~1.0.0" + +xdg-basedir@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz" + integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== + +xml@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz" + integrity sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw== + +xmlbuilder@^13.0.0: + version "13.0.2" + resolved "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-13.0.2.tgz" + integrity sha512-Eux0i2QdDYKbdbA6AM6xE4m6ZTZr4G4xF9kahI2ukSEMCzwce2eX9WlTI5J3s+NU7hpasFsr8hWIONae7LluAQ== + +xtend@^4.0.0, xtend@~4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz" + integrity sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yargs-parser@^13.1.2: + version "13.1.2" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz" + integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs@^13.3.2: + version "13.3.2" + resolved "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz" + integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== + 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" + +yauzl@^2.10.0: + version "2.10.0" + resolved "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz" + integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.1.0" + +zepto@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/zepto/-/zepto-1.2.0.tgz" + integrity sha512-C1x6lfvBICFTQIMgbt3JqMOno3VOtkWat/xEakLTOurskYIHPmzJrzd1e8BnmtdDVJlGuk5D+FxyCA8MPmkIyA==