From 6e9dedfc702ea500b3bd745d44ed7513a13deff6 Mon Sep 17 00:00:00 2001 From: Varakh Date: Thu, 24 Oct 2024 22:52:41 +0200 Subject: [PATCH] feat(embedded_ui): fully integrate UI into GoLang binary --- .forgejo/workflows/release.yaml | 4 +- CHANGELOG.md | 7 +- Dockerfile | 1 + LICENSE.txt | 694 +- Makefile | 84 +- README.md | 18 +- _doc/Concepts.md | 63 + _doc/Configuration.md | 74 + _doc/Deployment.md | 228 + _doc/Home.md | 47 + _doc/Monitoring.md | 2242 ++ _doc/Usage.md | 174 + _doc/api.yaml | 2 +- _doc/img/actions.png | Bin 0 -> 48441 bytes _doc/img/actions_history.png | Bin 0 -> 52987 bytes _doc/img/events.png | Bin 0 -> 74329 bytes _doc/img/login.png | Bin 0 -> 12308 bytes _doc/img/secrets.png | Bin 0 -> 40674 bytes _doc/img/updates.png | Bin 0 -> 74502 bytes _doc/img/updates_detail.png | Bin 0 -> 99762 bytes _doc/img/webhooks.png | Bin 0 -> 51205 bytes commons/constants.go | 2 +- go.mod | 1 + go.sum | 73 +- renovate.json5 | 54 +- server/api_middleware.go | 7 - server/app.go | 30 +- server/app_embedded_ui_dev.go | 9 + server/app_embedded_ui_prod.go | 9 + server/constants_env.go | 6 + server/environment.go | 18 + server/web/.env | 2 + server/web/.env.development | 2 + server/web/.gitattributes | 1 + server/web/.gitignore | 32 + server/web/.npmrc | 2 + server/web/.nvmrc | 2 + server/web/.prettierignore | 7 + server/web/.prettierrc | 9 + server/web/.stylelintrc | 41 + server/web/README.md | 75 + server/web/ci/.gitkeep | 0 server/web/eslint.config.js | 132 + server/web/index.html | 18 + server/web/package-lock.json | 28419 ++++++++++++++++ server/web/package.json | 116 + server/web/public/Favicon16x16.png | Bin 0 -> 816 bytes server/web/public/Favicon32x32.png | Bin 0 -> 2186 bytes server/web/public/conf/runtime-config.js | 7 + server/web/public/favicon.ico | Bin 0 -> 15406 bytes server/web/public/manifest.json | 8 + server/web/public/robots.txt | 3 + server/web/src/App.tsx | 15 + server/web/src/__mocks__/config.mock.ts | 8 + .../web/src/__mocks__/react-i18next.mock.ts | 4 + server/web/src/api/actionInvocationsApi.ts | 67 + server/web/src/api/actionsApi.ts | 197 + server/web/src/api/eventsApi.ts | 60 + server/web/src/api/healthApi.ts | 16 + server/web/src/api/index.ts | 40 + server/web/src/api/infoApi.ts | 16 + server/web/src/api/loginApi.ts | 20 + server/web/src/api/secretsApi.ts | 54 + server/web/src/api/updatesApi.ts | 84 + server/web/src/api/webhooksApi.ts | 92 + .../api/actionFilterQueryParamNames.ts | 8 + .../actionInvocationFilterQueryParamNames.ts | 8 + .../constants/api/actionInvocationOrder.ts | 6 + .../constants/api/actionInvocationOrderBy.ts | 9 + server/web/src/constants/api/actionOrder.ts | 6 + server/web/src/constants/api/actionOrderBy.ts | 9 + .../api/eventFilterQueryParamNames.ts | 8 + server/web/src/constants/api/eventOrder.ts | 6 + server/web/src/constants/api/eventOrderBy.ts | 8 + .../api/updateFilterQueryParamNames.ts | 11 + server/web/src/constants/api/updateOrder.ts | 6 + server/web/src/constants/api/updateOrderBy.ts | 10 + .../web/src/constants/api/updateSearchIn.ts | 7 + .../api/webhookFilterQueryParamNames.ts | 8 + server/web/src/constants/api/webhookOrder.ts | 6 + .../web/src/constants/api/webhookOrderBy.ts | 9 + server/web/src/constants/apiErrorCodes.ts | 7 + server/web/src/constants/apiTags.ts | 11 + server/web/src/constants/appPathParamNames.ts | 5 + server/web/src/constants/appPaths.ts | 12 + server/web/src/constants/httpStatusCode.ts | 7 + server/web/src/constants/localStorageKeys.ts | 1 + server/web/src/constants/pagination.ts | 5 + server/web/src/getConfiguration.ts | 29 + server/web/src/i18n/index.ts | 34 + server/web/src/i18n/translations/en.json | 464 + server/web/src/index.tsx | 22 + server/web/src/layout/AppFooter.tsx | 17 + server/web/src/layout/AppLayout.tsx | 23 + server/web/src/layout/HealthHandler.tsx | 64 + server/web/src/layout/Menu.tsx | 17 + server/web/src/layout/PrimaryMenu.tsx | 107 + .../layout/style/HealthHandler.module.less | 3 + .../src/layout/style/PrimaryMenu.module.less | 3 + .../layout/style/SessionHandler.module.less | 3 + .../ActionInvocationsPage.tsx | 253 + .../DeleteActionInvocation.tsx | 48 + .../ItemActionInvocation.tsx | 119 + .../actions/ActionFormPayloadShoutrrr.tsx | 85 + .../pages/actions/ActionFormPayloadSwitch.tsx | 14 + .../web/src/pages/actions/ActionFormType.tsx | 28 + .../src/pages/actions/ActionSelectEvent.tsx | 40 + .../web/src/pages/actions/ActionTextType.tsx | 18 + server/web/src/pages/actions/ActionsPage.tsx | 214 + server/web/src/pages/actions/CreateAction.tsx | 141 + server/web/src/pages/actions/DeleteAction.tsx | 48 + server/web/src/pages/actions/ItemAction.tsx | 45 + server/web/src/pages/actions/TestAction.tsx | 74 + .../src/pages/actions/UpdateEnabledAction.tsx | 50 + .../src/pages/actions/UpdateLabelAction.tsx | 52 + .../actions/UpdateMatchApplicationAction.tsx | 54 + .../pages/actions/UpdateMatchEventAction.tsx | 46 + .../pages/actions/UpdateMatchHostAction.tsx | 54 + .../actions/UpdateMatchProviderAction.tsx | 54 + .../src/pages/actions/UpdatePayloadAction.tsx | 83 + server/web/src/pages/common/AppBreadcrumb.tsx | 37 + server/web/src/pages/common/Dashes.tsx | 5 + .../pages/common/InlineInputValueEditor.tsx | 105 + .../web/src/pages/common/apiNotification.tsx | 51 + .../src/pages/error-pages/ErrorPage404.tsx | 24 + server/web/src/pages/events/Event.tsx | 67 + server/web/src/pages/events/EventText.tsx | 20 + server/web/src/pages/events/EventsPage.tsx | 139 + server/web/src/pages/home/Home.tsx | 9 + server/web/src/pages/login/Login.tsx | 95 + server/web/src/pages/secrets/CreateSecret.tsx | 107 + server/web/src/pages/secrets/DeleteSecret.tsx | 46 + server/web/src/pages/secrets/SecretsPage.tsx | 124 + .../src/pages/secrets/UpdateValueSecret.tsx | 55 + server/web/src/pages/updates/Update.tsx | 266 + .../web/src/pages/updates/UpdateMetadata.tsx | 33 + .../src/pages/updates/UpdatePageFilter.tsx | 238 + .../src/pages/updates/UpdateSinglePage.tsx | 100 + .../web/src/pages/updates/UpdateStateTag.tsx | 16 + server/web/src/pages/updates/UpdatesPage.tsx | 155 + .../web/src/pages/webhooks/CreateWebhook.tsx | 111 + server/web/src/pages/webhooks/Webhook.tsx | 216 + .../src/pages/webhooks/WebhookPageFilter.tsx | 86 + .../web/src/pages/webhooks/WebhooksPage.tsx | 151 + server/web/src/router/AppRouter.tsx | 86 + server/web/src/router/RequireAuth.tsx | 15 + server/web/src/selectors/authSelectors.ts | 7 + server/web/src/setupTests.ts | 0 server/web/src/slices/authSlice.ts | 24 + server/web/src/store/index.ts | 53 + server/web/src/style/app-theme.less | 10 + server/web/src/types/actionInvocations.ts | 39 + server/web/src/types/actions.ts | 101 + server/web/src/types/common.ts | 17 + server/web/src/types/event.ts | 36 + server/web/src/types/health.ts | 5 + server/web/src/types/index.ts | 9 + server/web/src/types/info.ts | 7 + server/web/src/types/login.ts | 4 + server/web/src/types/secret.ts | 26 + server/web/src/types/update.ts | 48 + server/web/src/types/webhook.ts | 49 + .../useActionInvocationsFilterQueryParams.ts | 25 + .../src/use/useActionsFilterQueryParams.ts | 25 + server/web/src/use/useAuthorization.ts | 28 + .../web/src/use/useEventsFilterQueryParams.ts | 25 + server/web/src/use/useLargestScreenSize.ts | 36 + server/web/src/use/useLocalStorage.ts | 38 + server/web/src/use/useResponsiveGridSize.ts | 56 + .../src/use/useUpdatesFilterQueryParams.ts | 43 + .../src/use/useWebhooksFilterQueryParams.ts | 25 + server/web/src/utils/apiHelper.ts | 37 + server/web/src/utils/datetimeHelper.ts | 6 + server/web/src/utils/downloadFile.ts | 7 + server/web/src/utils/envHelper.ts | 1 + server/web/src/utils/sortHelper.ts | 33 + server/web/src/utils/updateHelper.ts | 22 + server/web/src/utils/urlHelper.ts | 7 + server/web/tsconfig.json | 31 + server/web/vite-env.d.ts | 1 + server/web/vite.config.ts | 43 + server/web_dev/index.html | 11 + 182 files changed, 39005 insertions(+), 162 deletions(-) create mode 100644 _doc/Concepts.md create mode 100644 _doc/Configuration.md create mode 100644 _doc/Deployment.md create mode 100644 _doc/Home.md create mode 100644 _doc/Monitoring.md create mode 100644 _doc/Usage.md create mode 100644 _doc/img/actions.png create mode 100644 _doc/img/actions_history.png create mode 100644 _doc/img/events.png create mode 100644 _doc/img/login.png create mode 100644 _doc/img/secrets.png create mode 100644 _doc/img/updates.png create mode 100644 _doc/img/updates_detail.png create mode 100644 _doc/img/webhooks.png create mode 100644 server/app_embedded_ui_dev.go create mode 100644 server/app_embedded_ui_prod.go create mode 100644 server/web/.env create mode 100644 server/web/.env.development create mode 100644 server/web/.gitattributes create mode 100644 server/web/.gitignore create mode 100644 server/web/.npmrc create mode 100644 server/web/.nvmrc create mode 100644 server/web/.prettierignore create mode 100644 server/web/.prettierrc create mode 100644 server/web/.stylelintrc create mode 100644 server/web/README.md create mode 100644 server/web/ci/.gitkeep create mode 100644 server/web/eslint.config.js create mode 100644 server/web/index.html create mode 100644 server/web/package-lock.json create mode 100644 server/web/package.json create mode 100644 server/web/public/Favicon16x16.png create mode 100644 server/web/public/Favicon32x32.png create mode 100644 server/web/public/conf/runtime-config.js create mode 100644 server/web/public/favicon.ico create mode 100644 server/web/public/manifest.json create mode 100644 server/web/public/robots.txt create mode 100644 server/web/src/App.tsx create mode 100644 server/web/src/__mocks__/config.mock.ts create mode 100644 server/web/src/__mocks__/react-i18next.mock.ts create mode 100644 server/web/src/api/actionInvocationsApi.ts create mode 100644 server/web/src/api/actionsApi.ts create mode 100644 server/web/src/api/eventsApi.ts create mode 100644 server/web/src/api/healthApi.ts create mode 100644 server/web/src/api/index.ts create mode 100644 server/web/src/api/infoApi.ts create mode 100644 server/web/src/api/loginApi.ts create mode 100644 server/web/src/api/secretsApi.ts create mode 100644 server/web/src/api/updatesApi.ts create mode 100644 server/web/src/api/webhooksApi.ts create mode 100644 server/web/src/constants/api/actionFilterQueryParamNames.ts create mode 100644 server/web/src/constants/api/actionInvocationFilterQueryParamNames.ts create mode 100644 server/web/src/constants/api/actionInvocationOrder.ts create mode 100644 server/web/src/constants/api/actionInvocationOrderBy.ts create mode 100644 server/web/src/constants/api/actionOrder.ts create mode 100644 server/web/src/constants/api/actionOrderBy.ts create mode 100644 server/web/src/constants/api/eventFilterQueryParamNames.ts create mode 100644 server/web/src/constants/api/eventOrder.ts create mode 100644 server/web/src/constants/api/eventOrderBy.ts create mode 100644 server/web/src/constants/api/updateFilterQueryParamNames.ts create mode 100644 server/web/src/constants/api/updateOrder.ts create mode 100644 server/web/src/constants/api/updateOrderBy.ts create mode 100644 server/web/src/constants/api/updateSearchIn.ts create mode 100644 server/web/src/constants/api/webhookFilterQueryParamNames.ts create mode 100644 server/web/src/constants/api/webhookOrder.ts create mode 100644 server/web/src/constants/api/webhookOrderBy.ts create mode 100644 server/web/src/constants/apiErrorCodes.ts create mode 100644 server/web/src/constants/apiTags.ts create mode 100644 server/web/src/constants/appPathParamNames.ts create mode 100644 server/web/src/constants/appPaths.ts create mode 100644 server/web/src/constants/httpStatusCode.ts create mode 100644 server/web/src/constants/localStorageKeys.ts create mode 100644 server/web/src/constants/pagination.ts create mode 100644 server/web/src/getConfiguration.ts create mode 100644 server/web/src/i18n/index.ts create mode 100644 server/web/src/i18n/translations/en.json create mode 100644 server/web/src/index.tsx create mode 100644 server/web/src/layout/AppFooter.tsx create mode 100644 server/web/src/layout/AppLayout.tsx create mode 100644 server/web/src/layout/HealthHandler.tsx create mode 100644 server/web/src/layout/Menu.tsx create mode 100644 server/web/src/layout/PrimaryMenu.tsx create mode 100644 server/web/src/layout/style/HealthHandler.module.less create mode 100644 server/web/src/layout/style/PrimaryMenu.module.less create mode 100644 server/web/src/layout/style/SessionHandler.module.less create mode 100644 server/web/src/pages/action-invocations/ActionInvocationsPage.tsx create mode 100644 server/web/src/pages/action-invocations/DeleteActionInvocation.tsx create mode 100644 server/web/src/pages/action-invocations/ItemActionInvocation.tsx create mode 100644 server/web/src/pages/actions/ActionFormPayloadShoutrrr.tsx create mode 100644 server/web/src/pages/actions/ActionFormPayloadSwitch.tsx create mode 100644 server/web/src/pages/actions/ActionFormType.tsx create mode 100644 server/web/src/pages/actions/ActionSelectEvent.tsx create mode 100644 server/web/src/pages/actions/ActionTextType.tsx create mode 100644 server/web/src/pages/actions/ActionsPage.tsx create mode 100644 server/web/src/pages/actions/CreateAction.tsx create mode 100644 server/web/src/pages/actions/DeleteAction.tsx create mode 100644 server/web/src/pages/actions/ItemAction.tsx create mode 100644 server/web/src/pages/actions/TestAction.tsx create mode 100644 server/web/src/pages/actions/UpdateEnabledAction.tsx create mode 100644 server/web/src/pages/actions/UpdateLabelAction.tsx create mode 100644 server/web/src/pages/actions/UpdateMatchApplicationAction.tsx create mode 100644 server/web/src/pages/actions/UpdateMatchEventAction.tsx create mode 100644 server/web/src/pages/actions/UpdateMatchHostAction.tsx create mode 100644 server/web/src/pages/actions/UpdateMatchProviderAction.tsx create mode 100644 server/web/src/pages/actions/UpdatePayloadAction.tsx create mode 100644 server/web/src/pages/common/AppBreadcrumb.tsx create mode 100644 server/web/src/pages/common/Dashes.tsx create mode 100644 server/web/src/pages/common/InlineInputValueEditor.tsx create mode 100644 server/web/src/pages/common/apiNotification.tsx create mode 100644 server/web/src/pages/error-pages/ErrorPage404.tsx create mode 100644 server/web/src/pages/events/Event.tsx create mode 100644 server/web/src/pages/events/EventText.tsx create mode 100644 server/web/src/pages/events/EventsPage.tsx create mode 100644 server/web/src/pages/home/Home.tsx create mode 100644 server/web/src/pages/login/Login.tsx create mode 100644 server/web/src/pages/secrets/CreateSecret.tsx create mode 100644 server/web/src/pages/secrets/DeleteSecret.tsx create mode 100644 server/web/src/pages/secrets/SecretsPage.tsx create mode 100644 server/web/src/pages/secrets/UpdateValueSecret.tsx create mode 100644 server/web/src/pages/updates/Update.tsx create mode 100644 server/web/src/pages/updates/UpdateMetadata.tsx create mode 100644 server/web/src/pages/updates/UpdatePageFilter.tsx create mode 100644 server/web/src/pages/updates/UpdateSinglePage.tsx create mode 100644 server/web/src/pages/updates/UpdateStateTag.tsx create mode 100644 server/web/src/pages/updates/UpdatesPage.tsx create mode 100644 server/web/src/pages/webhooks/CreateWebhook.tsx create mode 100644 server/web/src/pages/webhooks/Webhook.tsx create mode 100644 server/web/src/pages/webhooks/WebhookPageFilter.tsx create mode 100644 server/web/src/pages/webhooks/WebhooksPage.tsx create mode 100644 server/web/src/router/AppRouter.tsx create mode 100644 server/web/src/router/RequireAuth.tsx create mode 100644 server/web/src/selectors/authSelectors.ts create mode 100644 server/web/src/setupTests.ts create mode 100644 server/web/src/slices/authSlice.ts create mode 100644 server/web/src/store/index.ts create mode 100644 server/web/src/style/app-theme.less create mode 100644 server/web/src/types/actionInvocations.ts create mode 100644 server/web/src/types/actions.ts create mode 100644 server/web/src/types/common.ts create mode 100644 server/web/src/types/event.ts create mode 100644 server/web/src/types/health.ts create mode 100644 server/web/src/types/index.ts create mode 100644 server/web/src/types/info.ts create mode 100644 server/web/src/types/login.ts create mode 100644 server/web/src/types/secret.ts create mode 100644 server/web/src/types/update.ts create mode 100644 server/web/src/types/webhook.ts create mode 100644 server/web/src/use/useActionInvocationsFilterQueryParams.ts create mode 100644 server/web/src/use/useActionsFilterQueryParams.ts create mode 100644 server/web/src/use/useAuthorization.ts create mode 100644 server/web/src/use/useEventsFilterQueryParams.ts create mode 100644 server/web/src/use/useLargestScreenSize.ts create mode 100644 server/web/src/use/useLocalStorage.ts create mode 100644 server/web/src/use/useResponsiveGridSize.ts create mode 100644 server/web/src/use/useUpdatesFilterQueryParams.ts create mode 100644 server/web/src/use/useWebhooksFilterQueryParams.ts create mode 100644 server/web/src/utils/apiHelper.ts create mode 100644 server/web/src/utils/datetimeHelper.ts create mode 100644 server/web/src/utils/downloadFile.ts create mode 100644 server/web/src/utils/envHelper.ts create mode 100644 server/web/src/utils/sortHelper.ts create mode 100644 server/web/src/utils/updateHelper.ts create mode 100644 server/web/src/utils/urlHelper.ts create mode 100644 server/web/tsconfig.json create mode 100644 server/web/vite-env.d.ts create mode 100644 server/web/vite.config.ts create mode 100644 server/web_dev/index.html diff --git a/.forgejo/workflows/release.yaml b/.forgejo/workflows/release.yaml index f140784..08c9c49 100644 --- a/.forgejo/workflows/release.yaml +++ b/.forgejo/workflows/release.yaml @@ -3,9 +3,9 @@ on: tags: - '*' env: - VERSION_MAJOR: 3 + VERSION_MAJOR: 4 VERSION_MINOR: 0 - VERSION_PATCH: 3 + VERSION_PATCH: 0 IMAGE_TAG: varakh/upda IMAGE_TAG_PRIVATE: git.myservermanager.com/varakh/upda FORGEJO_URL: https://git.myservermanager.com diff --git a/CHANGELOG.md b/CHANGELOG.md index 8993f3e..3cc0f53 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,9 +2,12 @@ Changes adhere to [semantic versioning](https://semver.org). -## [3.0.3] - UNRELEASED +## [4.0.0] - UNRELEASED -* ... +> This is a major version upgrade. Other versions are incompatible with this release. + +* Embed frontend into Go binary and only ship _one_ OCI image +* Switch license to GPLv3 ## [3.0.2] - 2024/06/15 diff --git a/Dockerfile b/Dockerfile index f9f4175..151bfe8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,6 +6,7 @@ LABEL maintainer="Varakh " RUN apk --update upgrade && \ apk add go gcc make sqlite && \ + apk add nodejs npm && \ # See https://stackoverflow.com/questions/34729748/installed-go-binary-not-found-in-path-on-alpine-linux-docker mkdir /lib64 && ln -s /lib/libc.musl-x86_64.so.1 /lib64/ld-linux-x86-64.so.2 && \ rm -rf /var/cache/apk/* diff --git a/LICENSE.txt b/LICENSE.txt index 0728e37..e62ec04 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,64 +1,674 @@ -License text copyright © 2023 MariaDB plc, All Rights Reserved. "Business Source License" is a trademark of MariaDB plc. +GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 ---- + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. -Licensor: + Preamble -Varakh < varakh [at] varakh [dot] de> + The GNU General Public License is a free, copyleft license for +software and other kinds of works. -Licenses Work: + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. -upda (backend, frontend, cli) and all of its related works. + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. -Additional Use Grant: + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. -- Personal, educational and/or non-profit use which does not generate revenue (which includes reducing costs through use of Licenses Work). -- Non-profit organizations do not require a commercial license. + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. -Change Date: + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. -- Change date is four years from release date for version 2.0.0 + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. -Change License: + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. -Version 2 or later of the GNU General Public License as published by the Free Software Foundation. + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. ---- + The precise terms and conditions for copying, distribution and +modification follow. -Terms + TERMS AND CONDITIONS -The Licensor hereby grants you the right to copy, modify, create derivative works, redistribute, and make non-production -use of the Licensed Work. The Licensor may make an Additional Use Grant, above, permitting limited production use. + 0. Definitions. -Effective on the Change Date, or the fourth anniversary of the first publicly available distribution of a specific -version of the Licensed Work under this License, whichever comes first, the Licensor hereby grants you rights under the -terms of the Change License, and the rights granted in the paragraph above terminate. + "This License" refers to version 3 of the GNU General Public License. -If your use of the Licensed Work does not comply with the requirements currently in effect as described in this License, -you must purchase a commercial license from the Licensor, its affiliated entities, or authorized resellers, or you must -refrain from using the Licensed Work. + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. -All copies of the original and modified Licensed Work, and derivative works of the Licensed Work, are subject to this -License. This License applies separately for each version of the Licensed Work and the Change Date may vary for each -version of the Licensed Work released by Licensor. + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. -You must conspicuously display this License on each original or modified copy of the Licensed Work. If you receive the -Licensed Work in original or modified form from a third party, the terms and conditions set forth in this License apply -to your use of that work. + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. -Any use of the Licensed Work in violation of this License will automatically terminate your rights under this License -for the current and all other versions of the Licensed Work. + A "covered work" means either the unmodified Program or a work based +on the Program. -This License does not grant you any right in any trademark or logo of Licensor or its affiliates (provided that you may -use a trademark or logo of Licensor as expressly required by this License).TO THE EXTENT PERMITTED BY APPLICABLE LAW, -THE LICENSED WORK IS PROVIDED ON AN "AS IS" BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS OR -IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, -NON-INFRINGEMENT, AND TITLE. -MariaDB hereby grants you permission to use this License's text to license your works, and -to refer to it using the trademark "Business Source License", as long as you comply with the Covenants of Licensor -below. + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. -Notice + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. -The Business Source License (this document, or the "License") is not an Open Source license. However, the Licensed Work -will eventually be made available under an Open Source License, as stated in this License. + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/Makefile b/Makefile index bb8649f..afcf6f0 100644 --- a/Makefile +++ b/Makefile @@ -1,61 +1,87 @@ BIN_DIR = $(shell pwd)/bin +WEB_DIR = $(shell pwd)/server/web +WEB_BUILD_DIR = $(shell pwd)/server/web/build +WEB_NODE_DIR = $(shell pwd)/server/web/node_modules +WEB_COVERAGE_DIR = $(shell pwd)/server/web/coverage -clean: +# cleanup steps +clean: clean-server clean-web +clean-server: rm -rf ${BIN_DIR} +clean-web: + rm -rf ${WEB_BUILD_DIR} ${WEB_NODE_DIR} ${WEB_COVERAGE_DIR} -dependencies: +# dependencies steps +dependencies: dependencies-web dependencies-server +dependencies-server: GO111MODULE=on go mod download +dependencies-web: + cd ${WEB_DIR}; npm install -ci: clean dependencies checkstyle-ci test-ci build-server-ci build-cli-ci +# checkstyle steps +checkstyle: checkstyle-web checkstyle-server +checkstyle-server: + go vet ./... +checkstyle-web: + cd ${WEB_DIR}; npm run checkstyle -build-server-ci: build-server-linux-amd64 +# test steps +test: test-web test-server +test-server: + go test -race ./... +test-web: + cd ${WEB_DIR}; npm run test:ci + +# build steps # server requires CGO_ENABLED=1 for go-sqlite build-server-freebsd-amd64: - CGO_ENABLED=1 GO111MODULE=on GOOS=freebsd GOARCH=amd64 go build -o ${BIN_DIR}/upda-server-freebsd-amd64 cmd/server/main.go + CGO_ENABLED=1 GO111MODULE=on GOOS=freebsd GOARCH=amd64 go build -tags prod -o ${BIN_DIR}/upda-server-freebsd-amd64 cmd/server/main.go build-server-freebsd-arm64: - CGO_ENABLED=1 GO111MODULE=on GOOS=freebsd GOARCH=arm64 go build -o ${BIN_DIR}/upda-server-freebsd-arm64 cmd/server/main.go + CGO_ENABLED=1 GO111MODULE=on GOOS=freebsd GOARCH=arm64 go build -tags prod -o ${BIN_DIR}/upda-server-freebsd-arm64 cmd/server/main.go build-server-darwin-amd64: - CGO_ENABLED=1 GO111MODULE=on GOOS=darwin GOARCH=amd64 go build -o ${BIN_DIR}/upda-server-darwin-amd64 cmd/server/main.go + CGO_ENABLED=1 GO111MODULE=on GOOS=darwin GOARCH=amd64 go build -tags prod -o ${BIN_DIR}/upda-server-darwin-amd64 cmd/server/main.go build-server-darwin-arm64: - CGO_ENABLED=1 GO111MODULE=on GOOS=darwin GOARCH=arm64 go build -o ${BIN_DIR}/upda-server-darwin-arm64 cmd/server/main.go + CGO_ENABLED=1 GO111MODULE=on GOOS=darwin GOARCH=arm64 go build -tags prod -o ${BIN_DIR}/upda-server-darwin-arm64 cmd/server/main.go build-server-linux-amd64: - CGO_ENABLED=1 GO111MODULE=on GOOS=linux GOARCH=amd64 go build -o ${BIN_DIR}/upda-server-linux-amd64 cmd/server/main.go + CGO_ENABLED=1 GO111MODULE=on GOOS=linux GOARCH=amd64 go build -tags prod -o ${BIN_DIR}/upda-server-linux-amd64 cmd/server/main.go build-server-linux-arm64: - CGO_ENABLED=1 GO111MODULE=on GOOS=linux GOARCH=arm64 go build -o ${BIN_DIR}/upda-server-linux-arm64 cmd/server/main.go + CGO_ENABLED=1 GO111MODULE=on GOOS=linux GOARCH=arm64 go build -tags prod -o ${BIN_DIR}/upda-server-linux-arm64 cmd/server/main.go build-server-windows-amd64: - CGO_ENABLED=1 GO111MODULE=on GOOS=windows GOARCH=amd64 go build -o ${BIN_DIR}/upda-server-windows-amd64 cmd/server/main.go + CGO_ENABLED=1 GO111MODULE=on GOOS=windows GOARCH=amd64 go build -tags prod -o ${BIN_DIR}/upda-server-windows-amd64 cmd/server/main.go build-server-windows-arm64: - CGO_ENABLED=1 GO111MODULE=on GOOS=windows GOARCH=arm64 go build -o ${BIN_DIR}/upda-server-windows-arm64 cmd/server/main.go + CGO_ENABLED=1 GO111MODULE=on GOOS=windows GOARCH=arm64 go build -tags prod -o ${BIN_DIR}/upda-server-windows-arm64 cmd/server/main.go # cli does not require CGO_ENABLED=1, cross-platform build possible -build-cli-ci: build-cli-linux-amd64 - build-cli-all: build-cli-freebsd-amd64 build-cli-freebsd-arm64 build-cli-darwin-amd64 build-cli-darwin-arm64 build-cli-linux-amd64 build-cli-linux-arm64 build-cli-windows-amd64 build-cli-windows-arm64 build-cli-freebsd-amd64: - CGO_ENABLED=0 GO111MODULE=on GOOS=freebsd GOARCH=amd64 go build -o ${BIN_DIR}/upda-cli-freebsd-amd64 cmd/cli/main.go + CGO_ENABLED=0 GO111MODULE=on GOOS=freebsd GOARCH=amd64 go build -tags prod -o ${BIN_DIR}/upda-cli-freebsd-amd64 cmd/cli/main.go build-cli-freebsd-arm64: - CGO_ENABLED=0 GO111MODULE=on GOOS=freebsd GOARCH=arm64 go build -o ${BIN_DIR}/upda-cli-freebsd-arm64 cmd/cli/main.go + CGO_ENABLED=0 GO111MODULE=on GOOS=freebsd GOARCH=arm64 go build -tags prod -o ${BIN_DIR}/upda-cli-freebsd-arm64 cmd/cli/main.go build-cli-darwin-amd64: - CGO_ENABLED=0 GO111MODULE=on GOOS=darwin GOARCH=amd64 go build -o ${BIN_DIR}/upda-cli-darwin-amd64 cmd/cli/main.go + CGO_ENABLED=0 GO111MODULE=on GOOS=darwin GOARCH=amd64 go build -tags prod -o ${BIN_DIR}/upda-cli-darwin-amd64 cmd/cli/main.go build-cli-darwin-arm64: - CGO_ENABLED=0 GO111MODULE=on GOOS=darwin GOARCH=arm64 go build -o ${BIN_DIR}/upda-cli-darwin-arm64 cmd/cli/main.go + CGO_ENABLED=0 GO111MODULE=on GOOS=darwin GOARCH=arm64 go build -tags prod -o ${BIN_DIR}/upda-cli-darwin-arm64 cmd/cli/main.go build-cli-linux-amd64: - CGO_ENABLED=0 GO111MODULE=on GOOS=linux GOARCH=amd64 go build -o ${BIN_DIR}/upda-cli-linux-amd64 cmd/cli/main.go + CGO_ENABLED=0 GO111MODULE=on GOOS=linux GOARCH=amd64 go build -tags prod -o ${BIN_DIR}/upda-cli-linux-amd64 cmd/cli/main.go build-cli-linux-arm64: - CGO_ENABLED=0 GO111MODULE=on GOOS=linux GOARCH=arm64 go build -o ${BIN_DIR}/upda-cli-linux-arm64 cmd/cli/main.go + CGO_ENABLED=0 GO111MODULE=on GOOS=linux GOARCH=arm64 go build -tags prod -o ${BIN_DIR}/upda-cli-linux-arm64 cmd/cli/main.go build-cli-windows-amd64: - CGO_ENABLED=0 GO111MODULE=on GOOS=windows GOARCH=amd64 go build -o ${BIN_DIR}/upda-cli-windows-amd64 cmd/cli/main.go + CGO_ENABLED=0 GO111MODULE=on GOOS=windows GOARCH=amd64 go build -tags prod -o ${BIN_DIR}/upda-cli-windows-amd64 cmd/cli/main.go build-cli-windows-arm64: - CGO_ENABLED=0 GO111MODULE=on GOOS=windows GOARCH=arm64 go build -o ${BIN_DIR}/upda-cli-windows-arm64 cmd/cli/main.go + CGO_ENABLED=0 GO111MODULE=on GOOS=windows GOARCH=arm64 go build -tags prod -o ${BIN_DIR}/upda-cli-windows-arm64 cmd/cli/main.go -checkstyle: - go vet ./... +# remove built build/conf directory to be served live from the running binary +build-web: + cd ${WEB_DIR}; npm run build; rm -rf build/conf +# ci +clean-ci: clean +dependencies-ci: dependencies checkstyle-ci: checkstyle - -test: - go test -race ./... - -test-ci: test \ No newline at end of file +test-ci: test +build-server-ci: build-server-linux-amd64 +build-cli-ci: build-cli-linux-amd64 +build-web-ci: build-web +ci: clean-ci dependencies-ci checkstyle-ci test-ci build-web-ci build-server-ci build-cli-ci diff --git a/README.md b/README.md index b2f4c00..d792d51 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # README -Backend for upda - **Up**date **Da**shboard in Go. +upda - **Up**date **Da**shboard in Go. The main git repository is hosted at _[https://git.myservermanager.com/varakh/upda](https://git.myservermanager.com/varakh/upda)_. @@ -8,10 +8,12 @@ Other repositories are mirrors and pull requests, issues, and planning are manag Contributions are very welcome! -[Official documentation](https://git.myservermanager.com/varakh/upda-docs) is hosted in a separate git repository. +See [official documentation](./_doc/Home.md). ## Development & contribution +There's also a [embedded frontend](#embedded-frontend). + * Pay attention to `make checkstyle` (uses `go vet ./...`); pipeline fails if issues are detected. * Each entity has its own repository * Each entity is only used in repository and service (otherwise, mapping happens) @@ -33,6 +35,18 @@ Contributions are very welcome! * Consider reading [Effective Go](https://go.dev/doc/effective_go) * Consider reading [100 Go Mistakes and How to Avoid Them](https://100go.co/) +## Embedded Frontend + +_upda_ includes a frontend in a monorepo fashion inside `server/web/`. For production (binary and OCI), it's +embedded into the GoLang binary itself. + +For _development_, no other steps are required. Simply follow the [frontend instructions](./server/web/README.md) and +start the frontend separately. + +If you like to have a look on the _production_ experience, the frontend needs to be build first and you need to build +the Golang binary with `-tags prod`. How to properly build the frontend, please look into `build-web` of +the `Makefile` (additional `rm -rf` cmd). + ### Getting started Ensure to set the following environment variables for proper debug logs during development diff --git a/_doc/Concepts.md b/_doc/Concepts.md new file mode 100644 index 0000000..1e2fe02 --- /dev/null +++ b/_doc/Concepts.md @@ -0,0 +1,63 @@ +# Concepts, a deeper dive + +The following section goes into a deeper look into upda's internals. + +1. Create a webhook in upda. +2. Use the webhook's URL in a 3rd party application to start tracking an update or use `upda-cli` to report an update. +3. Enjoy visualization and state management of tracked updates in one place. +4. Optionally, define _Actions_ for tracked updates as they arrive + +_upda_ retrieves new updates when webhooks of upda are invoked, e.g., [duin](https://crazymax.dev/diun/) invokes it or +any other application which can reach the instance. Tracked updates are unique for the +attributes `(application,provider,host)` which means that subsequent updates for an identical _application_, _provider_ +and _host_ simply updates the `version` and `metadata` attributes for that tracked _update_ (regardless if the version +or metadata payload _actually_ changed - reasoning behind this is to get reflected metadata updates independent if +version attribute has changed). + +State management of tracked updates: + +* On first creation, state is set to _pending_. +* When an _update_ is in _approved_ state, an invocation for it resets its state to _pending_. +* _Ignored_ updates are skipped entirely and no attribute is updated. + +##### The `application` attribute + +The _application_ attribute is an arbitrary identifier, name or label of a subject you like to track, +e.g., `docker.io/varakh/upda` for an OCI image. + +##### The `provider` attribute + +The _provider_ attribute is an arbitrary name or label. During webhook invocation the provider attribute is derived in +priority: + +For the _generic_ webhook: + +1. If the incoming payload contains a non-blank `provider` attribute, it's taken from the request. +2. If the incoming payload contains a blank or missing `provider` attribute, the issuing webhook's label is taken. + +For the _diun_ webhook: + +1. If the issuing webhook's label is blank, then `oci` is used. +2. In any other case, the webhook's label is used. + +Because the first priority is the issuing webhook's label, setting the _same_ label for all webhooks results in a +grouping. Also see the _ignore host_ setting for `host` below. + +_Remember that changing a webhook's label won't be reflected in already created/tracked updates!_ + +##### The `host` attribute + +_host_ should be set to the originating host name a webhook has been issued from. The _host_ +attribute can also be "ignored" (a setting in each webhook). If set to ignored, _upda_ sets _host_ to _global_, thus +update versions can be grouped independent of the originating host. If set for all webhooks, you'll end up with a host +independent update dashboard. + +##### The `version` attribute + +The _version_ attribute is an arbitrary name or label and subject to change across invocations of webhooks. This can be +a version number, a number of total updates, anything. + +##### The `metadata` attribute + +An update can hold any additional metadata information provided by request payload `metadata`. Metadata can be inspected +via web interface or API. \ No newline at end of file diff --git a/_doc/Configuration.md b/_doc/Configuration.md new file mode 100644 index 0000000..d51fbce --- /dev/null +++ b/_doc/Configuration.md @@ -0,0 +1,74 @@ +# Configuration + +The following table describe available configuration values. + +| Variable | Purpose | Default/Description | +|:------------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------| +| `SECRET` | A 32 character long secure random secret used for encrypting some data inside the database. When data has been created inside the database, the secret cannot be changed anymore, otherwise decryption fails. | Not set by default, you need to explicitly set it, e.g., generate via `openssl rand -hex 16` | +| `TZ` | The time zone (**recommended** to set it properly, background tasks depend on it) | Defaults to `Europe/Berlin`, can be any time zone according to _tz database_ | +| | | | +| `AUTH_MODE` | The auth mode. Possible values are `basic_single` and `basic_credentials` | Defaults to `basic_single` | +| `BASIC_AUTH_USER` | For auth mode `basic_single`: Username for login | Not set by default, you need to explicitly set it to user name | +| `BASIC_AUTH_PASSWORD` | For auth mode `basic_single`: User's password for login | Not set by default, you need to explicitly set it to a secure random | +| `BASIC_AUTH_CREDENTIALS` | For auth mode `basic_credentials`: list of comma separated credentials, e.g. `username1=password1,username2=password2` | Not set by default, you need to explicitly set it | +| | | | +| `DB_TYPE` | The database type (Postgres is **recommended**) | Defaults to `sqlite`, possible values are `sqlite` or `postgres` | +| `DB_SQLITE_FILE` | Path to the SQLITE file | Defaults to `/upda/upda.db`, e.g. `~/.local/share/upda/upda.db` | +| `DB_POSTGRES_HOST` | The postgres host | Postgres host address, defaults to `localhost` | +| `DB_POSTGRES_PORT` | The postgres port | Postgres port, defaults to `5432` | +| `DB_POSTGRES_NAME` | The postgres database name | Postgres database name, needs to be set | +| `DB_POSTGRES_TZ` | The postgres time zone | Postgres time zone settings, defaults to `Europe/Berlin` | +| `DB_POSTGRES_USER` | The postgres user | Postgres user name, needs to be set | +| `DB_POSTGRES_PASSWORD` | The postgres password | Postgres user password, needs to be set | +| | | | +| `SERVER_PORT` | Port | Defaults to `8080` | +| `SERVER_LISTEN` | Server's listen address | Defaults to empty which equals `0.0.0.0` | +| `SERVER_TLS_ENABLED` | If server uses TLS | Defaults `false` | +| `SERVER_TLS_CERT_PATH` | When TLS enabled, provide the certificate path | | +| `SERVER_TLS_KEY_PATH` | When TLS enabled, provide the key path | | +| `SERVER_TIMEOUT` | Timeout the server waits before shutting down to end any pending tasks | Defaults to `1s` (1 second), qualifier can be `s = second`, `m = minute`, `h = hour` prefixed with a positive number | +| `CORS_ALLOW_ORIGINS` | CORS configuration | Defaults to `*` | +| `CORS_ALLOW_METHODS` | CORS configuration | Defaults to `GET, POST, PUT, PATCH, DELETE, OPTIONS` | +| `CORS_ALLOW_HEADERS` | CORS configuration | Defaults to `Authorization, Content-Type` | +| `CORS_ALLOW_CREDENTIALS` | CORS configuration | Defaults to `true` | +| `CORS_EXPOSE_HEADERS` | CORS configuration | Defaults to `*` | +| | | | +| `LOGGING_LEVEL` | Logging level. Possible are `debug`, `info`, `warn`, `error`, `dpanic`, `panic`, `fatal`. Setting to `debug` enables high verbosity output. | Defaults to `info` | +| `LOGGING_ENCODING` | Logging encoding. Possible are `console` and `json` | Defaults to `json` | +| `LOGGING_DIRECTORY` | Logging directory. When set, logs will be added to a file called `upda.log` in addition to the standard output. Ensure that upda has access permissions. Use an external program for log rotation if desired. | | +| | | | +| `WEBHOOKS_TOKEN_LENGTH` | The length of the token | Defaults to `16`, positive number | +| | | | +| `TASK_UPDATE_CLEAN_STALE_ENABLED` | If background task should run to do housekeeping of stale (ignored/approved) updates from the database | Defaults to `false` | +| `TASK_UPDATE_CLEAN_STALE_INTERVAL` | Interval at which a background task does housekeeping by deleting stale (ignored/approved) updates from the database | Defaults to `1h` (1 hour), qualifier can be `s = second`, `m = minute`, `h = hour` prefixed with a positive number | +| `TASK_UPDATE_CLEAN_STALE_MAX_AGE` | Number defining at which age stale (ignored/approved) updates are deleted by the background task (_updatedAt_ attribute decides) | Defaults to `720h` (168 hours = 1 week), qualifier can be `s = second`, `m = minute`, `h = hour` prefixed with a positive number | +| | | | +| `TASK_EVENT_CLEAN_STALE_ENABLED` | If background task should run to do housekeeping of stale (old) events from the database | Defaults to `false` | +| `TASK_EVENT_CLEAN_STALE_INTERVAL` | Interval at which a background task does housekeeping by deleting stale (old) events from the database | Defaults to `8h` (8 hours), qualifier can be `s = second`, `m = minute`, `h = hour` prefixed with a positive number | +| `TASK_EVENT_CLEAN_STALE_MAX_AGE` | Number defining at which age stale (old) events are deleted by the background task (_updatedAt_ attribute decides) | Defaults to `2190h` (2190 hours = 3 months), qualifier can be `s = second`, `m = minute`, `h = hour` prefixed with a positive number | +| | | | +| `TASK_ACTIONS_ENQUEUE_ENABLED` | If background task should run to enqueue matching actions derived from events (actions are invocation separately after being enqueued) | Defaults to `true` | +| `TASK_ACTIONS_ENQUEUE_INTERVAL` | Interval at which a background task does check to enqueue actions | Defaults to `10s` (10 seconds), qualifier can be `s = second`, `m = minute`, `h = hour` prefixed with a positive number | +| `TASK_ACTIONS_ENQUEUE_BATCH_SIZE` | Number defining how many unhandled events are processed in a batch by the background task | Defaults to `1`, must be positive number | +| | | | +| `TASK_ACTIONS_INVOKE_ENABLED` | If background task should run to invoke enqueued actions derived | Defaults to `true` | +| `TASK_ACTIONS_INVOKE_INTERVAL` | Interval at which a background task does check to invoke enqueued actions | Defaults to `10s` (10 seconds), qualifier can be `s = second`, `m = minute`, `h = hour` prefixed with a positive number | +| `TASK_ACTIONS_INVOKE_BATCH_SIZE` | Number defining how many enqueued actions are processed in a batch by the background task | Defaults to `1`, must be positive number | +| `TASK_ACTIONS_INVOKE_MAX_RETRIES` | Number defining how often actions are invoked in case of an error, if exceeded, those actions are not retried again | Defaults to `3`, must be positive number | +| | | | +| `TASK_ACTIONS_CLEAN_STALE_ENABLED` | If background task should run to do housekeeping of stale (handled, meaning success or error state) actions from the database | Defaults to `true` | +| `TASK_ACTIONS_CLEAN_STALE_INTERVAL` | Interval at which a background task does housekeeping by deleting stale (handled) actions from the database | Defaults to `12h` (12 hours), qualifier can be `s = second`, `m = minute`, `h = hour` prefixed with a positive number | +| `TASK_ACTIONS_CLEAN_STALE_MAX_AGE` | Number defining at which age stale (handled) actions are deleted by the background task (_updatedAt_ attribute decides) | Defaults to `720h` (720 hours = 30 days), qualifier can be `s = second`, `m = minute`, `h = hour` prefixed with a positive number | +| | | | +| `TASK_PROMETHEUS_REFRESH_INTERVAL` | Interval at which a background task updates custom metrics | Defaults to `60s` (60 seconds), qualifier can be `s = second`, `m = minute`, `h = hour` prefixed with a positive number | +| | | | +| `LOCK_REDIS_ENABLED` | If locking via REDIS (multiple instances) is enabled. Requires REDIS. Otherwise uses in-memory locks. | Defaults to `false` | +| `LOCK_REDIS_URL` | If locking via REDIS is enabled, this should point to a resolvable REDIS instance, e.g. `redis://:@localhost:6379/`. | | +| | | | +| `PROMETHEUS_ENABLED` | If Prometheus metrics are exposed | Defaults to `false` | +| `PROMETHEUS_METRICS_PATH` | Defines the metrics endpoint path | Defaults to `/metrics` | +| `PROMETHEUS_SECURE_TOKEN_ENABLED` | If Prometheus metrics endpoint is protected by a token when enabled (**recommended**) | Defaults to `true` | +| `PROMETHEUS_SECURE_TOKEN` | The token securing the metrics endpoint when enabled (**recommended**) | Not set by default, you need to explicitly set it to a secure random | +| | | | +| `WEB_API_URL` | Base URL of API, e.g. `https://upda.domain.tld` | `http://localhost` | +| `WEB_TITLE` | The title of the frontend page | `upda` | diff --git a/_doc/Deployment.md b/_doc/Deployment.md new file mode 100644 index 0000000..8005636 --- /dev/null +++ b/_doc/Deployment.md @@ -0,0 +1,228 @@ +# Deployment + +_upda_ is a server application which embeds a webinterface directly in its binary form. This makes it easy to deploy +natively. In addition, a _upda_ docker image is provided to get started quickly. + +_upda-cli_ which is an optional commandline helper to quickly invoke webhooks or list tracked updates in +your is also embedded into the docker image, but can also be downloaded for your operating system. + +The following sections outline how to deploy _upda_ in a containerized environment and also natively. + +## Container + +Use one of the provided `docker-compose` examples, edit to your needs. Then issue `docker compose up -d` command and +`docker compose logs -f` to trace the log. + +Default image user is `appuser` (`uid=2033`) and group is `appgroup` (`gid=2033`). + +The following examples are available + +### Postgres + +#### docker-compose + +```yaml +networks: + internal: + external: false + driver: bridge + driver_opts: + com.docker.network.bridge.name: br-upda + +services: + app: + container_name: upda_app + image: git.myservermanager.com/varakh/upda:latest + environment: + - WEB_API_URL=https://upda.domain.tld + - WEB_TITLE=upda + - TZ=Europe/Berlin + - DB_POSTGRES_TZ=Europe/Berlin + - DB_TYPE=postgres + - DB_POSTGRES_HOST=db + - DB_POSTGRES_PORT=5432 + - DB_POSTGRES_NAME=upda + - DB_POSTGRES_USER=upda + - DB_POSTGRES_PASSWORD=upda + - BASIC_AUTH_USER=admin + - BASIC_AUTH_PASSWORD=changeit + # generate 32 character long secret, e.g., with "openssl rand -hex 16" + - SECRET=generated-secure-secret-32-chars + restart: unless-stopped + networks: + - internal + ports: + - "127.0.0.1:8080:8080" + depends_on: + - db + + db: + container_name: upda_db + image: postgres:16 + restart: unless-stopped + environment: + - POSTGRES_USER=upda + - POSTGRES_PASSWORD=upda + - POSTGRES_DB=upda + networks: + - internal + volumes: + - upda-db-vol:/var/lib/postgresql/data + +volumes: + upda-db-vol: + external: false +``` + +### SQLite + +#### docker-compose + +You can use the following to get it up running quickly via docker compose. + +```yaml +networks: + internal: + external: false + driver: bridge + driver_opts: + com.docker.network.bridge.name: br-upda + +services: + app: + container_name: upda_app + image: git.myservermanager.com/varakh/upda:latest + environment: + - WEB_API_URL=https://upda.domain.tld + - WEB_TITLE=upda + - TZ=Europe/Berlin + - BASIC_AUTH_USER=admin + - BASIC_AUTH_PASSWORD=changeit + # generate 32 character long secret, e.g., with "openssl rand -hex 16" + - SECRET=generated-secure-secret-32-chars + restart: unless-stopped + networks: + - internal + volumes: + - upda-app-vol:/home/appuser + ports: + - "127.0.0.1:8080:8080" + +volumes: + upda-app-vol: + external: false +``` + +#### Local example + +For spinning it up **locally** and without a [reverse proxy](#reverse-proxy), you can use the following simple `docker` +commands. + +Make sure to adapt `DOMAIN` and pipe in your device IP address (LAN), e.g., `192.168.1.42`. + +```shell +# create volume +docker volume create upda-app-vol + +# run locally binding to your LAN IP address +docker run --name upda_app \ + -p 8080:8080 \ + -e TZ=Europe/Berlin \ + -e WEB_API_URL=http://192.168.1.42:8080 \ + -e BASIC_AUTH_USER=admin \ + -e BASIC_AUTH_PASSWORD=changeit \ + -v upda-app-vol:/home/appuser \ + varakh/upda:latest +``` + +## High availability + +For high availability, pick the [Postgres setup](#postgres) and add [REDIS](https://redis.io/) to support proper +distributed locking. + +Make changes to your docker-compose deployment similar to the following: + +```yaml + # the existing app service - add these changes to all instances, so they all use the same redis instance + # make sure that all of them can connect to the redis instance + # ... + app: + environment: + - LOCK_REDIS_ENABLED=true + - LOCK_REDIS_URL=redis://redis:6379/0 + + # the new redis service + redis: + container_name: upda_redis + image: redis + restart: unless-stopped + networks: + - internal + volumes: + - redis-data-vol:/var/redis/data + # optionally expose port depending on your setup + ports: + - "127.0.0.1:6379:6379" + + volumes: + # other already defined volumes + # ... + redis-data-vol: + external: false +``` + +In addition, you need a proper load balancer which routes incoming traffic to all of your instances. + +Furthermore, you can also decide to have the frontend in a high-availability setup. + +## Reverse proxy + +You may want to use a proxy in front of them on your host, e.g., nginx. Here's a configuration snippet which should do +the work. + +The UI and API (backend/server) is reachable through the same domain, e.g., `https://upda.domain.tld`. In addition, +Let's Encrypt is used for transport encryption. + +```shell +server { + listen 443 ssl http2; + ssl_certificate /etc/letsencrypt/live/upda.domain.tld/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/upda.domain.tld/privkey.pem; + + location / { + proxy_pass http://127.0.0.1:8080; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } +} +``` + +## Native + +Native deployment is also possible. + +Download the binary for your operating system. Next, use the binary or execute it locally. + +See the provided systemd service example `upda.service` to deploy on a UNIX/Linux machine. + +```shell +[Unit] +Description=upda +After=network.target + +[Service] +Type=simple +# Using a dynamic user drops privileges and sets some security defaults +# See https://www.freedesktop.org/software/systemd/man/latest/systemd.exec.html +DynamicUser=yes +# All environment variables for upda can be put into this file +# upda picks them up (on each restart) +EnvironmentFile=/etc/upda.conf +# Requires upda' binary to be installed at this location, e.g., via package manager or copying it over manually +ExecStart=/usr/local/bin/upda-server +``` + +For a full set of available configuration, look into the [Configuration](./Configuration.md) section. Furthermore, +it's recommended to set up proper [Monitoring](./Monitoring.md). \ No newline at end of file diff --git a/_doc/Home.md b/_doc/Home.md new file mode 100644 index 0000000..d2bfc4e --- /dev/null +++ b/_doc/Home.md @@ -0,0 +1,47 @@ +# upda + +**Up**date **Da**shboard (upda). A simple application to keep track of updates from different hosts and systems. + +Managing various application or OCI container image updates can be a tedious task: + +* A lot of hosts to operate with a lot of different applications being deployed +* A lot of different OCI containers to watch for updated images +* No convenient dashboard to see and manage all the available updates in one place + +_upda_ manages a list of updates with attributes attached to it. For new updates to arrive, _upda_ needs to be called +via a webhook call (created within _upda_) from other applications, such as a bash script, an +application like [duin](https://crazymax.dev/diun/) or simply by using the `upda-cli`. + +Please head over to the [Usage](./Usage.md) section for a quick _Getting Started_ once you've [deployed](./Deployment.md) +_upda_. + +The code is hosted here: [upda and CLI application including frontend](https://git.myservermanager.com/varakh/upda). + +## Features + +_upda_ manages a list of updates with attributes attached to it. For new updates to arrive, _upda_ needs to get them +from an external source. +For this, _upda_ allows to manage webhooks, which can be called with a unique URL from any other application or even a +bash script so that upda retrieves these information. + +_upda_'s main features include + +* Managing [Updates](./Usage.md#manage-updates) by changing their state (pending, ignored, approved) +* Managing [Webhooks](./Usage.md#getting-updates-in-via-webhooks) which allow to get information into _upda_ regarding Updates + and their properties (like version) you like to track +* Managing [Actions](./Usage.md#actions) which allow you to further process changes made to an Update (created, state + changed, version + changed,), basically allowing you to invoke other systems with the help + of [shoutrrr](https://containrrr.dev/shoutrrr/) +* View [past invocation of Actions](./Usage.md#history-of-actions) +* Viewing [events](./Usage.md#see-what-has-changed) which allow you to see what has changed and how Updates +* [Metrics exporter](./Monitoring.md) via prometheus + +_upda_ is designed to be simple. Only supported authorization mechanism is basic. + +## What it is not + +_upda_ is **NOT** a scraper to watch docker registries or GitHub releases, it simply tracks and consolidates updates +from different sources, but you need to feed in these information on your own, e.g., via Webhooks. If you like to watch +GitHub releases, write a scraper and use `upda-cli` to report back to _upda_. + diff --git a/_doc/Monitoring.md b/_doc/Monitoring.md new file mode 100644 index 0000000..3772871 --- /dev/null +++ b/_doc/Monitoring.md @@ -0,0 +1,2242 @@ +# Monitoring + +_upda_ exposes managed _updates_ as [prometheus](https://prometheus.io) metrics, so that you can easily build a +dashboard in [Grafana](https://grafana.com), or even attach alerts to pending updates +via [alertmanager](https://prometheus.io/docs/alerting/latest/alertmanager/). + +To enable prometheus exporters of _upda_, please visit the [Configuration](./Configuration.md) section. + +When `PROMETHEUS_ENABLED` is set to `true`, default metrics about memory utilization, but also custom metrics specific +to _upda_ are exposed under the `PROMETHEUS_METRICS_PATH` endpoint. + +A Prometheus scrape configuration might look like the following if `PROMETHEUS_SECURE_TOKEN_ENABLED` is set to `true`. + +```shell +scrape_configs: + - job_name: 'upda' + static_configs: + - targets: ['upda:8080'] + bearer_token: 'VALUE_OF_PROMETHEUS_SECURE_TOKEN' +``` + +Custom exposed metrics are exposed under the `upda_` namespace. + +The following is an example [Grafana](https://grafana.com) dashboard to use for monitoring _upda_. + +```json +{ + "__inputs": [ + { + "name": "DS_PROMETHEUS", + "label": "datasource", + "description": "", + "type": "datasource", + "pluginId": "prometheus", + "pluginName": "Prometheus" + } + ], + "__elements": {}, + "__requires": [ + { + "type": "panel", + "id": "bargauge", + "name": "Bar gauge", + "version": "" + }, + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "10.4.0" + }, + { + "type": "datasource", + "id": "prometheus", + "name": "Prometheus", + "version": "1.0.0" + }, + { + "type": "panel", + "id": "stat", + "name": "Stat", + "version": "" + }, + { + "type": "panel", + "id": "timeseries", + "name": "Time series", + "version": "" + } + ], + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": { + "type": "datasource", + "uid": "grafana" + }, + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "target": { + "limit": 100, + "matchAny": false, + "tags": [], + "type": "dashboard" + }, + "type": "dashboard" + } + ] + }, + "description": "upda", + "editable": true, + "fiscalYearStartMonth": 0, + "gnetId": 13240, + "graphTooltip": 0, + "id": null, + "links": [], + "liveNow": false, + "panels": [ + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 36, + "panels": [], + "title": "upda", + "type": "row" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 8, + "x": 0, + "y": 1 + }, + "id": 37, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "center", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "10.4.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "code", + "expr": "upda_updates_all{job=\"$job\", instance=~\"$instance\"}", + "instant": false, + "legendFormat": "Total", + "range": true, + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "code", + "expr": "upda_updates_pending{job=\"$job\", instance=~\"$instance\"}", + "hide": false, + "instant": false, + "legendFormat": "Pending", + "range": true, + "refId": "C" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "code", + "expr": "upda_updates_approved{job=\"$job\", instance=~\"$instance\"}", + "hide": false, + "instant": false, + "legendFormat": "Approved", + "range": true, + "refId": "B" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "code", + "expr": "upda_updates_ignored{job=\"$job\", instance=~\"$instance\"}", + "hide": false, + "instant": false, + "legendFormat": "Ignored", + "range": true, + "refId": "D" + } + ], + "title": "Updates", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 2, + "x": 8, + "y": 1 + }, + "id": 38, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "10.4.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "code", + "expr": "upda_events{job=\"$job\", instance=~\"$instance\"}", + "instant": false, + "legendFormat": "Total", + "range": true, + "refId": "A" + } + ], + "title": "Events", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 2, + "x": 10, + "y": 1 + }, + "id": 39, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "10.4.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "code", + "expr": "upda_webhooks{job=\"$job\", instance=~\"$instance\"}", + "instant": false, + "legendFormat": "Total", + "range": true, + "refId": "A" + } + ], + "title": "Webhooks", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 2, + "x": 12, + "y": 1 + }, + "id": 53, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "10.4.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "code", + "expr": "upda_actions{job=\"$job\", instance=~\"$instance\"}", + "instant": false, + "legendFormat": "Total", + "range": true, + "refId": "A" + } + ], + "title": "Actions", + "type": "stat" + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 6 + }, + "id": 34, + "panels": [], + "title": "HTTP", + "type": "row" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "links": [], + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 9, + "x": 0, + "y": 7 + }, + "id": 28, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "10.4.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "code", + "expr": "promhttp_metric_handler_requests_total{job=\"$job\", instance=~\"$instance\"}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{code}}", + "range": true, + "refId": "A" + } + ], + "title": "Request Count per status code", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "links": [], + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 15, + "x": 9, + "y": 7 + }, + "id": 31, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "pluginVersion": "10.4.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "code", + "expr": "upda_requests_total{job=\"$job\", instance=~\"$instance\"}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{code}} | {{method}} | {{path}}", + "range": true, + "refId": "A" + } + ], + "title": "Request Total", + "type": "bargauge" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "bytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 3, + "x": 0, + "y": 15 + }, + "id": 29, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "10.4.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "code", + "expr": "upda_request_size_bytes_sum{job=\"$job\", instance=~\"$instance\"}", + "instant": false, + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "Sum Request Size", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "bytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 3, + "x": 3, + "y": 15 + }, + "id": 27, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "10.4.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "code", + "expr": "upda_response_size_bytes_sum{job=\"$job\", instance=~\"$instance\"}", + "instant": false, + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "Sum Response Size", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 3, + "x": 6, + "y": 15 + }, + "id": 30, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "10.4.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "code", + "expr": "promhttp_metric_handler_requests_in_flight{job=\"$job\", instance=~\"$instance\"}", + "instant": false, + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "Requests in flight", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "links": [], + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 15, + "x": 9, + "y": 15 + }, + "id": 40, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "pluginVersion": "10.4.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "code", + "expr": "upda_request_duration_count{job=\"$job\", instance=~\"$instance\"}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{method}} | {{path}}", + "range": true, + "refId": "A" + } + ], + "title": "Request Duration Count", + "type": "bargauge" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "bytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 3, + "x": 0, + "y": 19 + }, + "id": 33, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "10.4.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "code", + "expr": "(upda_request_size_bytes_sum{job=\"$job\", instance=~\"$instance\"})/upda_request_size_bytes_count{job=\"$job\", instance=~\"$instance\"}", + "instant": false, + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "Avg. Size / Request", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "bytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 3, + "x": 3, + "y": 19 + }, + "id": 32, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "10.4.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "code", + "expr": "(upda_response_size_bytes_sum{job=\"$job\", instance=~\"$instance\"})/upda_response_size_bytes_count{job=\"$job\", instance=~\"$instance\"}", + "instant": false, + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "Avg. Size / Response", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 3, + "x": 6, + "y": 19 + }, + "id": 41, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "10.4.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "code", + "expr": "promhttp_metric_handler_errors_total{job=\"$job\", instance=~\"$instance\"}", + "instant": false, + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "Requests with error", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "links": [], + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 23 + }, + "id": 46, + "options": { + "legend": { + "calcs": [ + "last", + "min", + "max", + "mean" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "10.1.5", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "expr": "go_memstats_sys_bytes{job=\"$job\", instance=~\"$instance\"}", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + } + ], + "title": "Total Used Memory", + "type": "timeseries" + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 31 + }, + "id": 42, + "panels": [], + "title": "Runtime", + "type": "row" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "links": [], + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes", + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 32 + }, + "id": 43, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "10.1.5", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "expr": "go_memstats_mspan_inuse_bytes{job=\"$job\", instance=~\"$instance\"}", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "expr": "go_memstats_mspan_sys_bytes{job=\"$job\", instance=~\"$instance\"}", + "format": "time_series", + "intervalFactor": 1, + "refId": "B" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "expr": "go_memstats_mcache_inuse_bytes{job=\"$job\", instance=~\"$instance\"}", + "format": "time_series", + "intervalFactor": 1, + "refId": "C" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "expr": "go_memstats_mcache_sys_bytes{job=\"$job\", instance=~\"$instance\"}", + "format": "time_series", + "intervalFactor": 1, + "refId": "D" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "expr": "go_memstats_buck_hash_sys_bytes{job=\"$job\", instance=~\"$instance\"}", + "format": "time_series", + "intervalFactor": 1, + "refId": "E" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "expr": "go_memstats_gc_sys_bytes{job=\"$job\", instance=~\"$instance\"}", + "format": "time_series", + "intervalFactor": 1, + "refId": "F" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "expr": "go_memstats_other_sys_bytes{job=\"$job\", instance=~\"$instance\"} - go_memstats_other_sys_bytes{job=\"$job\", instance=~\"$instance\"}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "bytes of memory are used for other runtime allocations {instance={{instance}}}", + "refId": "G" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "expr": "go_memstats_next_gc_bytes{job=\"$job\", instance=~\"$instance\"}", + "format": "time_series", + "intervalFactor": 1, + "refId": "H" + } + ], + "title": "Memory in Off-Heap", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "links": [], + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes", + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 32 + }, + "id": 44, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "10.1.5", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "expr": "go_memstats_heap_alloc_bytes{job=\"$job\", instance=~\"$instance\"}", + "format": "time_series", + "intervalFactor": 1, + "refId": "B" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "expr": "go_memstats_heap_sys_bytes{job=\"$job\", instance=~\"$instance\"}", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "expr": "go_memstats_heap_idle_bytes{job=\"$job\", instance=~\"$instance\"}", + "format": "time_series", + "intervalFactor": 1, + "refId": "C" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "expr": "go_memstats_heap_inuse_bytes{job=\"$job\", instance=~\"$instance\"}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "", + "refId": "D" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "expr": "go_memstats_heap_released_bytes{job=\"$job\", instance=~\"$instance\"}", + "format": "time_series", + "intervalFactor": 1, + "refId": "E" + } + ], + "title": "Memory in Heap", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "links": [], + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes", + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 40 + }, + "id": 45, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "10.1.5", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "expr": "go_memstats_stack_inuse_bytes{job=\"$job\", instance=~\"$instance\"}", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "expr": "go_memstats_stack_sys_bytes{job=\"$job\", instance=~\"$instance\"}", + "format": "time_series", + "intervalFactor": 1, + "refId": "B" + } + ], + "title": "Memory in Stack", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "description": "shows how many heap objects are allocated. This is a counter value so you can use rate() to objects allocated/s.", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "links": [], + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short", + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 40 + }, + "id": 48, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "10.1.5", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "code", + "expr": "rate(go_memstats_mallocs_total{job=\"$job\", instance=~\"$instance\"}[1m])", + "format": "time_series", + "intervalFactor": 1, + "range": true, + "refId": "A" + } + ], + "title": "Rate of Objects Allocated", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "links": [], + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short", + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 48 + }, + "id": 47, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "10.1.5", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "expr": "go_memstats_mallocs_total{job=\"$job\", instance=~\"$instance\"} - go_memstats_frees_total{job=\"$job\", instance=~\"$instance\"}", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + } + ], + "title": "Number of Live Objects", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "links": [], + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short", + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 48 + }, + "id": 50, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "10.1.5", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "expr": "go_goroutines{job=\"$job\", instance=~\"$instance\"}", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + } + ], + "title": "Goroutines", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "description": "go_memstats_lookups_total – counts how many pointer dereferences happened. This is a counter value so you can use rate() to lookups/s.", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "links": [], + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "ops", + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 56 + }, + "id": 49, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "10.1.5", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "expr": "rate(go_memstats_lookups_total{job=\"$job\", instance=~\"$instance\"}[1m])", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + } + ], + "title": "Rate of a Pointer Dereferences", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "links": [], + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "ms", + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 56 + }, + "id": 52, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "10.1.5", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "expr": "go_gc_duration_seconds{job=\"$job\", instance=~\"$instance\"}", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + } + ], + "title": "GC duration quantile", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 4, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "always", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "links": [], + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "Bps", + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 64 + }, + "id": 51, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "10.1.5", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "expr": "rate(go_memstats_alloc_bytes_total{job=\"$job\", instance=~\"$instance\"}[1m])", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + } + ], + "title": "Rates of Allocation", + "type": "timeseries" + } + ], + "refresh": "5s", + "schemaVersion": 39, + "tags": [], + "templating": { + "list": [ + { + "current": { + "selected": false, + "text": "ando", + "value": "c6248fc9-eab1-4c9b-ab39-127642bc3879" + }, + "hide": 0, + "includeAll": false, + "label": "datasource", + "multi": false, + "name": "DS_PROMETHEUS", + "options": [], + "query": "prometheus", + "queryValue": "", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + }, + { + "current": {}, + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "definition": "label_values(go_goroutines, job)", + "hide": 0, + "includeAll": false, + "label": "job", + "multi": false, + "name": "job", + "options": [], + "query": "label_values(go_goroutines, job)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "current": {}, + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "definition": "label_values(go_goroutines{job=\"$job\"}, instance)", + "hide": 0, + "includeAll": true, + "label": "instance", + "multi": true, + "name": "instance", + "options": [], + "query": "label_values(go_goroutines{job=\"$job\"}, instance)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tagsQuery": "", + "type": "query", + "useTags": false + } + ] + }, + "time": { + "from": "now-1h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "", + "title": "upda", + "uid": "CgCw8jKZ8", + "version": 16, + "weekStart": "" +} +``` \ No newline at end of file diff --git a/_doc/Usage.md b/_doc/Usage.md new file mode 100644 index 0000000..2046ab5 --- /dev/null +++ b/_doc/Usage.md @@ -0,0 +1,174 @@ +# Usage + +Getting started in _upda_ is easy after it has been [deployed](./Deployment.md) successfully and is reachable through your +browser. + +![img](./img/updates.png) + +## Login + +Head over to the deployed _upda_ instance in your browser and login with your credentials. + +![img](./img/login.png) + +## Getting updates in via Webhooks + +To get your first updates into _upda_, create a new Webhook. Webhooks are the central piece of how _upda_ gets notified +about updates. + +![img](./img/webhooks.png) + +After you've created a new Webhook, you should see + +* a unique _upda_ `URL` which serves as entrypoint of other 3rd party applications, + e.g., `/api/v1/webhooks/` and +* a corresponding `token` (write it down somewhere, you won't see it again after initial creation) for the URL which + must be sent as `X-Webhook-Token` header when calling _upda_'s URL. + +Next step is to make your 3rd party application use this webhook and bring in new updates into _upda_. + +A good example is [duin](https://crazymax.dev/diun/), which is able to watch docker images for changes and updates. It +can be configured with a config file +and [diun's "notif" plugin supports calling external webhooks once a change is observed](https://crazymax.dev/diun/notif/webhook/). +We just need to configure _upda_ as the receiving application in diun's configuration file. + +```yaml +notif: + webhook: + endpoint: https://upda.domain.tld/api/v1/webhooks/ee03cd9e-04d0-4c7f-9866-efe219c2501e + method: POST + headers: + content-type: application/json + X-Webhook-Token: + timeout: 10s +``` + +Expected payload is derived from the _type_ of the webhook which has been created in _upda_. + +In addition, a webhook in _upda_ can be set to ignore the host. Please read more on that in the [Concepts](./Concepts.md) +section. + +## Actions + +Actions can be used to invoke arbitrary third party tools when an _event_ occurs, e.g., an update has been created or +modified. An action is triggered when its conditions are met, which means that the action's definition (event name, +host, application, provider) fits the change which happend in _upda_. + +Actions have types. Different types require different payload to set them up. [shoutrrr](#shoutrrr) is supported as +action type, which can send notifications to a variety of services like Gotify, Ntfy, Teams, OpsGenie and many more. +It in turn also support invoking calls to an external URL. This means you can have a stream of events being triggered +when an update arrives in _upda_. + +To create an Action, go to the Actions tab and click on _Create new action_. Enter the necessary information and +consult the Action's type documentation if necessary. + +![img](./img/actions.png) + +Supported events for Actions are the following: + +| Event name | Description | +|:-------------------------|:--------------------------------------------------------------------| +| `update_created` | An update has been created | +| `update_updated` | An update has been updated (not necessarily its version attribute!) | +| `update_updated_state` | An update's state changed | +| `update_updated_version` | An update's version changed | +| `update_deleted` | An update has been removed | + +For privacy, an action's configuration supports upda's **secrets** vault, which means that before an action is +triggered, any occurrence of `SECRET_KEY` is properly replaced by the value of the `SECRET_KEY` defined +inside the vault. + +Secrets can be used in all payload for an Action, including shoutrrr's URL. To create a new secret, go to the _Secrets_ +tab and click on _Create new secret_. + +![img](./img/secrets.png) + +In addition to secrets, upda provides **variables** which can be used with the `VARIABLE_NAME` syntax and any +occurrence is replaced before invocation as well. + +| Variable name | Description | +|:-------------------------|:--------------------------------------------------| +| `APPLICATION` | The update's application name invoking the action | +| `PROVIDER` | The update's provider name invoking the action | +| `HOST` | The update's host invoking the action | +| `VERSION` | The update's version (latest) invoking the action | +| `STATE` | The update's state invoking the action | + +#### shoutrrr + +[shoutrrr](https://github.com/containrrr/shoutrrr?tab=readme-ov-file#documentation) supports multiple services directly +which can be provided as simple URL, e.g., `gotify://gotify.example.com:443/`, where `` +can also be provided as secret: `gotify://gotify.example.com:443/GOTIFY_TOKEN`. + +##### shoutrrr: example for sending mails + +Before starting, add the following _Secrets_: + +``` +MAIL_USER +MAIL_PASS +MAIL_HOST +MAIL_PORT +MAIL_FROM +MAIL_TO +``` + +For each event, now create a new _Action_ with different payload: + +_New updates_ + +| Field | Content | +|:------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| URL 1 | `smtp://MAIL_USER:MAIL_PASS@MAIL_HOST:MAIL_PORT/?from=MAIL_FROM&to=MAIL_TO&Subject=[upda]+New+Update` | +| Body | `New update 'APPLICATION' (VERSION) arrived on HOST for provider PROVIDER.` | + +_Update changed_ + +| Field | Content | +|:------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| URL 1 | `smtp://MAIL_USER:MAIL_PASS@MAIL_HOST:MAIL_PORT/?from=MAIL_FROM&to=MAIL_TO&Subject=[upda]+Update+changed` | +| Body | `Update 'APPLICATION' (VERSION) changed on HOST for provider PROVIDER.` | + +_Version changed_ + +| Field | Content | +|:------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| URL 1 | `smtp://MAIL_USER:MAIL_PASS@MAIL_HOST:MAIL_PORT/?from=MAIL_FROM&to=MAIL_TO&Subject=[upda]+Update+version+changed` | +| Body | `Update's version changed to 'VERSION' for 'APPLICATION' on HOST and provider PROVIDER.` | + +_State changed_ + +| Field | Content | +|:------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| URL 1 | `smtp://MAIL_USER:MAIL_PASS@MAIL_HOST:MAIL_PORT/?from=MAIL_FROM&to=MAIL_TO&Subject=[upda]+Update+state+changed` | +| Body | `Update's state changed to 'STATE' for 'APPLICATION' (VERSION) on HOST and provider PROVIDER.` | + +In addition, you can have multiple URL fields, e.g., for sending a mail and a push notification. + +### History of actions + +Whenever new updates come in, are changed or an update's state changes, _upda_ enqueues all matching Actions. + +If you head over to the Action History tab, you see pending, currently running, successful or error invocations of +actions. + +![img](./img/actions_history.png) + +## Manage updates + +Once Update are in _upda_, you can filter them by state, application or other properties to only see pending Updates for +example. + +Furthermore, you can change their state to be ignored (see [Concepts](./Concepts.md)) or delete them. + +![img](./img/updates.png) + +In addition, you can view an Update's details by clicking on the small info icon for an Update. + +![img](./img/updates_detail.png) + +## See what has changed + +For a full activity view, head over to the Events tab. + +![img](./img/events.png) diff --git a/_doc/api.yaml b/_doc/api.yaml index bb35eb1..1cf2b0e 100644 --- a/_doc/api.yaml +++ b/_doc/api.yaml @@ -2,7 +2,7 @@ openapi: 3.0.3 info: title: upda description: API specification - version: 3.0.3 + version: 4.0.0 externalDocs: description: Find out more about the project url: https://git.myservermanager.com/varakh/upda diff --git a/_doc/img/actions.png b/_doc/img/actions.png new file mode 100644 index 0000000000000000000000000000000000000000..ce6df5849442c958a2795fe05cf19c7a6fdf8e41 GIT binary patch literal 48441 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

)gkeZr`o7af#O;~+I`GM5^ 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 literal 0 HcmV?d00001 diff --git a/_doc/img/actions_history.png b/_doc/img/actions_history.png new file mode 100644 index 0000000000000000000000000000000000000000..1d7b184ad5240d27574e49ed4ac66db7da5f3e5b GIT binary patch literal 52987 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,UUCLb2B(>rQ3sS72MjObnek9Yi?|$|P__*k4 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 GkN*SNt+ufM literal 0 HcmV?d00001 diff --git a/_doc/img/login.png b/_doc/img/login.png new file mode 100644 index 0000000000000000000000000000000000000000..320601e30295e13cb39a5dbdf955e98ed4b1dda0 GIT binary patch literal 12308 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 R2Xp~4xNUr^T=(&_{{cHRbdvx8 literal 0 HcmV?d00001 diff --git a/_doc/img/secrets.png b/_doc/img/secrets.png new file mode 100644 index 0000000000000000000000000000000000000000..70196d4463bad21c451ea4ba7a443f87b218f7a2 GIT binary patch literal 40674 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 literal 0 HcmV?d00001 diff --git a/_doc/img/updates.png b/_doc/img/updates.png new file mode 100644 index 0000000000000000000000000000000000000000..0e02756174679cba33b4682808feceeade070e1b GIT binary patch literal 74502 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 Hcq{g=d3I8- literal 0 HcmV?d00001 diff --git a/_doc/img/updates_detail.png b/_doc/img/updates_detail.png new file mode 100644 index 0000000000000000000000000000000000000000..080900db91f503b26a5bde92a18260ac6d4f969d GIT binary patch literal 99762 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%0A=7&UIBK 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 literal 0 HcmV?d00001 diff --git a/commons/constants.go b/commons/constants.go index 5c59a7b..d31cefe 100644 --- a/commons/constants.go +++ b/commons/constants.go @@ -1,5 +1,5 @@ package commons const ( - Version = "3.0.3" + Version = "4.0.0" ) diff --git a/go.mod b/go.mod index 6cee97f..89eea54 100644 --- a/go.mod +++ b/go.mod @@ -9,6 +9,7 @@ require ( github.com/adrg/xdg v0.5.1 github.com/containrrr/shoutrrr v0.8.0 github.com/gin-contrib/cors v1.7.2 + github.com/gin-contrib/static v1.1.2 github.com/gin-contrib/zap v1.1.4 github.com/gin-gonic/gin v1.10.0 github.com/go-co-op/gocron-redis-lock/v2 v2.0.1 diff --git a/go.sum b/go.sum index 6dfa050..4cd620b 100644 --- a/go.sum +++ b/go.sum @@ -8,8 +8,6 @@ github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migc github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= github.com/Microsoft/hcsshim v0.11.1 h1:hJ3s7GbWlGK4YVV92sO88BQSyF4ZLVy7/awqOlPxFbA= github.com/Microsoft/hcsshim v0.11.1/go.mod h1:nFJmaO4Zr5Y7eADdFOpYswDDlNVbvcIJJNJLECr5JQg= -github.com/adrg/xdg v0.5.0 h1:dDaZvhMXatArP1NPHhnfaQUqWBLBsmx1h1HXQdMoFCY= -github.com/adrg/xdg v0.5.0/go.mod h1:dDdY4M4DF9Rjy4kHPeNL+ilVF+p2lK8IdM9/rTSGcI4= github.com/adrg/xdg v0.5.1 h1:Im8iDbEFARltY09yOJlSGu4Asjk2vF85+3Dyru8uJ0U= github.com/adrg/xdg v0.5.1/go.mod h1:nlTsY+NNiCBGCK2tpm09vRqfVzrc2fLmXGpBLF0zlTQ= github.com/appleboy/gofight/v2 v2.1.2 h1:VOy3jow4vIK8BRQJoC/I9muxyYlJ2yb9ht2hZoS3rf4= @@ -42,8 +40,6 @@ github.com/containrrr/shoutrrr v0.8.0 h1:mfG2ATzIS7NR2Ec6XL+xyoHzN97H8WPjir8aYzJ github.com/containrrr/shoutrrr v0.8.0/go.mod h1:ioyQAyu1LJY6sILuNyKaQaw+9Ttik5QePU8atnAdO2o= github.com/cpuguy83/dockercfg v0.3.1 h1:/FpZ+JaygUR/lZP2NlFI2DVfrOEMAIKP5wWEJdoYe9E= github.com/cpuguy83/dockercfg v0.3.1/go.mod h1:sugsbF4//dDlL/i+S+rtpIWp+5h0BHJHfjj5/jFyUJc= -github.com/cpuguy83/go-md2man/v2 v2.0.4 h1:wfIWP927BUkWJb2NmU/kNDYIBTh/ziUX91+lVfRxZq4= -github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/cpuguy83/go-md2man/v2 v2.0.5 h1:ZtcqGrnekaHpVLArFSe4HK5DoKx1T0rq2DwVB0alcyc= github.com/cpuguy83/go-md2man/v2 v2.0.5/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -67,14 +63,14 @@ github.com/gin-contrib/cors v1.7.2 h1:oLDHxdg8W/XDoN/8zamqk/Drgt4oVZDvaV0YmvVICQ github.com/gin-contrib/cors v1.7.2/go.mod h1:SUJVARKgQ40dmrzgXEVxj2m7Ig1v1qIboQkPDTQ9t2E= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= +github.com/gin-contrib/static v1.1.2 h1:c3kT4bFkUJn2aoRU3s6XnMjJT8J6nNWJkR0NglqmlZ4= +github.com/gin-contrib/static v1.1.2/go.mod h1:Fw90ozjHCmZBWbgrsqrDvO28YbhKEKzKp8GixhR4yLw= github.com/gin-contrib/zap v1.1.4 h1:xvxTybg6XBdNtcQLH3Tf0lFr4vhDkwzgLLrIGlNTqIo= github.com/gin-contrib/zap v1.1.4/go.mod h1:7lgEpe91kLbeJkwBTPgtVBy4zMa6oSBEcvj662diqKQ= github.com/gin-gonic/gin v1.10.0 h1:nTuyha1TYqgedzytsKYqna+DfLos46nTv2ygFy86HFU= github.com/gin-gonic/gin v1.10.0/go.mod h1:4PMNQiOhvDRa013RKVbsiNwoyezlm2rm0uX/T7kzp5Y= github.com/go-co-op/gocron-redis-lock/v2 v2.0.1 h1:xM+mzO88L+kODvY4vIUVLlZuyWazK5vJfK0DiFachdQ= github.com/go-co-op/gocron-redis-lock/v2 v2.0.1/go.mod h1:FSHZ13f4bfH37RpJi9l3vl2GTiJRUI6xTDbUvXLoqrY= -github.com/go-co-op/gocron/v2 v2.11.0 h1:IOowNA6SzwdRFnD4/Ol3Kj6G2xKfsoiiGq2Jhhm9bvE= -github.com/go-co-op/gocron/v2 v2.11.0/go.mod h1:xY7bJxGazKam1cz04EebrlP4S9q4iWdiAylMGP3jY9w= github.com/go-co-op/gocron/v2 v2.12.1 h1:dCIIBFbzhWKdgXeEifBjHPzgQ1hoWhjS4289Hjjy1uw= github.com/go-co-op/gocron/v2 v2.12.1/go.mod h1:xY7bJxGazKam1cz04EebrlP4S9q4iWdiAylMGP3jY9w= github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= @@ -87,8 +83,6 @@ github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/o github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= -github.com/go-playground/validator/v10 v10.22.0 h1:k6HsTZ0sTnROkhS//R0O+55JgM8C4Bx7ia+JlgcnOao= -github.com/go-playground/validator/v10 v10.22.0/go.mod h1:dbuPbCMFw/DrkbEynArYaCwl3amGuJotoKCe95atGMM= github.com/go-playground/validator/v10 v10.22.1 h1:40JcKH+bBNGFczGuoBYgX4I6m/i27HYW8P9FDk5PbgA= github.com/go-playground/validator/v10 v10.22.1/go.mod h1:dbuPbCMFw/DrkbEynArYaCwl3amGuJotoKCe95atGMM= github.com/go-redis/redis v6.15.9+incompatible h1:K0pv1D7EQUjfyoMql+r/jZqCLizCGKFlFgcHWWmHQjg= @@ -99,8 +93,6 @@ github.com/go-redis/redis/v8 v8.11.5 h1:AcZZR7igkdvfVmQTPnu9WE37LRrO/YrBH5zWyjDC github.com/go-redis/redis/v8 v8.11.5/go.mod h1:gREzHqY1hg6oD9ngVRbLStwAWKhA0FEgq8Jd4h5lpwo= github.com/go-redsync/redsync/v4 v4.13.0 h1:49X6GJfnbLGaIpBBREM/zA4uIMDXKAh1NDkvQ1EkZKA= github.com/go-redsync/redsync/v4 v4.13.0/go.mod h1:HMW4Q224GZQz6x1Xc7040Yfgacukdzu7ifTDAKiyErQ= -github.com/go-resty/resty/v2 v2.14.0 h1:/rhkzsAqGQkozwfKS5aFAbb6TyKd3zyFRWcdRXLPCAU= -github.com/go-resty/resty/v2 v2.14.0/go.mod h1:IW6mekUOsElt9C7oWr0XRt9BNSD6D5rr9mhk6NjmNHg= github.com/go-resty/resty/v2 v2.15.3 h1:bqff+hcqAflpiF591hhJzNdkRsFhlB96CYfBwSFvql8= github.com/go-resty/resty/v2 v2.15.3/go.mod h1:0fHAoK7JoBy/Ch36N8VFeMsK7xQOHhvWaC3iOktwmIU= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= @@ -214,8 +206,6 @@ github.com/prometheus/common v0.45.0 h1:2BGz0eBc2hdMDLnO/8n0jeB3oPrt2D08CekT0lne github.com/prometheus/common v0.45.0/go.mod h1:YJmSTw9BoKxJplESWWxlbyttQR4uaEcGyv9MZjVOJsY= github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo= github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo= -github.com/redis/go-redis/v9 v9.6.1 h1:HHDteefn6ZkTtY5fGUE8tj8uy85AHk6zP7CpzIAM0y4= -github.com/redis/go-redis/v9 v9.6.1/go.mod h1:0C0c6ycQsdpVNQpxb1njEQIqkx5UcsM8FJCQLgE9+RA= github.com/redis/go-redis/v9 v9.7.0 h1:HhLSs+B6O021gwzl+locl0zEDnyNkxMtf/Z3NNBMa9E= github.com/redis/go-redis/v9 v9.7.0/go.mod h1:f6zhXITC7JUJIlPEiBOTXxJgPLdZcA93GewI7inzyWw= github.com/redis/rueidis v1.0.19 h1:s65oWtotzlIFN8eMPhyYwxlwLR1lUdhza2KtWprKYSo= @@ -258,19 +248,14 @@ github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= github.com/ugorji/go/codec v1.2.12 h1:9LC83zGrHhuUA9l16C9AHXAqEV/2wBQ4nkvumAE65EE= github.com/ugorji/go/codec v1.2.12/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= -github.com/urfave/cli/v2 v2.27.4 h1:o1owoI+02Eb+K107p27wEX9Bb8eqIoZCfLXloLUSWJ8= -github.com/urfave/cli/v2 v2.27.4/go.mod h1:m4QzxcD2qpra4z7WhzEGn74WZLViBnMpb1ToCAKdGRQ= github.com/urfave/cli/v2 v2.27.5 h1:WoHEJLdsXr6dDWoJgMq/CboDmyY/8HMMH1fTECbih+w= github.com/urfave/cli/v2 v2.27.5/go.mod h1:3Sevf16NykTbInEnD0yKkjDAeZDS0A6bzhBH5hrMvTQ= github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 h1:gEOO8jv9F4OT7lGCjxCBTO/36wtF6j2nSip77qHd4x4= github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1/go.mod h1:Ohn+xnUBiLI6FVj/9LpzZWtj1/D6lUovWYBkxHVV3aM= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFiw= github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/automaxprocs v1.5.3 h1:kWazyxZUrS3Gs4qUpbwo5kEIMGe/DAvi5Z4tl2NW4j8= -go.uber.org/automaxprocs v1.5.3/go.mod h1:eRbA25aqJrxAbsLO0xy5jVwPt7FQnRgjW+efnwa1WM0= go.uber.org/automaxprocs v1.6.0 h1:O3y2/QNTOdbF+e/dpXNNW7Rx2hZ4sTIPyybbxyNqTUs= go.uber.org/automaxprocs v1.6.0/go.mod h1:ifeIMSnPZuznNm6jmdzmU3/bfk01Fe2fotchwEFJ8r8= go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= @@ -287,45 +272,22 @@ golang.org/x/arch v0.9.0 h1:ub9TgUInamJ8mrZIGlBG6/4TqWeMszd4N8lNorbrr6k= golang.org/x/arch v0.9.0/go.mod h1:FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= -golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= -golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M= golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8 h1:yixxcjnhBmY0nkL253HFVIm0JsFHwrHdT3Yh6szTnfY= golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8/go.mod h1:jj3sYF3dwk5D+ghuXyeI3r5MFf+NT2An6/9dOA95KSI= golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.18.0 h1:5+9lSbEzPSdWkH32vYPBwEpX8KwDbM52Ud9xBUvNlb0= golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= -golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= -golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= -golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -333,39 +295,14 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= -golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= -golang.org/x/term v0.22.0/go.mod h1:F3qCibpT5AMpCRfhfT53vVJwhLtIVHhB9XDjfFvnMI4= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/time v0.6.0 h1:eTDhh4ZXt5Qf0augr54TN6suAUudPcawVZeIAPU7D4U= @@ -374,10 +311,6 @@ golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGm golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= -golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA= golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -403,8 +336,6 @@ gorm.io/driver/postgres v1.5.9/go.mod h1:DX3GReXH+3FPWGrrgffdvCk3DQ1dwDPdmbenSkw gorm.io/driver/sqlite v1.5.6 h1:fO/X46qn5NUEEOZtnjJRWRzZMe8nqJiQ9E+0hi+hKQE= gorm.io/driver/sqlite v1.5.6/go.mod h1:U+J8craQU6Fzkcvu8oLeAQmi50TkwPEhHDEjQZXDah4= gorm.io/gorm v1.23.6/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk= -gorm.io/gorm v1.25.11 h1:/Wfyg1B/je1hnDx3sMkX+gAlxrlZpn6X0BXRlwXlvHg= -gorm.io/gorm v1.25.11/go.mod h1:xh7N7RHfYlNc5EmcI/El95gXusucDrQnHXe0+CgWcLQ= gorm.io/gorm v1.25.12 h1:I0u8i2hWQItBq1WfE0o2+WuL9+8L21K9e2HHSTE/0f8= gorm.io/gorm v1.25.12/go.mod h1:xh7N7RHfYlNc5EmcI/El95gXusucDrQnHXe0+CgWcLQ= moul.io/zapgorm2 v1.3.0 h1:+CzUTMIcnafd0d/BvBce8T4uPn6DQnpIrz64cyixlkk= diff --git a/renovate.json5 b/renovate.json5 index 8220589..a96e84b 100644 --- a/renovate.json5 +++ b/renovate.json5 @@ -16,6 +16,7 @@ "dependencyDashboardOSVVulnerabilitySummary": "all", // skip next alpine, see https://github.com/mattn/go-sqlite3/issues/1164 "packageRules": [ + // oci { "matchPackageNames": [ "alpine" @@ -26,25 +27,70 @@ ], "enabled": false }, + // go { + "matchManagers": [ + "gomod" + ], "matchPackagePrefixes": [ "github.com/go-co-op/gocron" ], "groupName": "gocron" }, { + "matchManagers": [ + "gomod" + ], "matchUpdateTypes": [ "minor" ], - "groupName": "all minor dependencies", - "groupSlug": "all-minor-deps" + "groupName": "GoLang: all minor dependencies", + "groupSlug": "golang-all-minor-deps" }, { + "matchManagers": [ + "gomod" + ], "matchUpdateTypes": [ "patch" ], - "groupName": "all patch dependencies", - "groupSlug": "all-patch-deps" + "groupName": "GoLang: all patch dependencies", + "groupSlug": "golang-all-patch-deps" + }, + // node + // GLOBAL: ignore @types/node major and minor (manual upgrade with pipeline required) + { + "matchManagers": [ + "npm" + ], + "matchPackageNames": [ + "@types/node" + ], + "matchUpdateTypes": [ + "major", + "minor" + ], + "enabled": false + }, + { + "matchManagers": [ + "npm" + ], + "matchUpdateTypes": [ + "minor" + ], + "groupName": "Node: all minor dependencies", + "groupSlug": "node-all-minor-deps" + }, + { + "matchManagers": [ + "npm" + ], + "matchUpdateTypes": [ + "patch" + ], + "groupName": "Node: all patch dependencies", + "groupSlug": "node-all-patch-deps" } ] } diff --git a/server/api_middleware.go b/server/api_middleware.go index 9a30040..041c1c2 100644 --- a/server/api_middleware.go +++ b/server/api_middleware.go @@ -47,13 +47,6 @@ func middlewareAppVersion() gin.HandlerFunc { } } -func middlewareAppContentType() gin.HandlerFunc { - return func(c *gin.Context) { - c.Header(api.HeaderContentType, api.HeaderContentTypeApplicationJson) - c.Next() - } -} - // middlewareErrorHandler handles global error handling, does not overwrite any given status (see -1) func middlewareErrorHandler() gin.HandlerFunc { return func(c *gin.Context) { diff --git a/server/app.go b/server/app.go index beee3dc..22dc891 100644 --- a/server/app.go +++ b/server/app.go @@ -6,6 +6,7 @@ import ( "fmt" "git.myservermanager.com/varakh/upda/util" "github.com/gin-contrib/cors" + ginstatic "github.com/gin-contrib/static" ginzap "github.com/gin-contrib/zap" "github.com/gin-gonic/gin" _ "go.uber.org/automaxprocs" @@ -102,12 +103,39 @@ func Start() { router.Use(middlewareAppName()) router.Use(middlewareAppVersion()) - router.Use(middlewareAppContentType()) router.Use(middlewareErrorHandler()) router.Use(middlewareAppErrorRecoveryHandler()) router.NoRoute(middlewareGlobalNotFound()) router.NoMethod(middlewareGlobalMethodNotAllowed()) + // in production mode, the frontend is embedded on / during compile time utilizing -tags prod + // if the prod tag is missing, development setup is used and a dummy frontend is shown on / + var targetPath string + if env.appConfig.isDevelopment { + targetPath = "web_dev" + } else { + targetPath = "web/build" + } + router.Use(ginstatic.Serve("/", ginstatic.EmbedFolder(embeddedFiles, targetPath))) + + if !env.appConfig.isDevelopment { + embeddedFrontendGroup := router.Group("/") + embeddedFrontendGroup.GET("/conf/runtime-config.js", func(c *gin.Context) { + config := ` +const runtime_config = Object.freeze({ + VITE_API_URL: '%s/api/v1/', + VITE_APP_TITLE: '%s' +}); + +Object.defineProperty(window, 'runtime_config', { + value: runtime_config, + writable: false +}); + ` + c.Data(http.StatusOK, "text/javascript; charset=utf-8", []byte(fmt.Sprintf(config, env.webConfig.apiUrl, env.webConfig.title))) + }) + } + router.Use(cors.New(cors.Config{ AllowOrigins: env.serverConfig.corsAllowOrigins, AllowMethods: env.serverConfig.corsAllowMethods, diff --git a/server/app_embedded_ui_dev.go b/server/app_embedded_ui_dev.go new file mode 100644 index 0000000..40e5369 --- /dev/null +++ b/server/app_embedded_ui_dev.go @@ -0,0 +1,9 @@ +//go:build !prod +// +build !prod + +package server + +import "embed" + +//go:embed web_dev +var embeddedFiles embed.FS diff --git a/server/app_embedded_ui_prod.go b/server/app_embedded_ui_prod.go new file mode 100644 index 0000000..152bc10 --- /dev/null +++ b/server/app_embedded_ui_prod.go @@ -0,0 +1,9 @@ +//go:build prod +// +build prod + +package server + +import "embed" + +//go:embed web/build/* +var embeddedFiles embed.FS diff --git a/server/constants_env.go b/server/constants_env.go index bd33664..59abeed 100644 --- a/server/constants_env.go +++ b/server/constants_env.go @@ -16,6 +16,12 @@ const ( envTZ = "TZ" tzDefault = "Europe/Berlin" + envWebApiUrl = "WEB_API_URL" + webApiUrlDefault = "http://localhost" + + envWebTitle = "WEB_TITLE" + webTitleDefault = "upda" + envAuthMode = "AUTH_MODE" authModeDefault = authModeBasicSingle authModeBasicSingle = "basic_single" diff --git a/server/environment.go b/server/environment.go index 7c013b3..95e4e67 100644 --- a/server/environment.go +++ b/server/environment.go @@ -26,6 +26,11 @@ type appConfig struct { isDebug bool } +type webConfig struct { + title string + apiUrl string +} + type serverConfig struct { port int listen string @@ -85,6 +90,7 @@ type prometheusConfig struct { type Environment struct { appConfig *appConfig + webConfig *webConfig authConfig *authConfig serverConfig *serverConfig taskConfig *taskConfig @@ -183,6 +189,13 @@ func bootstrapEnvironment() *Environment { isDevelopment: isDevelopment, } + // web config + var webC *webConfig + webC = &webConfig{ + title: os.Getenv(envWebTitle), + apiUrl: os.Getenv(envWebApiUrl), + } + // server config var sc *serverConfig @@ -391,6 +404,7 @@ func bootstrapEnvironment() *Environment { } env := &Environment{appConfig: ac, + webConfig: webC, authConfig: authC, serverConfig: sc, taskConfig: tc, @@ -420,6 +434,10 @@ func bootstrapFromEnvironmentAndValidate() { // app setEnvKeyDefault(envTZ, tzDefault) + // web + setEnvKeyDefault(envWebTitle, webTitleDefault) + setEnvKeyDefault(envWebApiUrl, webApiUrlDefault) + // webhook setEnvKeyDefault(envWebhooksTokenLength, webhooksTokenLengthDefault) diff --git a/server/web/.env b/server/web/.env new file mode 100644 index 0000000..198459b --- /dev/null +++ b/server/web/.env @@ -0,0 +1,2 @@ +VITE_API_URL= +VITE_APP_TITLE=upda diff --git a/server/web/.env.development b/server/web/.env.development new file mode 100644 index 0000000..d01e56d --- /dev/null +++ b/server/web/.env.development @@ -0,0 +1,2 @@ +VITE_API_URL=http://localhost:8080/api/v1/ +VITE_APP_TITLE='upda dev' diff --git a/server/web/.gitattributes b/server/web/.gitattributes new file mode 100644 index 0000000..4b51d73 --- /dev/null +++ b/server/web/.gitattributes @@ -0,0 +1 @@ +_doc/*.png filter=lfs diff=lfs merge=lfs -text diff --git a/server/web/.gitignore b/server/web/.gitignore new file mode 100644 index 0000000..d0b6de8 --- /dev/null +++ b/server/web/.gitignore @@ -0,0 +1,32 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +/build* +.run/ + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage +ci/* +!ci/.gitkeep + +# production +build/ + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local +.eslintcache +.stylelintcache + +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.idea +/hs_err_pid14224.log diff --git a/server/web/.npmrc b/server/web/.npmrc new file mode 100644 index 0000000..d5831dd --- /dev/null +++ b/server/web/.npmrc @@ -0,0 +1,2 @@ +engine-strict=true +legacy-peer-deps=true diff --git a/server/web/.nvmrc b/server/web/.nvmrc new file mode 100644 index 0000000..172cbb9 --- /dev/null +++ b/server/web/.nvmrc @@ -0,0 +1,2 @@ +lts/iron +v20 diff --git a/server/web/.prettierignore b/server/web/.prettierignore new file mode 100644 index 0000000..5596a0d --- /dev/null +++ b/server/web/.prettierignore @@ -0,0 +1,7 @@ +node_modules +storybook-static +package-lock.json +dist +ci +build +public \ No newline at end of file diff --git a/server/web/.prettierrc b/server/web/.prettierrc new file mode 100644 index 0000000..0290456 --- /dev/null +++ b/server/web/.prettierrc @@ -0,0 +1,9 @@ +{ + "printWidth": 120, + "singleQuote": true, + "useTabs": true, + "arrowParens": "always", + "endOfLine": "lf", + "trailingComma": "none", + "bracketSameLine": true +} diff --git a/server/web/.stylelintrc b/server/web/.stylelintrc new file mode 100644 index 0000000..1c5e164 --- /dev/null +++ b/server/web/.stylelintrc @@ -0,0 +1,41 @@ +{ + "extends": ["stylelint-config-standard", "stylelint-prettier/recommended"], + "plugins": ["stylelint-order", "stylelint-declaration-block-no-ignored-properties", "stylelint-prettier"], + "rules": { + "comment-empty-line-before": null, + "selector-class-pattern": null, + "function-name-case": [ + "lower", + { + "ignoreFunctions": [] + } + ], + "no-invalid-double-slash-comments": null, + "no-descending-specificity": null, + "declaration-empty-line-before": null, + "selector-pseudo-element-colon-notation": "single", + "selector-pseudo-class-no-unknown": [ + true, + { + "ignorePseudoClasses": ["global"] + } + ], + "prettier/prettier": true + }, + "overrides": [ + { + "files": [ + "**/*.less" + ], + "customSyntax": "postcss-less" + } + ], + "ignoreFiles": [ + "**/*.json", + "**/*.svg", + "**/*.ts", + "**/*.tsx", + "**/*.js", + "node_modules/" + ] +} diff --git a/server/web/README.md b/server/web/README.md new file mode 100644 index 0000000..5cba87d --- /dev/null +++ b/server/web/README.md @@ -0,0 +1,75 @@ +# upda-ui + +Frontend for upda - **Up**date **Da**shboard in React, TypeScript, Redux. + +The main git repository is hosted at +_[https://git.myservermanager.com/varakh/upda-ui](https://git.myservermanager.com/varakh/upda-ui)_. Other repositories +are mirrors and pull requests, issues, and planning are managed there. + +Contributions are very welcome! + +[Official documentation](https://git.myservermanager.com/varakh/upda-docs) is hosted in a separate git repository. + +## Development & contribution + +Contributions are very welcome! + +### Prerequisites + +It's probably worth checking out a node environment manager like [nvm manager](https://github.com/nvm-sh/nvm). + +Required node and npm versions are outlined in the `package.json`. + +### Setup instructions + +Run `npm install` which should install all dependencies. + +### Start + +Use the `npm run start` command to start the development setup. Backend should be running. + +### Configuration magic in docker + +What about configuration? How does the pre-compiled set of html, js and css files know about the environment variables? + +In contrast to manual build, the docker image allows dynamic override of configuration, but only those outlined in +the `.env` file. + +In production, all configuration values are dynamically generated inside the Docker image with a helper script +called `docker-env.sh`: + +1. During docker build a template `.env` file and the helper script are copied to the docker image +2. Before the container's nginx is started, the helper script + 1. scans the `.env` file for known configuration variables and then + 2. adds their values to `conf/runtime-config.js` which is sourced inside the application in the + immutable `window.runtime_config` object + +During development, this `runtime-config.js` file is still loaded, but empty and thus the `getConfiguration()` ignores +it and prefers values from the sourced `.env.development`. + +This means that new environment variables need to be added to all `.env*` files! + +### Release + +Releases are handled by the SCM platform and pipeline. Creating a **new git tag**, creates a new release in the SCM +platform, uploads produced artifacts to that release and publishes docker images automatically. +**Before** doing so, please ensure that the **commit on `master`** has the **correct version settings** and has been +built successfully: + +* Adapt `package.json` and change `version` to the correct version number +* Invoke `npm install` once which properly sets the version inside the lock file +* Adapt language files, e.g., `en.json` and change `version` to the correct version number +* Adapt `CHANGELOG.md` to reflect changes and ensure a date is properly set in the header, also add a reference link + in footer +* Adapt `env: VERSION_*` in `.forgejo/workflows/release.yaml` + +After the release has been created, ensure to change the following settings for the _next development cycle_: + +* Adapt `package.json` and change `version` to the _next_ version number (semantic versioning applied, so `patch` + should bump patch level version and prepare branch for `develop` should bump minor or major version) +* Invoke `npm install` for each of those branches which properly sets the version inside the lock file +* Adapt language files, e.g., `en.json` and change `version` to the _next_ version number (semantic versioning + applied, so `patch` should bump patch level version and prepare branch for `develop` should bump minor or major + version) +* Adapt `CHANGELOG.md` and add an _UNRELEASED_ section +* Adapt `env: VERSION_*` in `.forgejo/workflows/release.yaml` to _next_ version number diff --git a/server/web/ci/.gitkeep b/server/web/ci/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/server/web/eslint.config.js b/server/web/eslint.config.js new file mode 100644 index 0000000..dae0dc3 --- /dev/null +++ b/server/web/eslint.config.js @@ -0,0 +1,132 @@ +import jsRecommendedLib from '@eslint/js'; +import typescriptPlugin from '@typescript-eslint/eslint-plugin'; +import typescriptParser from '@typescript-eslint/parser'; +import importPlugin from 'eslint-plugin-import'; +import jsxA11yPlugin from 'eslint-plugin-jsx-a11y'; +import prettierPlugin from 'eslint-plugin-prettier'; +import reactPlugin from 'eslint-plugin-react'; +import reactHooksPlugin from 'eslint-plugin-react-hooks'; +import sonarjsPlugin from 'eslint-plugin-sonarjs'; +import testingLibPlugin from 'eslint-plugin-testing-library'; +import { fixupPluginRules } from '@eslint/compat'; + +// eslint.config.js +export default [ + { + files: ['**/styles/**', '**/__tests__/**', '**/*.test.tsx', '**/*.test.ts', '*.less', 'src/**/*.tsx'], + languageOptions: { + parserOptions: { + ecmaFeatures: { + jsx: true + } + }, + parser: typescriptParser + }, + plugins: { + react: reactPlugin, + 'react-hooks': fixupPluginRules(reactHooksPlugin), + sonarjs: sonarjsPlugin, + import: fixupPluginRules(importPlugin), + 'jsx-a11y': jsxA11yPlugin, + '@typescript-eslint': typescriptPlugin, + prettier: prettierPlugin, + js: jsRecommendedLib, + 'testing-library': fixupPluginRules(testingLibPlugin) + }, + settings: { + react: { + version: 'detect' + }, + 'import/resolver': { + typescript: {}, + node: { + paths: ['src'], + extensions: ['.js', '.jsx', '.ts', '.tsx'] + } + } + }, + rules: { + ...jsRecommendedLib.configs.recommended.rules, + ...reactPlugin.configs.recommended.rules, + ...reactPlugin.configs['jsx-runtime'].rules, + ...reactHooksPlugin.configs.recommended.rules, + ...importPlugin.configs.recommended.rules, + ...jsxA11yPlugin.flatConfigs.recommended.rules, + semi: 'error', + 'no-unused-vars': 'off', + '@typescript-eslint/no-unused-vars': 'error', + 'no-undef': 'off', + 'prefer-const': 'error', + 'testing-library/no-debugging-utils': 'warn', + 'testing-library/no-dom-import': 'off', + '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/no-empty-function': 'off', + 'react/react-in-jsx-scope': 'off', + 'react/jsx-uses-react': 'off', + 'no-console': 'warn', + 'no-duplicate-imports': 'warn', + 'jsx-a11y/no-autofocus': 'off', + 'sonarjs/cognitive-complexity': 'off', + 'sonarjs/elseif-without-else': 'off', + 'sonarjs/max-switch-cases': 'error', + 'sonarjs/no-all-duplicated-branches': 'error', + 'sonarjs/no-collapsible-if': 'error', + 'sonarjs/no-collection-size-mischeck': 'error', + 'sonarjs/no-duplicate-string': 'off', + 'sonarjs/no-duplicated-branches': 'error', + 'sonarjs/no-element-overwrite': 'error', + 'sonarjs/no-empty-collection': 'error', + 'sonarjs/no-extra-arguments': 'error', + 'sonarjs/no-gratuitous-expressions': 'error', + 'sonarjs/no-identical-conditions': 'error', + 'sonarjs/no-identical-expressions': 'error', + 'sonarjs/no-identical-functions': 'error', + 'sonarjs/no-ignored-return': 'error', + 'sonarjs/no-inverted-boolean-check': 'error', + 'sonarjs/no-nested-switch': 'error', + 'sonarjs/no-nested-template-literals': 'error', + 'sonarjs/no-one-iteration-loop': 'error', + 'sonarjs/no-redundant-boolean': 'error', + 'sonarjs/no-redundant-jump': 'error', + 'sonarjs/no-same-line-conditional': 'error', + 'sonarjs/no-small-switch': 'error', + 'sonarjs/no-unused-collection': 'error', + 'sonarjs/no-use-of-empty-return-value': 'error', + 'sonarjs/no-useless-catch': 'error', + 'sonarjs/non-existent-operator': 'error', + 'sonarjs/prefer-immediate-return': 'error', + 'sonarjs/prefer-object-literal': 'error', + 'sonarjs/prefer-single-boolean-return': 'error', + 'sonarjs/prefer-while': 'error', + 'import/order': [ + 'warn', + { + alphabetize: { + caseInsensitive: true, + order: 'asc' + }, + groups: [['builtin', 'external', 'index', 'sibling', 'parent', 'internal']], + 'newlines-between': 'always', + pathGroups: [ + { + pattern: '*.less', + group: 'index', + patternOptions: { + matchBase: true + }, + position: 'before' + }, + { + pattern: '*.json', + group: 'index', + patternOptions: { + matchBase: true + }, + position: 'after' + } + ] + } + ] + } + } +]; diff --git a/server/web/index.html b/server/web/index.html new file mode 100644 index 0000000..ea861a5 --- /dev/null +++ b/server/web/index.html @@ -0,0 +1,18 @@ + + + + + + + + + + + upda + + + +

+ + + diff --git a/server/web/package-lock.json b/server/web/package-lock.json new file mode 100644 index 0000000..3d7bd11 --- /dev/null +++ b/server/web/package-lock.json @@ -0,0 +1,28419 @@ +{ + "name": "upda-ui", + "version": "4.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "upda-ui", + "version": "4.0.0", + "dependencies": { + "@ant-design/icons": "^5.5.1", + "@ant-design/pro-layout": "^7.21.1", + "@reduxjs/toolkit": "^2.3.0", + "@testing-library/react": "^16.0.1", + "@testing-library/user-event": "^14.5.2", + "@types/react": "^18.3.12", + "@types/react-dom": "^18.3.1", + "@uiw/react-md-editor": "^4.0.4", + "antd": "^5.21.5", + "file-saver": "^2.0.5", + "html-react-parser": "^5.1.18", + "i18next": "^23.16.3", + "i18next-browser-languagedetector": "^8.0.0", + "linkify-html": "^4.1.3", + "linkifyjs": "^4.1.3", + "lodash": "^4.17.21", + "moment-timezone": "^0.5.46", + "react": "^18.3.1", + "react-copy-to-clipboard": "^5.1.0", + "react-dom": "^18.3.1", + "react-i18next": "^15.1.0", + "react-redux": "^9.1.2", + "react-router-dom": "^6.27.0", + "react-virtualized": "^9.22.5", + "typescript": "^5.6.3" + }, + "devDependencies": { + "@babel/register": "^7.25.9", + "@eslint/compat": "^1.2.1", + "@eslint/js": "^9.13.0", + "@types/file-saver": "^2.0.7", + "@types/lodash": "^4.17.12", + "@types/node": "^20.16.5", + "@types/react-copy-to-clipboard": "^5.0.7", + "@types/react-virtualized": "^9.21.30", + "@typescript-eslint/eslint-plugin": "^8.11.0", + "@typescript-eslint/parser": "^8.11.0", + "@vitejs/plugin-react": "^4.3.3", + "@vitest/coverage-v8": "^2.1.3", + "babel-plugin-import": "^1.13.8", + "c8": "^10.1.2", + "eslint": "^9.13.0", + "eslint-config-prettier": "^9.1.0", + "eslint-formatter-checkstyle": "^8.40.0", + "eslint-import-resolver-typescript": "^3.6.3", + "eslint-plugin-disable": "^2.0.3", + "eslint-plugin-import": "^2.31.0", + "eslint-plugin-jsx-a11y": "^6.10.1", + "eslint-plugin-prettier": "^5.2.1", + "eslint-plugin-react": "^7.37.2", + "eslint-plugin-react-hooks": "^5.0.0", + "eslint-plugin-sonarjs": "^2.0.4", + "eslint-plugin-testing-library": "^6.4.0", + "jsdom": "^25.0.1", + "less": "^4.2.0", + "less-loader": "^12.2.0", + "postcss-less": "^6.0.0", + "postcss-markdown": "^1.2.0", + "prettier": "^3.3.3", + "rimraf": "^6.0.1", + "stylelint": "^16.10.0", + "stylelint-config-standard": "^36.0.1", + "stylelint-declaration-block-no-ignored-properties": "^2.8.0", + "stylelint-order": "^6.0.4", + "stylelint-prettier": "^5.0.2", + "vite": "^5.4.10", + "vite-plugin-eslint2": "^5.0.1", + "vite-plugin-stylelint": "^5.3.1", + "vite-plugin-svgr": "^4.2.0", + "vite-tsconfig-paths": "^5.0.1", + "vitest": "^2.1.3" + }, + "engines": { + "node": "^20", + "npm": "^10" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@ant-design/colors": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-7.1.0.tgz", + "integrity": "sha512-MMoDGWn1y9LdQJQSHiCC20x3uZ3CwQnv9QMz6pCmJOrqdgM9YxsoVVY0wtrdXbmfSgnV0KNk6zi09NAhMR2jvg==", + "license": "MIT", + "dependencies": { + "@ctrl/tinycolor": "^3.6.1" + } + }, + "node_modules/@ant-design/cssinjs": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/@ant-design/cssinjs/-/cssinjs-1.21.1.tgz", + "integrity": "sha512-tyWnlK+XH7Bumd0byfbCiZNK43HEubMoCcu9VxwsAwiHdHTgWa+tMN0/yvxa+e8EzuFP1WdUNNPclRpVtD33lg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.11.1", + "@emotion/hash": "^0.8.0", + "@emotion/unitless": "^0.7.5", + "classnames": "^2.3.1", + "csstype": "^3.1.3", + "rc-util": "^5.35.0", + "stylis": "^4.3.3" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/@ant-design/cssinjs-utils": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@ant-design/cssinjs-utils/-/cssinjs-utils-1.1.1.tgz", + "integrity": "sha512-2HAiyGGGnM0es40SxdszeQAU5iWp41wBIInq+ONTCKjlSKOrzQfnw4JDtB8IBmqE6tQaEKwmzTP2LGdt5DSwYQ==", + "license": "MIT", + "dependencies": { + "@ant-design/cssinjs": "^1.21.0", + "@babel/runtime": "^7.23.2", + "rc-util": "^5.38.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@ant-design/fast-color": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@ant-design/fast-color/-/fast-color-2.0.6.tgz", + "integrity": "sha512-y2217gk4NqL35giHl72o6Zzqji9O7vHh9YmhUVkPtAOpoTCH4uWxo/pr4VE8t0+ChEPs0qo4eJRC5Q1eXWo3vA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.24.7" + }, + "engines": { + "node": ">=8.x" + } + }, + "node_modules/@ant-design/icons": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-5.5.1.tgz", + "integrity": "sha512-0UrM02MA2iDIgvLatWrj6YTCYe0F/cwXvVE0E2SqGrL7PZireQwgEKTKBisWpZyal5eXZLvuM98kju6YtYne8w==", + "license": "MIT", + "dependencies": { + "@ant-design/colors": "^7.0.0", + "@ant-design/icons-svg": "^4.4.0", + "@babel/runtime": "^7.24.8", + "classnames": "^2.2.6", + "rc-util": "^5.31.1" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/@ant-design/icons-svg": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.4.2.tgz", + "integrity": "sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA==" + }, + "node_modules/@ant-design/pro-layout": { + "version": "7.21.1", + "resolved": "https://registry.npmjs.org/@ant-design/pro-layout/-/pro-layout-7.21.1.tgz", + "integrity": "sha512-9B+MBPTYZbhe5xdUxgfikoUZtB/77R3hAve8iI4fVNBoc4KAm/wpejasvKgWZn/8gRht8KOXfmfe2ngjz/BWOA==", + "license": "MIT", + "dependencies": { + "@ant-design/cssinjs": "^1.21.1", + "@ant-design/icons": "^5.0.0", + "@ant-design/pro-provider": "2.15.1", + "@ant-design/pro-utils": "2.16.1", + "@babel/runtime": "^7.18.0", + "@umijs/route-utils": "^4.0.0", + "@umijs/use-params": "^1.0.9", + "classnames": "^2.3.2", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "omit.js": "^2.0.2", + "path-to-regexp": "8.0.0", + "rc-resize-observer": "^1.1.0", + "rc-util": "^5.0.6", + "swr": "^2.0.0", + "warning": "^4.0.3" + }, + "peerDependencies": { + "antd": "^4.24.15 || ^5.11.2", + "react": ">=17.0.0", + "react-dom": ">=17.0.0" + } + }, + "node_modules/@ant-design/pro-provider": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/@ant-design/pro-provider/-/pro-provider-2.15.1.tgz", + "integrity": "sha512-UiNhQ3Yl+h8liC24LLWpqbcdhC9ggiXvHeCYrqBHjOx2WNFWpWO5JP0327k3RQjShprt+jZQ/cdNHx6s7BToXA==", + "license": "MIT", + "dependencies": { + "@ant-design/cssinjs": "^1.21.1", + "@babel/runtime": "^7.18.0", + "@ctrl/tinycolor": "^3.4.0", + "dayjs": "^1.11.10", + "rc-util": "^5.0.1", + "swr": "^2.0.0" + }, + "peerDependencies": { + "antd": "^4.24.15 || ^5.11.2", + "react": ">=17.0.0", + "react-dom": ">=17.0.0" + } + }, + "node_modules/@ant-design/pro-utils": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/@ant-design/pro-utils/-/pro-utils-2.16.1.tgz", + "integrity": "sha512-GaBEgP638fvddO0YqevuIT3O8pQIrqfHhlQ4UDnf1JkhVxuVxP3XdwDituQWnyRoxLPSjNBZBOBghBBMb8nWsg==", + "license": "MIT", + "dependencies": { + "@ant-design/icons": "^5.0.0", + "@ant-design/pro-provider": "2.15.1", + "@babel/runtime": "^7.18.0", + "classnames": "^2.3.2", + "dayjs": "^1.11.10", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "rc-util": "^5.0.6", + "safe-stable-stringify": "^2.4.3", + "swr": "^2.0.0" + }, + "peerDependencies": { + "antd": "^4.24.15 || ^5.11.2", + "react": ">=17.0.0", + "react-dom": ">=17.0.0" + } + }, + "node_modules/@ant-design/react-slick": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-1.1.2.tgz", + "integrity": "sha512-EzlvzE6xQUBrZuuhSAFTdsr4P2bBBHGZwKFemEfq8gIGyIQCxalYfZW/T2ORbtQx5rU69o+WycP3exY/7T1hGA==", + "dependencies": { + "@babel/runtime": "^7.10.4", + "classnames": "^2.2.5", + "json2mq": "^0.2.0", + "resize-observer-polyfill": "^1.5.1", + "throttle-debounce": "^5.0.0" + }, + "peerDependencies": { + "react": ">=16.9.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.25.9.tgz", + "integrity": "sha512-z88xeGxnzehn2sqZ8UdGQEvYErF1odv2CftxInpSYJt6uHuPe9YjahKZITGs3l5LeI9d2ROG+obuDAoSlqbNfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.25.9", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.9.tgz", + "integrity": "sha512-yD+hEuJ/+wAJ4Ox2/rpNv5HIuPG82x3ZlQvYVn8iYCprdxzE7P1udpGF1jyjQVBU4dgznN+k2h103vxZ7NdPyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", + "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "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==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/eslint-parser": { + "version": "7.25.1", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.25.1.tgz", + "integrity": "sha512-Y956ghgTT4j7rKesabkh5WeqgSFZVFwaPR0IWFm7KFHFmmJ4afbG49SmfW4S+GyRPx0Dy5jxEWA5t0rpxfElWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0", + "eslint": "^7.5.0 || ^8.0.0 || ^9.0.0" + } + }, + "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10" + } + }, + "node_modules/@babel/eslint-parser/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.9.tgz", + "integrity": "sha512-omlUGkr5EaoIJrhLf9CJ0TvjBRpd9+AXRG//0GEQ9THSo8wPiTlbpy1/Ow8ZTrbXpjd9FHXfbFQx32I04ht0FA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.9", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.9" + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/@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==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/@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==", + "dev": true, + "license": "MIT", + "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", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "ISC", + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "regexpu-core": "^6.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", + "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", + "dev": true, + "license": "MIT", + "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" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.9.tgz", + "integrity": "sha512-TvLZY/F3+GvdRYFZFyxMvnsKi+4oJdgZzU3BoGN9Uc2d9C6zfNwJcKKhjqLAhK8i46mv93jsO74fDh3ih6rpHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-simple-access": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.9" + }, + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-wrap-function": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.9.tgz", + "integrity": "sha512-oKWp3+usOJSzDZOucZUAMayhPz/xVjzymyDzUN8dk0Wd3RWMlGLXi07UCQ/CgQVb8LvXx3XBajJH4XGgkt7H7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.9.tgz", + "integrity": "sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.25.9", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/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==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/highlight/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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.9.tgz", + "integrity": "sha512-aI3jjAAO1fh7vY/pBGsn1i9LDbRP43+asrRlkPuTXW5yHXtd1NgTEMudbBoDDxrf1daEEfPJqR+JBMakzrR4Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.9" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.7.tgz", + "integrity": "sha512-RL9GR0pUG5Kc8BUWLNDm2T5OpYwSX15r98I0IkgmRQTXuELq/OynH8xtMTMvTJFjXbMWFVTKtYkTaYQsuAwQlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-decorators": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.25.9.tgz", + "integrity": "sha512-ryzI0McXUPJnRCvMo4lumIKZUzhYUO/ScI+Mz4YVaTLt04DHNSjEUjKVvbzQjZFLuod/cYEc07mJWhzl6v4DPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-flow": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.25.9.tgz", + "integrity": "sha512-F3FVgxwamIRS3+kfjNaPARX0DSAiH1exrQUVajXiR34hkdA9eyK+8rJbnu55DQjKL/ayuXqjNr2HDXwBEMEtFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.9.tgz", + "integrity": "sha512-4GHX5uzr5QMOOuzV0an9MFju4hKlm0OyePl/lHhcsTVae5t/IKVHnb8W67Vr6FuLlk5lPqLB7n7O+K5R46emYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.9.tgz", + "integrity": "sha512-u3EN9ub8LyYvgTnrgp8gboElouayiwPdnM7x5tcnW3iSt09/lQYPwMNK40I9IUxo7QOZhAsPHCmmuO7EPdruqg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@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" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-remap-async-to-generator": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "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" + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.25.9.tgz", + "integrity": "sha512-UIf+72C7YJ+PJ685/PpATbCz00XqiFEzHX5iysRwfvNT0Ko+FaXSvRgLytFSp8xUItrG9pFM/KoBBZDrY/cYyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.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==", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/template": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-flow-strip-types": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.25.9.tgz", + "integrity": "sha512-/VVukELzPDdci7UUsWQaSkhgnjIWXnIyRpM02ldxaVoFK96c41So8JcKT3m0gYjyv7j5FNPGS5vfELrWalkbDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-syntax-flow": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-simple-access": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.9.tgz", + "integrity": "sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.9.tgz", + "integrity": "sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.4.tgz", + "integrity": "sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.25.4", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-validator-option": "^7.24.8", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.3", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.0", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.0", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.0", + "@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.24.7", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@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.24.7", + "@babel/plugin-transform-async-generator-functions": "^7.25.4", + "@babel/plugin-transform-async-to-generator": "^7.24.7", + "@babel/plugin-transform-block-scoped-functions": "^7.24.7", + "@babel/plugin-transform-block-scoping": "^7.25.0", + "@babel/plugin-transform-class-properties": "^7.25.4", + "@babel/plugin-transform-class-static-block": "^7.24.7", + "@babel/plugin-transform-classes": "^7.25.4", + "@babel/plugin-transform-computed-properties": "^7.24.7", + "@babel/plugin-transform-destructuring": "^7.24.8", + "@babel/plugin-transform-dotall-regex": "^7.24.7", + "@babel/plugin-transform-duplicate-keys": "^7.24.7", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.0", + "@babel/plugin-transform-dynamic-import": "^7.24.7", + "@babel/plugin-transform-exponentiation-operator": "^7.24.7", + "@babel/plugin-transform-export-namespace-from": "^7.24.7", + "@babel/plugin-transform-for-of": "^7.24.7", + "@babel/plugin-transform-function-name": "^7.25.1", + "@babel/plugin-transform-json-strings": "^7.24.7", + "@babel/plugin-transform-literals": "^7.25.2", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", + "@babel/plugin-transform-member-expression-literals": "^7.24.7", + "@babel/plugin-transform-modules-amd": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.8", + "@babel/plugin-transform-modules-systemjs": "^7.25.0", + "@babel/plugin-transform-modules-umd": "^7.24.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", + "@babel/plugin-transform-new-target": "^7.24.7", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", + "@babel/plugin-transform-numeric-separator": "^7.24.7", + "@babel/plugin-transform-object-rest-spread": "^7.24.7", + "@babel/plugin-transform-object-super": "^7.24.7", + "@babel/plugin-transform-optional-catch-binding": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.8", + "@babel/plugin-transform-parameters": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.25.4", + "@babel/plugin-transform-private-property-in-object": "^7.24.7", + "@babel/plugin-transform-property-literals": "^7.24.7", + "@babel/plugin-transform-regenerator": "^7.24.7", + "@babel/plugin-transform-reserved-words": "^7.24.7", + "@babel/plugin-transform-shorthand-properties": "^7.24.7", + "@babel/plugin-transform-spread": "^7.24.7", + "@babel/plugin-transform-sticky-regex": "^7.24.7", + "@babel/plugin-transform-template-literals": "^7.24.7", + "@babel/plugin-transform-typeof-symbol": "^7.24.8", + "@babel/plugin-transform-unicode-escapes": "^7.24.7", + "@babel/plugin-transform-unicode-property-regex": "^7.24.7", + "@babel/plugin-transform-unicode-regex": "^7.24.7", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.4", + "@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.37.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-flow": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.24.7.tgz", + "integrity": "sha512-NL3Lo0NorCU607zU3NwRyJbpaB6E3t0xtd3LfAQKDfkeX4/ggcDXvkmkW42QWT5owUeW/jAe4hn+2qvkV1IbfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "@babel/plugin-transform-flow-strip-types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.24.7.tgz", + "integrity": "sha512-AAH4lEkpmzFWrGVlHaxJB7RLH21uPQ9+He+eFLWHmF9IuFQVugz8eAsamaW0DXRrTfco5zj1wWtpdcXJUOfsag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "@babel/plugin-transform-react-display-name": "^7.24.7", + "@babel/plugin-transform-react-jsx": "^7.24.7", + "@babel/plugin-transform-react-jsx-development": "^7.24.7", + "@babel/plugin-transform-react-pure-annotations": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/register": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.25.9.tgz", + "integrity": "sha512-8D43jXtGsYmEeDvm4MWHYUpWf8iiXgWYx3fW7E7Wb7Oe6FWqJPl5K6TuFW0dOwNZzEE5rjlaSJYH9JjrUKJszA==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone-deep": "^4.0.1", + "find-cache-dir": "^2.0.0", + "make-dir": "^2.1.0", + "pirates": "^4.0.6", + "source-map-support": "^0.5.16" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.9.tgz", + "integrity": "sha512-4zpTHZ9Cm6L9L+uIqghQX8ZXg8HKFcjYO3qHoO8zTmRm6HQUJ8SSJ+KRvbMBZn0EGVlT4DRYeQ/6hjlyXBh+Kg==", + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime/node_modules/regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "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==", + "dev": true, + "license": "MIT", + "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", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.9.tgz", + "integrity": "sha512-OwS2CM5KocvQ/k7dFJa8i5bNGJP0hXWfVCfDkqRFP1IreH1JDC7wG6eCYCi0+McbfT8OR/kNqsI0UU0xP9H6PQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "node_modules/@csstools/css-parser-algorithms": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.1.tgz", + "integrity": "sha512-lSquqZCHxDfuTg/Sk2hiS0mcSFCEBuj49JfzPHJogDBT0mGCyY5A1AQzBWngitrp7i1/HAZpIgzF/VjhOEIJIg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-tokenizer": "^3.0.1" + } + }, + "node_modules/@csstools/css-tokenizer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.1.tgz", + "integrity": "sha512-UBqaiu7kU0lfvaP982/o3khfXccVlHPWp0/vwwiIgDF0GmqqqxoiXC/6FCjlS9u92f7CoEz6nXKQnrn1kIAkOw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@csstools/media-query-list-parser": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-3.0.1.tgz", + "integrity": "sha512-HNo8gGD02kHmcbX6PvCoUuOQvn4szyB9ca63vZHKX5A81QytgDG4oxG4IaEfHTlEZSZ6MjPEMWIVU+zF2PZcgw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.1", + "@csstools/css-tokenizer": "^3.0.1" + } + }, + "node_modules/@csstools/selector-specificity": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-4.0.0.tgz", + "integrity": "sha512-189nelqtPd8++phaHNwYovKZI0FOzH1vQEE3QhHHkNIGrg5fSs9CbYP3RvfEH5geztnIA9Jwq91wyOIwAW5JIQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^6.1.0" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@dual-bundle/import-meta-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", + "integrity": "sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/@emotion/hash": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", + "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==", + "license": "MIT" + }, + "node_modules/@emotion/unitless": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", + "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==", + "license": "MIT" + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz", + "integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/compat": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@eslint/compat/-/compat-1.2.1.tgz", + "integrity": "sha512-JbHG2TWuCeNzh87fXo+/46Z1LEo9DBA9T188d0fZgGxAD+cNyS6sx9fdiyxjGPBMyQVRlCutTByZ6a5+YMkF7g==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "peerDependencies": { + "eslint": "^9.10.0" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/@eslint/config-array": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.18.0.tgz", + "integrity": "sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.4", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.7.0.tgz", + "integrity": "sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", + "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "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/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@eslint/js": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.13.0.tgz", + "integrity": "sha512-IFLyoY4d72Z5y/6o/BazFBezupzI/taV8sGumxTAVw3lXG9A6md1Dc34T9s1FoD/an9pJH8RHbAxsaEbBed9lA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", + "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.1.tgz", + "integrity": "sha512-HFZ4Mp26nbWk9d/BpvP0YNL6W4UoZF0VFcTw/aPPA8RpOxeFQgK+ClABGgAUXs9Y/RGX/l1vOmrqz1MQt9MNuw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.0.tgz", + "integrity": "sha512-2cbWIHbZVEweE853g8jymffCA+NCMiuqeECeBBLm8dg2oFdjuGJhgN4UAbI+6v0CKbbhvtXA4qV8YR5Ji86nmw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.5", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.5.tgz", + "integrity": "sha512-KSPA4umqSG4LHYRodq31VDwKAvaTF4xmVlzM8Aeh4PlU1JQ3IG0wiA8C25d3RQ9nJyM3mBHyI53K06VVL/oFFg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.0", + "@humanwhocodes/retry": "^0.3.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@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==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.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==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "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==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-scope": "5.1.1" + } + }, + "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==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "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==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nolyfill/is-core-module": { + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", + "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.4.0" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@pkgr/core": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", + "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/@rc-component/async-validator": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@rc-component/async-validator/-/async-validator-5.0.4.tgz", + "integrity": "sha512-qgGdcVIF604M9EqjNF0hbUTz42bz/RDtxWdWuU5EQe3hi7M8ob54B6B35rOsvX5eSvIHIzT9iH1R3n+hk3CGfg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.24.4" + }, + "engines": { + "node": ">=14.x" + } + }, + "node_modules/@rc-component/color-picker": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@rc-component/color-picker/-/color-picker-2.0.1.tgz", + "integrity": "sha512-WcZYwAThV/b2GISQ8F+7650r5ZZJ043E57aVBFkQ+kSY4C6wdofXgB0hBx+GPGpIU0Z81eETNoDUJMr7oy/P8Q==", + "license": "MIT", + "dependencies": { + "@ant-design/fast-color": "^2.0.6", + "@babel/runtime": "^7.23.6", + "classnames": "^2.2.6", + "rc-util": "^5.38.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/context": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@rc-component/context/-/context-1.4.0.tgz", + "integrity": "sha512-kFcNxg9oLRMoL3qki0OMxK+7g5mypjgaaJp/pkOis/6rVxma9nJBF/8kCIuTYHUQNr0ii7MxqE33wirPZLJQ2w==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/mini-decimal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rc-component/mini-decimal/-/mini-decimal-1.1.0.tgz", + "integrity": "sha512-jS4E7T9Li2GuYwI6PyiVXmxTiM6b07rlD9Ge8uGZSCz3WlzcG5ZK7g5bbuKNeZ9pgUuPK/5guV781ujdVpm4HQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.0" + }, + "engines": { + "node": ">=8.x" + } + }, + "node_modules/@rc-component/mutate-observer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rc-component/mutate-observer/-/mutate-observer-1.1.0.tgz", + "integrity": "sha512-QjrOsDXQusNwGZPf4/qRQasg7UFEj06XiCJ8iuiq/Io7CrHrgVi6Uuetw60WAMG1799v+aM8kyc+1L/GBbHSlw==", + "dependencies": { + "@babel/runtime": "^7.18.0", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/portal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@rc-component/portal/-/portal-1.1.1.tgz", + "integrity": "sha512-m8w3dFXX0H6UkJ4wtfrSwhe2/6M08uz24HHrF8pWfAXPwA9hwCuTE5per/C86KwNLouRpwFGcr7LfpHaa1F38g==", + "dependencies": { + "@babel/runtime": "^7.18.0", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/qrcode": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rc-component/qrcode/-/qrcode-1.0.0.tgz", + "integrity": "sha512-L+rZ4HXP2sJ1gHMGHjsg9jlYBX/SLN2D6OxP9Zn3qgtpMWtO2vUfxVFwiogHpAIqs54FnALxraUy/BCO1yRIgg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.24.7", + "classnames": "^2.3.2", + "rc-util": "^5.38.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/tour": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/@rc-component/tour/-/tour-1.15.1.tgz", + "integrity": "sha512-Tr2t7J1DKZUpfJuDZWHxyxWpfmj8EZrqSgyMZ+BCdvKZ6r1UDsfU46M/iWAAFBy961Ssfom2kv5f3UcjIL2CmQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.0", + "@rc-component/portal": "^1.0.0-9", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/trigger": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@rc-component/trigger/-/trigger-2.2.3.tgz", + "integrity": "sha512-X1oFIpKoXAMXNDYCviOmTfuNuYxE4h5laBsyCqVAVMjNHxoF3/uiyA7XdegK1XbCvBbCZ6P6byWrEoDRpKL8+A==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.23.2", + "@rc-component/portal": "^1.1.0", + "classnames": "^2.3.2", + "rc-motion": "^2.0.0", + "rc-resize-observer": "^1.3.1", + "rc-util": "^5.38.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@reduxjs/toolkit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.3.0.tgz", + "integrity": "sha512-WC7Yd6cNGfHx8zf+iu+Q1UPTfEcXhQ+ATi7CV1hlrSAaQBdlPzg7Ww/wJHNQem7qG9rxmWoFCDCPubSvFObGzA==", + "license": "MIT", + "dependencies": { + "immer": "^10.0.3", + "redux": "^5.0.1", + "redux-thunk": "^3.1.0", + "reselect": "^5.1.0" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18", + "react-redux": "^7.2.1 || ^8.1.3 || ^9.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-redux": { + "optional": true + } + } + }, + "node_modules/@remix-run/router": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.20.0.tgz", + "integrity": "sha512-mUnk8rPJBI9loFDZ+YzPGdeniYK+FTmRD1TMCz7ev2SNIozyKKpnGgsxO34u6Z4z/t0ITuu7voi/AshfsGsgFg==", + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.3.tgz", + "integrity": "sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.0.tgz", + "integrity": "sha512-Q6HJd7Y6xdB48x8ZNVDOqsbh2uByBhgK8PiQgPhwkIw/HC/YX5Ghq2mQY5sRMZWHb3VsFkWooUVOZHKr7DmDIA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.0.tgz", + "integrity": "sha512-ijLnS1qFId8xhKjT81uBHuuJp2lU4x2yxa4ctFPtG+MqEE6+C5f/+X/bStmxapgmwLwiL3ih122xv8kVARNAZA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.0.tgz", + "integrity": "sha512-bIv+X9xeSs1XCk6DVvkO+S/z8/2AMt/2lMqdQbMrmVpgFvXlmde9mLcbQpztXm1tajC3raFDqegsH18HQPMYtA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.0.tgz", + "integrity": "sha512-X6/nOwoFN7RT2svEQWUsW/5C/fYMBe4fnLK9DQk4SX4mgVBiTA9h64kjUYPvGQ0F/9xwJ5U5UfTbl6BEjaQdBQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.0.tgz", + "integrity": "sha512-0KXvIJQMOImLCVCz9uvvdPgfyWo93aHHp8ui3FrtOP57svqrF/roSSR5pjqL2hcMp0ljeGlU4q9o/rQaAQ3AYA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.0.tgz", + "integrity": "sha512-it2BW6kKFVh8xk/BnHfakEeoLPv8STIISekpoF+nBgWM4d55CZKc7T4Dx1pEbTnYm/xEKMgy1MNtYuoA8RFIWw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.0.tgz", + "integrity": "sha512-i0xTLXjqap2eRfulFVlSnM5dEbTVque/3Pi4g2y7cxrs7+a9De42z4XxKLYJ7+OhE3IgxvfQM7vQc43bwTgPwA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.0.tgz", + "integrity": "sha512-9E6MKUJhDuDh604Qco5yP/3qn3y7SLXYuiC0Rpr89aMScS2UAmK1wHP2b7KAa1nSjWJc/f/Lc0Wl1L47qjiyQw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.0.tgz", + "integrity": "sha512-2XFFPJ2XMEiF5Zi2EBf4h73oR1V/lycirxZxHZNc93SqDN/IWhYYSYj8I9381ikUFXZrz2v7r2tOVk2NBwxrWw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.0.tgz", + "integrity": "sha512-M3Dg4hlwuntUCdzU7KjYqbbd+BLq3JMAOhCKdBE3TcMGMZbKkDdJ5ivNdehOssMCIokNHFOsv7DO4rlEOfyKpg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.0.tgz", + "integrity": "sha512-mjBaoo4ocxJppTorZVKWFpy1bfFj9FeCMJqzlMQGjpNPY9JwQi7OuS1axzNIk0nMX6jSgy6ZURDZ2w0QW6D56g==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.0.tgz", + "integrity": "sha512-ZXFk7M72R0YYFN5q13niV0B7G8/5dcQ9JDp8keJSfr3GoZeXEoMHP/HlvqROA3OMbMdfr19IjCeNAnPUG93b6A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.0.tgz", + "integrity": "sha512-w1i+L7kAXZNdYl+vFvzSZy8Y1arS7vMgIy8wusXJzRrPyof5LAb02KGr1PD2EkRcl73kHulIID0M501lN+vobQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.0.tgz", + "integrity": "sha512-VXBrnPWgBpVDCVY6XF3LEW0pOU51KbaHhccHw6AS6vBWIC60eqsH19DAeeObl+g8nKAz04QFdl/Cefta0xQtUQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.0.tgz", + "integrity": "sha512-xrNcGDU0OxVcPTH/8n/ShH4UevZxKIO6HJFK0e15XItZP2UcaiLFd5kiX7hJnqCbSztUF8Qot+JWBC/QXRPYWQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.0.tgz", + "integrity": "sha512-fbMkAF7fufku0N2dE5TBXcNlg0pt0cJue4xBRE2Qc5Vqikxr4VCgKj/ht6SMdFcOacVA9rqF70APJ8RN/4vMJw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-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==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-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==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-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==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-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==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-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==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-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==", + "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" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-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==", + "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" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/core/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==", + "dev": true, + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "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==", + "dev": true, + "dependencies": { + "@babel/types": "^7.21.3", + "entities": "^4.4.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "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==", + "dev": true, + "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" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@testing-library/react": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.0.1.tgz", + "integrity": "sha512-dSmwJVtJXmku+iocRhWOUFbrERC76TX2Mnf0ATODz8brzAZrMBbzLwQixlBSanZxR6LddK3eiwpSFZgDET1URg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@testing-library/dom": "^10.0.0", + "@types/react": "^18.0.0", + "@types/react-dom": "^18.0.0", + "react": "^18.0.0", + "react-dom": "^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@testing-library/user-event": { + "version": "14.5.2", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.5.2.tgz", + "integrity": "sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==", + "engines": { + "node": ">=12", + "npm": ">=6" + }, + "peerDependencies": { + "@testing-library/dom": ">=7.21.4" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.6", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.6.tgz", + "integrity": "sha512-66BXMKb/sUWbMdBNdMvajU7i/44RkrA3z/Yt1c7R5xejt8qh84iU54yUWCtm0QwGJlDcf/gg4zd/x4mpLAlb/w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.3.tgz", + "integrity": "sha512-ciwyCLeuRfxboZ4isgdNZi/tkt06m8Tw6uGbBSBgWrnnZGNXiEyM27xc/PjXGQLqlZ6ylbgHMnm7ccF9tCkOeQ==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.3", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.3.tgz", + "integrity": "sha512-Lsh766rGEFbaxMIDH7Qa+Yha8cMVI3qAK6CHt3OR0YfxOIn5Z54iHiyDRycHrBqeIiqGa20Kpsv1cavfBKkRSw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/debug": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.10.tgz", + "integrity": "sha512-tOSCru6s732pofZ+sMv9o4o3Zc+Sa8l3bxd/tweTQudFn06vAzb13ZX46Zi6m6EJ+RUbRTHvgQJ1gBtSgkaUYA==", + "dependencies": { + "@types/ms": "*" + } + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/file-saver": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/file-saver/-/file-saver-2.0.7.tgz", + "integrity": "sha512-dNKVfHd/jk0SkR/exKGj2ggkB45MAkzvWCaqLUUgkyjITkGNzH8H+yUwr+BLJUBjZOe9w8X3wgmXhZDRg1ED6A==", + "dev": true + }, + "node_modules/@types/hast": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz", + "integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "node_modules/@types/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==", + "dev": true + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "node_modules/@types/lodash": { + "version": "4.17.12", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.12.tgz", + "integrity": "sha512-sviUmCE8AYdaF/KIHLDJBQgeYzPBI0vf/17NaYehBJfYD1j6/L95Slh07NlyK2iNyBNaEkb3En2jRt+a8y3xZQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/mdast": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz", + "integrity": "sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==", + "dev": true, + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/ms": { + "version": "0.7.33", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.33.tgz", + "integrity": "sha512-AuHIyzR5Hea7ij0P9q7vx7xu4z0C28ucwjAZC0ja7JhINyCnOw8/DnvAPQQ9TfOlCtZAmCERKQX9+o1mgQhuOQ==" + }, + "node_modules/@types/node": { + "version": "20.16.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.16.5.tgz", + "integrity": "sha512-VwYCweNo3ERajwy0IUlqqcyZ8/A7Zwa9ZP3MnENWcB11AejO+tLy3pu850goUW2FC/IJMdZUfKpX/yxL1gymCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.19.2" + } + }, + "node_modules/@types/prismjs": { + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.0.tgz", + "integrity": "sha512-ZTaqn/qSqUuAq1YwvOFQfVW1AR/oQJlLSZVustdjwI+GZ8kr0MSHBj0tsXPW1EqHubx50gtBEjbPGsdZwQwCjQ==" + }, + "node_modules/@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + }, + "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==", + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-copy-to-clipboard": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/@types/react-copy-to-clipboard/-/react-copy-to-clipboard-5.0.7.tgz", + "integrity": "sha512-Gft19D+as4M+9Whq1oglhmK49vqPhcLzk8WfvfLvaYMIPYanyfLy0+CwFucMJfdKoSFyySPmkkWn8/E6voQXjQ==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ==", + "license": "MIT", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/react-virtualized": { + "version": "9.21.30", + "resolved": "https://registry.npmjs.org/@types/react-virtualized/-/react-virtualized-9.21.30.tgz", + "integrity": "sha512-4l2TFLQ8BCjNDQlvH85tU6gctuZoEdgYzENQyZHpgTHU7hoLzYgPSOALMAeA58LOWua8AzC6wBivPj1lfl6JgQ==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "@types/react": "*" + } + }, + "node_modules/@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "dev": true + }, + "node_modules/@types/unist": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", + "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==" + }, + "node_modules/@types/use-sync-external-store": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", + "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.11.0.tgz", + "integrity": "sha512-KhGn2LjW1PJT2A/GfDpiyOfS4a8xHQv2myUagTM5+zsormOmBlYsnQ6pobJ8XxJmh6hnHwa2Mbe3fPrDJoDhbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.11.0", + "@typescript-eslint/type-utils": "8.11.0", + "@typescript-eslint/utils": "8.11.0", + "@typescript-eslint/visitor-keys": "8.11.0", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", + "eslint": "^8.57.0 || ^9.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.11.0.tgz", + "integrity": "sha512-lmt73NeHdy1Q/2ul295Qy3uninSqi6wQI18XwSpm8w0ZbQXUpjCAWP1Vlv/obudoBiIjJVjlztjQ+d/Md98Yxg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "8.11.0", + "@typescript-eslint/types": "8.11.0", + "@typescript-eslint/typescript-estree": "8.11.0", + "@typescript-eslint/visitor-keys": "8.11.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.11.0.tgz", + "integrity": "sha512-Uholz7tWhXmA4r6epo+vaeV7yjdKy5QFCERMjs1kMVsLRKIrSdM6o21W2He9ftp5PP6aWOVpD5zvrvuHZC0bMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.11.0", + "@typescript-eslint/visitor-keys": "8.11.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.11.0.tgz", + "integrity": "sha512-ItiMfJS6pQU0NIKAaybBKkuVzo6IdnAhPFZA/2Mba/uBjuPQPet/8+zh5GtLHwmuFRShZx+8lhIs7/QeDHflOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "8.11.0", + "@typescript-eslint/utils": "8.11.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.11.0.tgz", + "integrity": "sha512-tn6sNMHf6EBAYMvmPUaKaVeYvhUsrE6x+bXQTxjQRp360h1giATU0WvgeEys1spbvb5R+VpNOZ+XJmjD8wOUHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.11.0.tgz", + "integrity": "sha512-yHC3s1z1RCHoCz5t06gf7jH24rr3vns08XXhfEqzYpd6Hll3z/3g23JRi0jM8A47UFKNc3u/y5KIMx8Ynbjohg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "8.11.0", + "@typescript-eslint/visitor-keys": "8.11.0", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.11.0.tgz", + "integrity": "sha512-CYiX6WZcbXNJV7UNB4PLDIBtSdRmRI/nb0FMyqHPTQD1rMjA0foPLaPUV39C/MxkTd/QKSeX+Gb34PPsDVC35g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "8.11.0", + "@typescript-eslint/types": "8.11.0", + "@typescript-eslint/typescript-estree": "8.11.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.11.0.tgz", + "integrity": "sha512-EaewX6lxSjRJnc+99+dqzTeoDZUfyrA52d2/HRrkI830kgovWsmIiTfmr0NZorzqic7ga+1bS60lRBUgR3n/Bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.11.0", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@uiw/copy-to-clipboard": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/@uiw/copy-to-clipboard/-/copy-to-clipboard-1.0.16.tgz", + "integrity": "sha512-IXR+N363nLTR3ilklmM+B0nk774jVE/muOrBYt4Rdww/Pf3uP9XHyv2x6YZrbDh29F7w9BkzQyB8QF6WDShmJA==" + }, + "node_modules/@uiw/react-markdown-preview": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/@uiw/react-markdown-preview/-/react-markdown-preview-5.0.6.tgz", + "integrity": "sha512-zd+T02xFhy6K75XPdkF3RRAWKzVzJctZ6CCpFDcn/CgdQlEj8Z+Z9k11nkPspzbznB43UYdoe4qQvnjgG6TfZw==", + "dependencies": { + "@babel/runtime": "^7.17.2", + "@uiw/copy-to-clipboard": "~1.0.12", + "react-markdown": "~9.0.1", + "rehype-attr": "~3.0.1", + "rehype-autolink-headings": "~7.1.0", + "rehype-ignore": "^2.0.0", + "rehype-prism-plus": "1.6.3", + "rehype-raw": "^7.0.0", + "rehype-rewrite": "~4.0.0", + "rehype-slug": "~6.0.0", + "remark-gfm": "~4.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@uiw/react-md-editor": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@uiw/react-md-editor/-/react-md-editor-4.0.4.tgz", + "integrity": "sha512-JH9nDXXRhJtWPP4yE61VE+9ryFo9tg9v7KMwGfJCnaOOKuLF1MR3l/MNsiJCGkRjUwyto5WrU7kBSq8ODJEtYw==", + "dependencies": { + "@babel/runtime": "^7.14.6", + "@uiw/react-markdown-preview": "^5.0.6", + "rehype": "~13.0.0", + "rehype-prism-plus": "~2.0.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@uiw/react-md-editor/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==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@uiw/react-md-editor/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "node_modules/@uiw/react-md-editor/node_modules/hast-util-to-string": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.0.tgz", + "integrity": "sha512-OGkAxX1Ua3cbcW6EJ5pT/tslVb90uViVkcJ4ZZIMW/R33DX/AkcJcRrPebPwJkHYwlDHXz4aIwvAAaAdtrACFA==", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@uiw/react-md-editor/node_modules/rehype-parse": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-9.0.0.tgz", + "integrity": "sha512-WG7nfvmWWkCR++KEkZevZb/uw41E8TsH4DsY9UxsTbIXCVGbAs4S+r8FrQ+OtH5EEQAs+5UxKC42VinkmpA1Yw==", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-from-html": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@uiw/react-md-editor/node_modules/rehype-prism-plus": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/rehype-prism-plus/-/rehype-prism-plus-2.0.0.tgz", + "integrity": "sha512-FeM/9V2N7EvDZVdR2dqhAzlw5YI49m9Tgn7ZrYJeYHIahM6gcXpH0K1y2gNnKanZCydOMluJvX2cB9z3lhY8XQ==", + "dependencies": { + "hast-util-to-string": "^3.0.0", + "parse-numeric-range": "^1.3.0", + "refractor": "^4.8.0", + "rehype-parse": "^9.0.0", + "unist-util-filter": "^5.0.0", + "unist-util-visit": "^5.0.0" + } + }, + "node_modules/@uiw/react-md-editor/node_modules/unist-util-filter": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/unist-util-filter/-/unist-util-filter-5.0.1.tgz", + "integrity": "sha512-pHx7D4Zt6+TsfwylH9+lYhBhzyhEnCXs/lbq/Hstxno5z4gVdyc2WEW0asfjGKPyG4pEKrnBv5hdkO6+aRnQJw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + } + }, + "node_modules/@umijs/route-utils": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@umijs/route-utils/-/route-utils-4.0.1.tgz", + "integrity": "sha512-+1ixf1BTOLuH+ORb4x8vYMPeIt38n9q0fJDwhv9nSxrV46mxbLF0nmELIo9CKQB2gHfuC4+hww6xejJ6VYnBHQ==" + }, + "node_modules/@umijs/use-params": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@umijs/use-params/-/use-params-1.0.9.tgz", + "integrity": "sha512-QlN0RJSBVQBwLRNxbxjQ5qzqYIGn+K7USppMoIOVlf7fxXHsnQZ2bEsa6Pm74bt6DVQxpUE8HqvdStn6Y9FV1w==", + "peerDependencies": { + "react": "*" + } + }, + "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/@vitejs/plugin-react": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.3.tgz", + "integrity": "sha512-NooDe9GpHGqNns1i8XDERg0Vsg5SSYRhRxxyTGogUdkdNt47jal+fbuYi+Yfq6pzRCKXyoPcWisfxE6RIM3GKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.25.2", + "@babel/plugin-transform-react-jsx-self": "^7.24.7", + "@babel/plugin-transform-react-jsx-source": "^7.24.7", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.14.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0" + } + }, + "node_modules/@vitejs/plugin-react/node_modules/@babel/core": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.9.tgz", + "integrity": "sha512-WYvQviPw+Qyib0v92AwNIrdLISTp7RfDkM7bPqBvpbnhY4wq8HvHBZREVdYDXk98C8BkOIVnHAY3yvj7AVISxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.25.9", + "@babel/generator": "^7.25.9", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helpers": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@vitejs/plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@vitest/coverage-v8": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-2.1.3.tgz", + "integrity": "sha512-2OJ3c7UPoFSmBZwqD2VEkUw6A/tzPF0LmW0ZZhhB8PFxuc+9IBG/FaSM+RLEenc7ljzFvGN+G0nGQoZnh7sy2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.3.0", + "@bcoe/v8-coverage": "^0.2.3", + "debug": "^4.3.6", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-lib-source-maps": "^5.0.6", + "istanbul-reports": "^3.1.7", + "magic-string": "^0.30.11", + "magicast": "^0.3.4", + "std-env": "^3.7.0", + "test-exclude": "^7.0.1", + "tinyrainbow": "^1.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@vitest/browser": "2.1.3", + "vitest": "2.1.3" + }, + "peerDependenciesMeta": { + "@vitest/browser": { + "optional": true + } + } + }, + "node_modules/@vitest/expect": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.3.tgz", + "integrity": "sha512-SNBoPubeCJhZ48agjXruCI57DvxcsivVDdWz+SSsmjTT4QN/DfHk3zB/xKsJqMs26bLZ/pNRLnCf0j679i0uWQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/spy": "2.1.3", + "@vitest/utils": "2.1.3", + "chai": "^5.1.1", + "tinyrainbow": "^1.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/mocker": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.3.tgz", + "integrity": "sha512-eSpdY/eJDuOvuTA3ASzCjdithHa+GIF1L4PqtEELl6Qa3XafdMLBpBlZCIUCX2J+Q6sNmjmxtosAG62fK4BlqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/spy": "2.1.3", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.11" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@vitest/spy": "2.1.3", + "msw": "^2.3.5", + "vite": "^5.0.0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, + "node_modules/@vitest/mocker/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/@vitest/pretty-format": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.3.tgz", + "integrity": "sha512-XH1XdtoLZCpqV59KRbPrIhFCOO0hErxrQCMcvnQete3Vibb9UeIOX02uFPfVn3Z9ZXsq78etlfyhnkmIZSzIwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyrainbow": "^1.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.3.tgz", + "integrity": "sha512-JGzpWqmFJ4fq5ZKHtVO3Xuy1iF2rHGV4d/pdzgkYHm1+gOzNZtqjvyiaDGJytRyMU54qkxpNzCx+PErzJ1/JqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "2.1.3", + "pathe": "^1.1.2" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/snapshot": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.3.tgz", + "integrity": "sha512-qWC2mWc7VAXmjAkEKxrScWHWFyCQx/cmiZtuGqMi+WwqQJ2iURsVY4ZfAK6dVo6K2smKRU6l3BPwqEBvhnpQGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "2.1.3", + "magic-string": "^0.30.11", + "pathe": "^1.1.2" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.3.tgz", + "integrity": "sha512-Nb2UzbcUswzeSP7JksMDaqsI43Sj5+Kry6ry6jQJT4b5gAK+NS9NED6mDb8FlMRCX8m5guaHCDZmqYMMWRy5nQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyspy": "^3.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.3.tgz", + "integrity": "sha512-xpiVfDSg1RrYT0tX6czgerkpcKFmFOF/gCr30+Mve5V2kewCy4Prn1/NDMSRwaSmT7PRaOF83wu+bEtsY1wrvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "2.1.3", + "loupe": "^3.1.1", + "tinyrainbow": "^1.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/acorn": { + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "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==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/agent-base": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "dev": true, + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/antd": { + "version": "5.21.5", + "resolved": "https://registry.npmjs.org/antd/-/antd-5.21.5.tgz", + "integrity": "sha512-g/c8VkdruKDCVA6di9Ow1fG6dLtYJ1IOraPo7vXaY7DoQ56A3HExaFaH0fBEwTYKC0ICeftC4iA5eAjrF6/b9w==", + "license": "MIT", + "dependencies": { + "@ant-design/colors": "^7.1.0", + "@ant-design/cssinjs": "^1.21.1", + "@ant-design/cssinjs-utils": "^1.1.1", + "@ant-design/icons": "^5.5.1", + "@ant-design/react-slick": "~1.1.2", + "@babel/runtime": "^7.25.6", + "@ctrl/tinycolor": "^3.6.1", + "@rc-component/color-picker": "~2.0.1", + "@rc-component/mutate-observer": "^1.1.0", + "@rc-component/qrcode": "~1.0.0", + "@rc-component/tour": "~1.15.1", + "@rc-component/trigger": "^2.2.3", + "classnames": "^2.5.1", + "copy-to-clipboard": "^3.3.3", + "dayjs": "^1.11.11", + "rc-cascader": "~3.28.2", + "rc-checkbox": "~3.3.0", + "rc-collapse": "~3.8.0", + "rc-dialog": "~9.6.0", + "rc-drawer": "~7.2.0", + "rc-dropdown": "~4.2.0", + "rc-field-form": "~2.4.0", + "rc-image": "~7.11.0", + "rc-input": "~1.6.3", + "rc-input-number": "~9.2.0", + "rc-mentions": "~2.16.1", + "rc-menu": "~9.15.1", + "rc-motion": "^2.9.3", + "rc-notification": "~5.6.2", + "rc-pagination": "~4.3.0", + "rc-picker": "~4.6.15", + "rc-progress": "~4.0.0", + "rc-rate": "~2.13.0", + "rc-resize-observer": "^1.4.0", + "rc-segmented": "~2.5.0", + "rc-select": "~14.15.2", + "rc-slider": "~11.1.7", + "rc-steps": "~6.0.1", + "rc-switch": "~4.1.0", + "rc-table": "~7.47.5", + "rc-tabs": "~15.3.0", + "rc-textarea": "~1.8.2", + "rc-tooltip": "~6.2.1", + "rc-tree": "~5.9.0", + "rc-tree-select": "~5.23.0", + "rc-upload": "~4.8.1", + "rc-util": "^5.43.0", + "scroll-into-view-if-needed": "^3.1.0", + "throttle-debounce": "^5.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ant-design" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.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==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "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==", + "dev": true + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-buffer-byte-length": { + "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==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-tree-filter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-tree-filter/-/array-tree-filter-2.1.0.tgz", + "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==", + "license": "MIT" + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", + "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", + "dev": true + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axe-core": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.0.tgz", + "integrity": "sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==", + "dev": true, + "license": "MPL-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/babel-plugin-import": { + "version": "1.13.8", + "resolved": "https://registry.npmjs.org/babel-plugin-import/-/babel-plugin-import-1.13.8.tgz", + "integrity": "sha512-36babpjra5m3gca44V6tSTomeBlPA7cHUynrE2WiQIm3rEGD9xy28MKsx5IdO45EbnpJY7Jrgd00C6Dwt/l/2Q==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", + "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.2", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "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==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.2", + "core-js-compat": "^3.38.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", + "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "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/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/bcp-47-match": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/bcp-47-match/-/bcp-47-match-2.0.3.tgz", + "integrity": "sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/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/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "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" + } + ], + "license": "MIT", + "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" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/c8": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/c8/-/c8-10.1.2.tgz", + "integrity": "sha512-Qr6rj76eSshu5CgRYvktW0uM0CFY0yi4Fd5D0duDXO6sYinyopmftUiJVuzBQxQcwQLor7JWDVRP+dUfCmzgJw==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@istanbuljs/schema": "^0.1.3", + "find-up": "^5.0.0", + "foreground-child": "^3.1.1", + "istanbul-lib-coverage": "^3.2.0", + "istanbul-lib-report": "^3.0.1", + "istanbul-reports": "^3.1.6", + "test-exclude": "^7.0.1", + "v8-to-istanbul": "^9.0.0", + "yargs": "^17.7.2", + "yargs-parser": "^21.1.1" + }, + "bin": { + "c8": "bin/c8.js" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "monocart-coverage-reports": "^2" + }, + "peerDependenciesMeta": { + "monocart-coverage-reports": { + "optional": true + } + } + }, + "node_modules/c8/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==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/c8/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==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/c8/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==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/c8/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==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/c8/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/c8/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "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==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001669", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001669.tgz", + "integrity": "sha512-DlWzFDJqstqtIVx1zeSpIMLjunf5SmwOw0N2Ck/QSQdS8PLS4+9HrLaYei4w8BIAL7IB/UEDu889d8vhCTPA0w==", + "dev": true, + "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" + } + ], + "license": "CC-BY-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/chai": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.2.tgz", + "integrity": "sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==", + "dev": true, + "license": "MIT", + "dependencies": { + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/character-entities": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", + "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "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/character-entities-legacy": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", + "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", + "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/check-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 16" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/classnames": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", + "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" + }, + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", + "license": "MIT" + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "engines": { + "node": ">=6" + } + }, + "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/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/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "dev": true + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/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/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "node_modules/compute-scroll-into-view": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-3.0.3.tgz", + "integrity": "sha512-nadqwNxghAGTamwIqQSG433W6OADZx2vCo3UXHNrzTRHK/htu+7+L0zhjEoaeaQVNAi3YgqWDv8+tzf0hRfR+A==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "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==", + "dev": true + }, + "node_modules/copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "dev": true, + "dependencies": { + "is-what": "^3.14.1" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/copy-to-clipboard": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", + "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", + "dependencies": { + "toggle-selection": "^1.0.6" + } + }, + "node_modules/core-js-compat": { + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz", + "integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/cosmiconfig": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", + "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", + "dev": true, + "dependencies": { + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-functions-list": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.3.tgz", + "integrity": "sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12 || >=16" + } + }, + "node_modules/css-selector-parser": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/css-selector-parser/-/css-selector-parser-3.0.2.tgz", + "integrity": "sha512-eA5pvYwgtffuxQlDk0gJRApDUKgfwlsQBMAH6uawKuuilTLfxKIOtzyV63Y3IC0LWnDCeTJ/I1qYmlfYvvMzDg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ] + }, + "node_modules/css-tree": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.0.0.tgz", + "integrity": "sha512-o88DVQ6GzsABn1+6+zo2ct801dBO5OASVyxbbvA2W20ue2puSh/VOuqUj90eUeMSX/xqGqBmOKiRQN7tJOuBXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.10.0", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.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==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssstyle": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.1.0.tgz", + "integrity": "sha512-h66W1URKpBS5YMI/V8PyXvTMFT8SupJ1IzoIV8IeBC/ji8WVmrO8dGlTi+2dh6whmdk6BiKJLD/ZBkhWbcg6nA==", + "dev": true, + "license": "MIT", + "dependencies": { + "rrweb-cssom": "^0.7.1" + }, + "engines": { + "node": ">=18" + } + }, + "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/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true + }, + "node_modules/data-urls": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz", + "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==", + "dev": true, + "dependencies": { + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/dayjs": { + "version": "1.11.11", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.11.tgz", + "integrity": "sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "dev": true + }, + "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==", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/decode-named-character-reference/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/deep-eql": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/deep-equal": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", + "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.5", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.2", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.2", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "engines": { + "node": ">=6" + } + }, + "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==", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "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==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/direction": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/direction/-/direction-2.0.1.tgz", + "integrity": "sha512-9S6m9Sukh1cZNknO1CWAr2QAWsbKLafQiyM5gZ7VgXHeuaoUwffKN4q6NC4A/Mf9iiPlOXQEKW/Mv/mh9/3YFA==", + "bin": { + "direction": "cli.js" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "dependencies": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "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" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "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==", + "dev": true, + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dot-case/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.45", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.45.tgz", + "integrity": "sha512-vOzZS6uZwhhbkZbcRyiy99Wg+pYFV5hk+5YaECvx0+Z31NR3Tt5zS6dze2OepT6PCTzVzT0dIJItti+uAW5zmw==", + "dev": true, + "license": "ISC" + }, + "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==", + "dev": true + }, + "node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.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/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "optional": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.23.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", + "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", + "dev": true, + "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", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.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.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.1", + "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.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "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.6", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.15" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.1.0.tgz", + "integrity": "sha512-/SurEfycdyssORP/E+bj4sEu1CWw4EmLDsHynHwSXQ7utgbrMRWW195pTrCjFgFCddf/UkYm3oqKPRq5i8bJbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.4", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "iterator.prototype": "^1.1.3", + "safe-array-concat": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0" + }, + "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==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.13.0.tgz", + "integrity": "sha512-EYZK6SX6zjFHST/HRytOdA/zE72Cq/bfw45LSyuwrdvcclb/gqV8RRQxywOBEWO2+WDpva6UZa4CcDeJKzUCFA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.11.0", + "@eslint/config-array": "^0.18.0", + "@eslint/core": "^0.7.0", + "@eslint/eslintrc": "^3.1.0", + "@eslint/js": "9.13.0", + "@eslint/plugin-kit": "^0.2.0", + "@humanfs/node": "^0.16.5", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.3.1", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.1.0", + "eslint-visitor-keys": "^4.1.0", + "espree": "^10.2.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-config-prettier": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-formatter-checkstyle": { + "version": "8.40.0", + "resolved": "https://registry.npmjs.org/eslint-formatter-checkstyle/-/eslint-formatter-checkstyle-8.40.0.tgz", + "integrity": "sha512-OpYAiI2yejMPUlB1O2pkfyNfBQrKNWrMK6X2eOn2vg/q94roDiHnOYExK0isdNglKeaYHA5JtgmuBtokFdj0AA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/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/eslint-import-resolver-node/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/eslint-import-resolver-typescript": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.3.tgz", + "integrity": "sha512-ud9aw4szY9cCT1EWWdGv1L1XR6hh2PaRWif0j2QjQ0pgTY/69iw+W0Z4qZv5wHahOl8isEr+k/JnyAqNQkLkIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "@nolyfill/is-core-module": "1.0.39", + "debug": "^4.3.5", + "enhanced-resolve": "^5.15.0", + "eslint-module-utils": "^2.8.1", + "fast-glob": "^3.3.2", + "get-tsconfig": "^4.7.5", + "is-bun-module": "^1.0.2", + "is-glob": "^4.0.3" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*", + "eslint-plugin-import-x": "*" + }, + "peerDependenciesMeta": { + "eslint-plugin-import": { + "optional": true + }, + "eslint-plugin-import-x": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", + "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-disable": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-disable/-/eslint-plugin-disable-2.0.3.tgz", + "integrity": "sha512-JWT4TPhcIhd8jcwACbsDValvAtHl7BQDhbTZC40vqcp4Fciz2oTnEAFtOCGojdskviN3VGOObVCrjjWe8DGYIg==", + "dev": true, + "dependencies": { + "resolve": "^1.1.6" + }, + "peerDependencies": { + "eslint": ">=0.16.0" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.31.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", + "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.8", + "array.prototype.findlastindex": "^1.2.5", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.12.0", + "hasown": "^2.0.2", + "is-core-module": "^2.15.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.0", + "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.8", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-import/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/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.1.tgz", + "integrity": "sha512-zHByM9WTUMnfsDTafGXRiqxp6lFtNoSOWBY6FonVRn3A+BUwN1L/tdBXT40BcBJi0cZjOGTXZ0eD/rTG9fEJ0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "aria-query": "^5.3.2", + "array-includes": "^3.1.8", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "es-iterator-helpers": "^1.1.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.1" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz", + "integrity": "sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.9.1" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-plugin-prettier" + }, + "peerDependencies": { + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "eslint-config-prettier": "*", + "prettier": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.37.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.2.tgz", + "integrity": "sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.1.0", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.8", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.0", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.11", + "string.prototype.repeat": "^1.0.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.0.0.tgz", + "integrity": "sha512-hIOwI+5hYGpJEc4uPRmz2ulCjAGD/N13Lukkh8cLV0i2IRk/bdZDYjgLVHj+U9Z704kLIdIO6iueGvxNur0sgw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-sonarjs": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-2.0.4.tgz", + "integrity": "sha512-XVVAB/t0WSgHitHNajIcIDmviCO8kB9VSsrjy+4WUEVM3eieY9SDHEtCDaOMTjj6XMtcAr8BFDXCFaP005s+tg==", + "dev": true, + "license": "LGPL-3.0-only", + "dependencies": { + "@babel/core": "7.25.2", + "@babel/eslint-parser": "7.25.1", + "@babel/plugin-proposal-decorators": "7.24.7", + "@babel/preset-env": "7.25.4", + "@babel/preset-flow": "7.24.7", + "@babel/preset-react": "7.24.7", + "@eslint-community/regexpp": "4.11.1", + "@typescript-eslint/eslint-plugin": "7.16.1", + "@typescript-eslint/utils": "7.16.1", + "builtin-modules": "3.3.0", + "bytes": "3.1.2", + "eslint-plugin-import": "2.30.0", + "eslint-plugin-jsx-a11y": "6.10.0", + "eslint-plugin-react": "7.36.1", + "eslint-plugin-react-hooks": "4.6.2", + "eslint-scope": "8.1.0", + "functional-red-black-tree": "1.0.1", + "jsx-ast-utils": "3.3.5", + "minimatch": "10.0.1", + "scslre": "0.3.0", + "semver": "7.6.3", + "typescript": "5.6.2", + "vue-eslint-parser": "9.4.3" + }, + "peerDependencies": { + "eslint": "^8.0.0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-sonarjs/node_modules/@typescript-eslint/eslint-plugin": { + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.16.1.tgz", + "integrity": "sha512-SxdPak/5bO0EnGktV05+Hq8oatjAYVY3Zh2bye9pGZy6+jwyR3LG3YKkV4YatlsgqXP28BTeVm9pqwJM96vf2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "7.16.1", + "@typescript-eslint/type-utils": "7.16.1", + "@typescript-eslint/utils": "7.16.1", + "@typescript-eslint/visitor-keys": "7.16.1", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^7.0.0", + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-sonarjs/node_modules/@typescript-eslint/scope-manager": { + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.16.1.tgz", + "integrity": "sha512-nYpyv6ALte18gbMz323RM+vpFpTjfNdyakbf3nsLvF43uF9KeNC289SUEW3QLZ1xPtyINJ1dIsZOuWuSRIWygw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "7.16.1", + "@typescript-eslint/visitor-keys": "7.16.1" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-plugin-sonarjs/node_modules/@typescript-eslint/type-utils": { + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.16.1.tgz", + "integrity": "sha512-rbu/H2MWXN4SkjIIyWcmYBjlp55VT+1G3duFOIukTNFxr9PI35pLc2ydwAfejCEitCv4uztA07q0QWanOHC7dA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "7.16.1", + "@typescript-eslint/utils": "7.16.1", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-sonarjs/node_modules/@typescript-eslint/types": { + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.16.1.tgz", + "integrity": "sha512-AQn9XqCzUXd4bAVEsAXM/Izk11Wx2u4H3BAfQVhSfzfDOm/wAON9nP7J5rpkCxts7E5TELmN845xTUCQrD1xIQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-plugin-sonarjs/node_modules/@typescript-eslint/typescript-estree": { + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.16.1.tgz", + "integrity": "sha512-0vFPk8tMjj6apaAZ1HlwM8w7jbghC8jc1aRNJG5vN8Ym5miyhTQGMqU++kuBFDNKe9NcPeZ6x0zfSzV8xC1UlQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "7.16.1", + "@typescript-eslint/visitor-keys": "7.16.1", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-sonarjs/node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/eslint-plugin-sonarjs/node_modules/@typescript-eslint/utils": { + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.16.1.tgz", + "integrity": "sha512-WrFM8nzCowV0he0RlkotGDujx78xudsxnGMBHI88l5J8wEhED6yBwaSLP99ygfrzAjsQvcYQ94quDwI0d7E1fA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "7.16.1", + "@typescript-eslint/types": "7.16.1", + "@typescript-eslint/typescript-estree": "7.16.1" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + } + }, + "node_modules/eslint-plugin-sonarjs/node_modules/@typescript-eslint/visitor-keys": { + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.16.1.tgz", + "integrity": "sha512-Qlzzx4sE4u3FsHTPQAAQFJFNOuqtuY0LFrZHwQ8IHK705XxBiWOFkfKRWu6niB7hwfgnwIpO4jTC75ozW1PHWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "7.16.1", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-plugin-sonarjs/node_modules/aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "deep-equal": "^2.0.5" + } + }, + "node_modules/eslint-plugin-sonarjs/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/eslint-plugin-sonarjs/node_modules/eslint-plugin-import": { + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.30.0.tgz", + "integrity": "sha512-/mHNE9jINJfiD2EKkg1BKyPyUk4zdnT54YgbOgfjSakWT5oyX/qQLVNTkehyfpcMxZXMy1zyonZ2v7hZTX43Yw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.8", + "array.prototype.findlastindex": "^1.2.5", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.9.0", + "hasown": "^2.0.2", + "is-core-module": "^2.15.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.0", + "semver": "^6.3.1", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-sonarjs/node_modules/eslint-plugin-import/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint-plugin-sonarjs/node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-sonarjs/node_modules/eslint-plugin-import/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint-plugin-sonarjs/node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-sonarjs/node_modules/eslint-plugin-jsx-a11y": { + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.0.tgz", + "integrity": "sha512-ySOHvXX8eSN6zz8Bywacm7CvGNhUtdjvqfQDVe6020TUK34Cywkw7m0KsCCk1Qtm9G1FayfTN1/7mMYnYO2Bhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "aria-query": "~5.1.3", + "array-includes": "^3.1.8", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "es-iterator-helpers": "^1.0.19", + "hasown": "^2.0.2", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.0" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-sonarjs/node_modules/eslint-plugin-jsx-a11y/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint-plugin-sonarjs/node_modules/eslint-plugin-jsx-a11y/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint-plugin-sonarjs/node_modules/eslint-plugin-react": { + "version": "7.36.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.36.1.tgz", + "integrity": "sha512-/qwbqNXZoq+VP30s1d4Nc1C5GTxjJQjk4Jzs4Wq2qzxFM7dSmuG2UkIjg2USMLh3A/aVcUNrK7v0J5U1XEGGwA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.19", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.8", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.0", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.11", + "string.prototype.repeat": "^1.0.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" + } + }, + "node_modules/eslint-plugin-sonarjs/node_modules/eslint-plugin-react-hooks": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-sonarjs/node_modules/eslint-plugin-react/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint-plugin-sonarjs/node_modules/eslint-plugin-react/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint-plugin-sonarjs/node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-sonarjs/node_modules/eslint-scope": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.1.0.tgz", + "integrity": "sha512-14dSvlhaVhKKsa9Fx1l8A17s7ah7Ef7wCakJ10LYk6+GYmP9yDti2oq2SEwcyndt6knfcZyhyxwY3i9yL78EQw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-plugin-sonarjs/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint-plugin-sonarjs/node_modules/minimatch": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", + "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/eslint-plugin-sonarjs/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-sonarjs/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-plugin-sonarjs/node_modules/typescript": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz", + "integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/eslint-plugin-testing-library": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-6.4.0.tgz", + "integrity": "sha512-yeWF+YgCgvNyPNI9UKnG0FjeE2sk93N/3lsKqcmR8dSfeXJwFT5irnWo7NjLf152HkRzfoFjh3LsBUrhvFz4eA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/utils": "^5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0", + "npm": ">=6" + }, + "peerDependencies": { + "eslint": "^7.5.0 || ^8.0.0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "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==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.1.0.tgz", + "integrity": "sha512-14dSvlhaVhKKsa9Fx1l8A17s7ah7Ef7wCakJ10LYk6+GYmP9yDti2oq2SEwcyndt6knfcZyhyxwY3i9yL78EQw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.1.0.tgz", + "integrity": "sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint/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==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/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==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/eslint/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/eslint/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==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/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==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/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==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/espree": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.2.0.tgz", + "integrity": "sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.12.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.1.0.tgz", + "integrity": "sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/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==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "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==", + "dev": true + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, + "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==", + "dev": true, + "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" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fault": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/fault/-/fault-1.0.4.tgz", + "integrity": "sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==", + "dev": true, + "dependencies": { + "format": "^0.2.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/file-saver": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==" + }, + "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==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/format": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", + "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "dependencies": { + "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/sponsors/ljharb" + } + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-tsconfig": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.8.0.tgz", + "integrity": "sha512-Pgba6TExTZ0FJAn1qkJAjIeKoDJ3CsI2ChuLohJnZl/tTU8MVrq3b+2t5UOPfRa4RMsorClBjJALkJUMjG1PAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/github-slugger": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==" + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "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==", + "dev": true, + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "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==", + "dev": true, + "dependencies": { + "isexe": "^2.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==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "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==", + "dev": true, + "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" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globjoin": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", + "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", + "dev": true + }, + "node_modules/globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", + "dev": true + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "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==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/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==", + "dev": true, + "dependencies": { + "es-define-property": "^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==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hast-util-from-html": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.1.tgz", + "integrity": "sha512-RXQBLMl9kjKVNkJTIO6bZyb2n+cUH8LFaSSzo82jiLT6Tfc+Pt7VQCS+/h3YwG4jaNE2TA2sdJisGWR+aJrp0g==", + "dependencies": { + "@types/hast": "^3.0.0", + "devlop": "^1.1.0", + "hast-util-from-parse5": "^8.0.0", + "parse5": "^7.0.0", + "vfile": "^6.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-html/node_modules/@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/hast-util-from-html/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "node_modules/hast-util-from-html/node_modules/hast-util-from-parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz", + "integrity": "sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^8.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/hast-util-from-html/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/hast-util-from-html/node_modules/hastscript": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-8.0.0.tgz", + "integrity": "sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-html/node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/hast-util-from-html/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==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-html/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==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-7.1.2.tgz", + "integrity": "sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/unist": "^2.0.0", + "hastscript": "^7.0.0", + "property-information": "^6.0.0", + "vfile": "^5.0.0", + "vfile-location": "^4.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-parse5/node_modules/unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-parse5/node_modules/vfile": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", + "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", + "dependencies": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-parse5/node_modules/vfile-location": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-4.1.0.tgz", + "integrity": "sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==", + "dependencies": { + "@types/unist": "^2.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-has-property": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-3.0.0.tgz", + "integrity": "sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-has-property/node_modules/@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/hast-util-heading-rank": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-heading-rank/-/hast-util-heading-rank-3.0.0.tgz", + "integrity": "sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-heading-rank/node_modules/@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-element/node_modules/@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz", + "integrity": "sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==", + "dependencies": { + "@types/hast": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.0.1.tgz", + "integrity": "sha512-5m1gmba658Q+lO5uqL5YNGQWeh1MYWZbZmWrM5lncdcuiXuo5E2HT/CIOp0rLF8ksfSwiCVJ3twlgVRyTGThGA==", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw/node_modules/@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/hast-util-raw/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "node_modules/hast-util-raw/node_modules/hast-util-from-parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz", + "integrity": "sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^8.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/hast-util-raw/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/hast-util-raw/node_modules/hastscript": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-8.0.0.tgz", + "integrity": "sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw/node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/hast-util-select": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/hast-util-select/-/hast-util-select-6.0.2.tgz", + "integrity": "sha512-hT/SD/d/Meu+iobvgkffo1QecV8WeKWxwsNMzcTJsKw1cKTQKSR/7ArJeURLNJF9HDjp9nVoORyNNJxrvBye8Q==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "bcp-47-match": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "css-selector-parser": "^3.0.0", + "devlop": "^1.0.0", + "direction": "^2.0.0", + "hast-util-has-property": "^3.0.0", + "hast-util-to-string": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "not": "^0.1.0", + "nth-check": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-select/node_modules/@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/hast-util-select/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "node_modules/hast-util-select/node_modules/hast-util-to-string": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.0.tgz", + "integrity": "sha512-OGkAxX1Ua3cbcW6EJ5pT/tslVb90uViVkcJ4ZZIMW/R33DX/AkcJcRrPebPwJkHYwlDHXz4aIwvAAaAdtrACFA==", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-html": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.0.tgz", + "integrity": "sha512-IVGhNgg7vANuUA2XKrT6sOIIPgaYZnmLx3l/CCOAK0PtgfoHrZwX7jCSYyFxHTrGmC6S9q8aQQekjp4JPZF+cw==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-raw": "^9.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-html/node_modules/@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/hast-util-to-html/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "node_modules/hast-util-to-jsx-runtime": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.2.0.tgz", + "integrity": "sha512-wSlp23N45CMjDg/BPW8zvhEi3R+8eRE1qFbjEyAUzMCzu2l1Wzwakq+Tlia9nkCtEl5mDxa7nKHsvYJ6Gfn21A==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.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", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-jsx-runtime/node_modules/@types/hast": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.2.tgz", + "integrity": "sha512-B5hZHgHsXvfCoO3xgNJvBnX7N8p86TqQeGKXcokW4XXi+qY4vxxPSFYofytvVmpFxzPv7oxDQzjg5Un5m2/xiw==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/hast-util-to-jsx-runtime/node_modules/@types/unist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.1.tgz", + "integrity": "sha512-ue/hDUpPjC85m+PM9OQDMZr3LywT+CT6mPsQq8OJtCLiERkGRcQUFvu9XASF5XWqyZFXbf15lvb3JFJ4dRLWPg==" + }, + "node_modules/hast-util-to-jsx-runtime/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==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-jsx-runtime/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==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "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/hast-util-to-parse5/node_modules/@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/hast-util-to-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-2.0.0.tgz", + "integrity": "sha512-02AQ3vLhuH3FisaMM+i/9sm4OXGSq1UhOOCpTLLQtHdL3tZt7qil69r8M8iDkZYyC0HCFylcYoP+8IO7ddta1A==", + "dependencies": { + "@types/hast": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "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==", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace/node_modules/@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/hastscript": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-7.2.0.tgz", + "integrity": "sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==", + "dependencies": { + "@types/hast": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^3.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/html-dom-parser": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/html-dom-parser/-/html-dom-parser-5.0.10.tgz", + "integrity": "sha512-GwArYL3V3V8yU/mLKoFF7HlLBv80BZ2Ey1BzfVNRpAci0cEKhFHI/Qh8o8oyt3qlAMLlK250wsxLdYX4viedvg==", + "license": "MIT", + "dependencies": { + "domhandler": "5.0.3", + "htmlparser2": "9.1.0" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", + "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==", + "dev": true, + "dependencies": { + "whatwg-encoding": "^3.1.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/html-parse-stringify": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz", + "integrity": "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==", + "dependencies": { + "void-elements": "3.1.0" + } + }, + "node_modules/html-react-parser": { + "version": "5.1.18", + "resolved": "https://registry.npmjs.org/html-react-parser/-/html-react-parser-5.1.18.tgz", + "integrity": "sha512-65BwC0zzrdeW96jB2FRr5f1ovBhRMpLPJNvwkY5kA8Ay5xdL9t/RH2/uUTM7p+cl5iM88i6dDk4LXtfMnRmaJQ==", + "license": "MIT", + "dependencies": { + "domhandler": "5.0.3", + "html-dom-parser": "5.0.10", + "react-property": "2.0.2", + "style-to-js": "1.1.16" + }, + "peerDependencies": { + "@types/react": "0.14 || 15 || 16 || 17 || 18", + "react": "0.14 || 15 || 16 || 17 || 18" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/html-url-attributes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-url-attributes/-/html-url-attributes-3.0.0.tgz", + "integrity": "sha512-/sXbVCWayk6GDVg3ctOX6nxaVj7So40FcFAnWlWGNAB1LpYKcV5Cd10APjPjW80O7zYW2MsjBV4zZ7IZO5fVow==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "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/htmlparser2": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.1.0.tgz", + "integrity": "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.1.0", + "entities": "^4.5.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/i18next": { + "version": "23.16.3", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.16.3.tgz", + "integrity": "sha512-e8q9gFyjrou5v/hBXgRwtWVK7Gp5So19Kf42spJlijGDfkin5abYFHlblonmD2GFYcsf9XIT7MpVuveJq/VCcA==", + "funding": [ + { + "type": "individual", + "url": "https://locize.com" + }, + { + "type": "individual", + "url": "https://locize.com/i18next.html" + }, + { + "type": "individual", + "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" + } + ], + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.23.2" + } + }, + "node_modules/i18next-browser-languagedetector": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-8.0.0.tgz", + "integrity": "sha512-zhXdJXTTCoG39QsrOCiOabnWj2jecouOqbchu3EfhtSHxIB5Uugnm9JaizenOy39h7ne3+fLikIjeW88+rgszw==", + "dependencies": { + "@babel/runtime": "^7.23.2" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "dev": true, + "optional": true, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/immer": { + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/immer/-/immer-10.0.3.tgz", + "integrity": "sha512-pwupu3eWfouuaowscykeckFmVTpqbzW+rXFCX8rQLkZzM9ftBmU/++Ra+o+L27mz03zJTlyV4UUr+fdKNffo4A==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "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/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==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-alphabetical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", + "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", + "dev": true, + "dependencies": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-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==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "engines": { + "node": ">=4" + } + }, + "node_modules/is-bun-module": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-1.1.0.tgz", + "integrity": "sha512-4mTAVPlrXpaN3jtF0lsnPCMGnq4+qZjVIKq0HCpfcqf8OC1SM5oATCIAPM5V5FN05qp2NNnFndphmdZS9CV3hA==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.6.3" + } + }, + "node_modules/is-bun-module/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "dev": true, + "dependencies": { + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-decimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hexadecimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", + "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-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==", + "dev": true, + "dependencies": { + "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", + "dev": true + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz", + "integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.23", + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/iterator.prototype": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.3.tgz", + "integrity": "sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/jackspeak": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.1.tgz", + "integrity": "sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdom": { + "version": "25.0.1", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-25.0.1.tgz", + "integrity": "sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssstyle": "^4.1.0", + "data-urls": "^5.0.0", + "decimal.js": "^10.4.3", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^4.0.0", + "http-proxy-agent": "^7.0.2", + "https-proxy-agent": "^7.0.5", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.12", + "parse5": "^7.1.2", + "rrweb-cssom": "^0.7.1", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^5.0.0", + "w3c-xmlserializer": "^5.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^3.1.1", + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0", + "ws": "^8.18.0", + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "canvas": "^2.11.2" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsdom/node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "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==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "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==", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema-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==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json2mq": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz", + "integrity": "sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==", + "dependencies": { + "string-convert": "^0.2.0" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.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==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/known-css-properties": { + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.34.0.tgz", + "integrity": "sha512-tBECoUqNFbyAY4RrbqsBQqDFpGXAEbdD5QKr8kACx3+rnArmuuR22nKQWKazvp07N9yjTyDZaw/20UIH8tL9DQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", + "dev": true + }, + "node_modules/language-tags": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "dev": true, + "dependencies": { + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/less": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/less/-/less-4.2.0.tgz", + "integrity": "sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==", + "dev": true, + "dependencies": { + "copy-anything": "^2.0.1", + "parse-node-version": "^1.0.1", + "tslib": "^2.3.0" + }, + "bin": { + "lessc": "bin/lessc" + }, + "engines": { + "node": ">=6" + }, + "optionalDependencies": { + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^3.1.0", + "source-map": "~0.6.0" + } + }, + "node_modules/less-loader": { + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-12.2.0.tgz", + "integrity": "sha512-MYUxjSQSBUQmowc0l5nPieOYwMzGPUaTzB6inNW/bdPEG9zOL3eAAD1Qw5ZxSPk7we5dMojHwNODYMV1hq4EVg==", + "dev": true, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "less": "^3.5.0 || ^4.0.0", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/less/node_modules/tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "dev": true + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/linkify-html": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/linkify-html/-/linkify-html-4.1.3.tgz", + "integrity": "sha512-Ejb8X/pOxB4IVqG1U37tnF85UW3JtX+eHudH3zlZ2pODz2e/J7zQ/vj+VDWffwhTecJqdRehhluwrRmKoJz+iQ==", + "peerDependencies": { + "linkifyjs": "^4.0.0" + } + }, + "node_modules/linkifyjs": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/linkifyjs/-/linkifyjs-4.1.3.tgz", + "integrity": "sha512-auMesunaJ8yfkHvK4gfg1K0SaKX/6Wn9g2Aac/NwX+l5VdmFZzo/hdPGxEOETj+ryRa4/fiOPjeeKURSAJx1sg==" + }, + "node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", + "dev": true + }, + "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/loupe": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.2.tgz", + "integrity": "sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lower-case/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/magicast": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.4.tgz", + "integrity": "sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.24.4", + "@babel/types": "^7.24.0", + "source-map-js": "^1.2.0" + } + }, + "node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/mathml-tag-names": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", + "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "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/mdast-util-find-and-replace/node_modules/@types/mdast": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.2.tgz", + "integrity": "sha512-tYR83EignvhYO9iU3kDg8V28M0jqyh9zzp5GV+EO+AYnyUl3P5ltkTeJuTiFZQFz670FSb3EwT/6LQdX+UdKfw==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/mdast-util-find-and-replace/node_modules/@types/unist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.1.tgz", + "integrity": "sha512-ue/hDUpPjC85m+PM9OQDMZr3LywT+CT6mPsQq8OJtCLiERkGRcQUFvu9XASF5XWqyZFXbf15lvb3JFJ4dRLWPg==" + }, + "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" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz", + "integrity": "sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==", + "dev": true, + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-to-string": "^2.0.0", + "micromark": "~2.11.0", + "parse-entities": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-frontmatter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-0.2.0.tgz", + "integrity": "sha512-FHKL4w4S5fdt1KjJCwB0178WJ0evnyyQr5kXTM3wrOVpytD0hrkvd+AOOjU9Td8onOejCkmZ+HQRT3CZ3coHHQ==", + "dev": true, + "dependencies": { + "micromark-extension-frontmatter": "^0.2.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "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==", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.0.tgz", + "integrity": "sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==", + "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/mdast-util-gfm-autolink-literal/node_modules/@types/mdast": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.2.tgz", + "integrity": "sha512-tYR83EignvhYO9iU3kDg8V28M0jqyh9zzp5GV+EO+AYnyUl3P5ltkTeJuTiFZQFz670FSb3EwT/6LQdX+UdKfw==", + "dependencies": { + "@types/unist": "*" + } + }, + "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==", + "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" + } + }, + "node_modules/mdast-util-gfm-footnote/node_modules/@types/mdast": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.2.tgz", + "integrity": "sha512-tYR83EignvhYO9iU3kDg8V28M0jqyh9zzp5GV+EO+AYnyUl3P5ltkTeJuTiFZQFz670FSb3EwT/6LQdX+UdKfw==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/mdast-util-gfm-footnote/node_modules/@types/unist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.1.tgz", + "integrity": "sha512-ue/hDUpPjC85m+PM9OQDMZr3LywT+CT6mPsQq8OJtCLiERkGRcQUFvu9XASF5XWqyZFXbf15lvb3JFJ4dRLWPg==" + }, + "node_modules/mdast-util-gfm-footnote/node_modules/mdast-util-from-markdown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", + "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote/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==", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote/node_modules/micromark": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", + "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/mdast-util-gfm-footnote/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==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "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==", + "dependencies": { + "@types/mdast": "^4.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-gfm-strikethrough/node_modules/@types/mdast": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.2.tgz", + "integrity": "sha512-tYR83EignvhYO9iU3kDg8V28M0jqyh9zzp5GV+EO+AYnyUl3P5ltkTeJuTiFZQFz670FSb3EwT/6LQdX+UdKfw==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/mdast-util-gfm-strikethrough/node_modules/@types/unist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.1.tgz", + "integrity": "sha512-ue/hDUpPjC85m+PM9OQDMZr3LywT+CT6mPsQq8OJtCLiERkGRcQUFvu9XASF5XWqyZFXbf15lvb3JFJ4dRLWPg==" + }, + "node_modules/mdast-util-gfm-strikethrough/node_modules/mdast-util-from-markdown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", + "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough/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==", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough/node_modules/micromark": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", + "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/mdast-util-gfm-strikethrough/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==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "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==", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table/node_modules/@types/mdast": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.2.tgz", + "integrity": "sha512-tYR83EignvhYO9iU3kDg8V28M0jqyh9zzp5GV+EO+AYnyUl3P5ltkTeJuTiFZQFz670FSb3EwT/6LQdX+UdKfw==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/mdast-util-gfm-table/node_modules/@types/unist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.1.tgz", + "integrity": "sha512-ue/hDUpPjC85m+PM9OQDMZr3LywT+CT6mPsQq8OJtCLiERkGRcQUFvu9XASF5XWqyZFXbf15lvb3JFJ4dRLWPg==" + }, + "node_modules/mdast-util-gfm-table/node_modules/markdown-table": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz", + "integrity": "sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-gfm-table/node_modules/mdast-util-from-markdown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", + "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table/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==", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table/node_modules/micromark": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", + "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/mdast-util-gfm-table/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==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "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==", + "dependencies": { + "@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-gfm-task-list-item/node_modules/@types/mdast": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.2.tgz", + "integrity": "sha512-tYR83EignvhYO9iU3kDg8V28M0jqyh9zzp5GV+EO+AYnyUl3P5ltkTeJuTiFZQFz670FSb3EwT/6LQdX+UdKfw==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/mdast-util-gfm-task-list-item/node_modules/@types/unist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.1.tgz", + "integrity": "sha512-ue/hDUpPjC85m+PM9OQDMZr3LywT+CT6mPsQq8OJtCLiERkGRcQUFvu9XASF5XWqyZFXbf15lvb3JFJ4dRLWPg==" + }, + "node_modules/mdast-util-gfm-task-list-item/node_modules/mdast-util-from-markdown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", + "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item/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==", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item/node_modules/micromark": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", + "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/mdast-util-gfm-task-list-item/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==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm/node_modules/@types/mdast": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.2.tgz", + "integrity": "sha512-tYR83EignvhYO9iU3kDg8V28M0jqyh9zzp5GV+EO+AYnyUl3P5ltkTeJuTiFZQFz670FSb3EwT/6LQdX+UdKfw==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/mdast-util-gfm/node_modules/@types/unist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.1.tgz", + "integrity": "sha512-ue/hDUpPjC85m+PM9OQDMZr3LywT+CT6mPsQq8OJtCLiERkGRcQUFvu9XASF5XWqyZFXbf15lvb3JFJ4dRLWPg==" + }, + "node_modules/mdast-util-gfm/node_modules/mdast-util-from-markdown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", + "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm/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==", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm/node_modules/micromark": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", + "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/mdast-util-gfm/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==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.0.0.tgz", + "integrity": "sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing/node_modules/@types/mdast": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.2.tgz", + "integrity": "sha512-tYR83EignvhYO9iU3kDg8V28M0jqyh9zzp5GV+EO+AYnyUl3P5ltkTeJuTiFZQFz670FSb3EwT/6LQdX+UdKfw==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/mdast-util-phrasing/node_modules/@types/unist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.1.tgz", + "integrity": "sha512-ue/hDUpPjC85m+PM9OQDMZr3LywT+CT6mPsQq8OJtCLiERkGRcQUFvu9XASF5XWqyZFXbf15lvb3JFJ4dRLWPg==" + }, + "node_modules/mdast-util-to-hast": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.0.2.tgz", + "integrity": "sha512-U5I+500EOOw9e3ZrclN3Is3fRpw8c19SMyNZlZ2IS+7vLsNzb2Om11VpIVOR+/0137GhZsFEF6YiKD5+0Hr2Og==", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast/node_modules/@types/hast": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.2.tgz", + "integrity": "sha512-B5hZHgHsXvfCoO3xgNJvBnX7N8p86TqQeGKXcokW4XXi+qY4vxxPSFYofytvVmpFxzPv7oxDQzjg5Un5m2/xiw==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/mdast-util-to-hast/node_modules/@types/mdast": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.2.tgz", + "integrity": "sha512-tYR83EignvhYO9iU3kDg8V28M0jqyh9zzp5GV+EO+AYnyUl3P5ltkTeJuTiFZQFz670FSb3EwT/6LQdX+UdKfw==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/mdast-util-to-hast/node_modules/@types/unist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.1.tgz", + "integrity": "sha512-ue/hDUpPjC85m+PM9OQDMZr3LywT+CT6mPsQq8OJtCLiERkGRcQUFvu9XASF5XWqyZFXbf15lvb3JFJ4dRLWPg==" + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", + "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==", + "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-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown/node_modules/@types/mdast": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.2.tgz", + "integrity": "sha512-tYR83EignvhYO9iU3kDg8V28M0jqyh9zzp5GV+EO+AYnyUl3P5ltkTeJuTiFZQFz670FSb3EwT/6LQdX+UdKfw==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/mdast-util-to-markdown/node_modules/@types/unist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.1.tgz", + "integrity": "sha512-ue/hDUpPjC85m+PM9OQDMZr3LywT+CT6mPsQq8OJtCLiERkGRcQUFvu9XASF5XWqyZFXbf15lvb3JFJ4dRLWPg==" + }, + "node_modules/mdast-util-to-markdown/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/mdast-util-to-markdown/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==", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", + "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdn-data": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.10.0.tgz", + "integrity": "sha512-qq7C3EtK3yJXMwz1zAab65pjl+UhohqMOctTgcqjLOWABqmwj+me02LSsCuEUxnst9X1lCBpoE0WArGKgdGDzw==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/meow": { + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", + "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromark": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz", + "integrity": "sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "debug": "^4.0.0", + "parse-entities": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz", + "integrity": "sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==", + "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-extension-frontmatter": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-0.2.2.tgz", + "integrity": "sha512-q6nPLFCMTLtfsctAuS0Xh4vaolxSFUWUWR6PZSrXXiRy+SANGllpcqdXFv2z07l0Xz/6Hl40hK0ffNCJPH2n1A==", + "dev": true, + "dependencies": { + "fault": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "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/micromark-extension-gfm-autolink-literal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.0.0.tgz", + "integrity": "sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==", + "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/micromark-extension-gfm-footnote": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.0.0.tgz", + "integrity": "sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.0.0.tgz", + "integrity": "sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==", + "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" + }, + "funding": { + "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==", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.0.1.tgz", + "integrity": "sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", + "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", + "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-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", + "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "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/micromark-factory-title": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", + "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", + "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/micromark-factory-whitespace": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", + "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", + "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/micromark-util-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", + "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "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/micromark-util-chunked": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", + "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", + "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", + "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-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", + "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz", + "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", + "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", + "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", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", + "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", + "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", + "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", + "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", + "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", + "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-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz", + "integrity": "sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", + "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "optional": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "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==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/moment": { + "version": "2.29.4", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", + "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==", + "engines": { + "node": "*" + } + }, + "node_modules/moment-timezone": { + "version": "0.5.46", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.46.tgz", + "integrity": "sha512-ZXm9b36esbe7OmdABqIWJuBBiLLwAjrN7CE+7sYdCCx82Nabt1wHDj8TVseS59QIlfFPbOoiBPm6ca9BioG4hw==", + "license": "MIT", + "dependencies": { + "moment": "^2.29.4" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/needle": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.2.0.tgz", + "integrity": "sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==", + "dev": true, + "optional": true, + "dependencies": { + "debug": "^3.2.6", + "iconv-lite": "^0.6.3", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 4.4.x" + } + }, + "node_modules/needle/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "optional": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/needle/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "optional": true + }, + "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==", + "dev": true, + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/no-case/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/not": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/not/-/not-0.1.0.tgz", + "integrity": "sha512-5PDmaAsVfnWUgTUbJ3ERwn7u79Z0dYxN9ErxCpVJJqe2RK0PJ3z+iFUxuqjwtlDDegXvtWoxD/3Fzxox7tFGWA==" + }, + "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": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/nwsapi": { + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.12.tgz", + "integrity": "sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==", + "dev": true, + "license": "MIT" + }, + "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/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dev": true, + "dependencies": { + "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": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", + "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.values": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/omit.js": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/omit.js/-/omit.js-2.0.2.tgz", + "integrity": "sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg==" + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", + "dev": true, + "dependencies": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "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/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "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==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-scurry": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", + "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.0.tgz", + "integrity": "sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/path-to-regexp": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.0.0.tgz", + "integrity": "sha512-GAWaqWlTjYK/7SVpIUA6CTxmcg65SP30sbjdCvyYReosRkk7Z/LyHWwkK3Vu0FcIi0FNTADUs4eh1AsU5s10cg==", + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/pathval": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", + "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.16" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/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==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "dev": true, + "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" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-less": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-6.0.0.tgz", + "integrity": "sha512-FPX16mQLyEjLzEuuJtxA8X3ejDLNGGEG503d2YGZR5Ask1SpDN8KmZUMpzCvyalWRywAn1n1VOA5dcqfCLo5rg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "postcss": "^8.3.5" + } + }, + "node_modules/postcss-markdown": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-markdown/-/postcss-markdown-1.2.0.tgz", + "integrity": "sha512-sO7eeu6pq5F0lx3XavY/rBVmifXbMTd6fGRuXaT/Q7wEuIAWTi0E2t747nQ57iVz99WynTPls4mw5wlLvZLFzw==", + "dev": true, + "dependencies": { + "mdast-util-from-markdown": "^0.8.5", + "mdast-util-frontmatter": "^0.2.0", + "micromark-extension-frontmatter": "^0.2.2", + "postcss": "^8.4.0", + "postcss-safe-parser": "^6.0.0" + }, + "engines": { + "node": "^12 || >=14" + } + }, + "node_modules/postcss-resolve-nested-selector": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.6.tgz", + "integrity": "sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==", + "dev": true, + "license": "MIT" + }, + "node_modules/postcss-safe-parser": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz", + "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==", + "dev": true, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.3.3" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-sorting": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-8.0.2.tgz", + "integrity": "sha512-M9dkSrmU00t/jK7rF6BZSZauA5MAaBW4i5EnJXspMwt4iqTh/L9j6fgMnbElEOfyRyfLfVbIHj/R52zHzAPe1Q==", + "dev": true, + "peerDependencies": { + "postcss": "^8.4.20" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", + "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.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==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/property-information": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.2.0.tgz", + "integrity": "sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true, + "optional": true + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/rc-cascader": { + "version": "3.28.2", + "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.28.2.tgz", + "integrity": "sha512-8f+JgM83iLTvjgdkgU7GfI4qY8icXOBP0cGZjOdx2iJAkEe8ucobxDQAVE69UD/c3ehCxZlcgEHeD5hFmypbUw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5", + "array-tree-filter": "^2.1.0", + "classnames": "^2.3.1", + "rc-select": "~14.15.0", + "rc-tree": "~5.9.0", + "rc-util": "^5.37.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-checkbox": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-3.3.0.tgz", + "integrity": "sha512-Ih3ZaAcoAiFKJjifzwsGiT/f/quIkxJoklW4yKGho14Olulwn8gN7hOBve0/WGDg5o/l/5mL0w7ff7/YGvefVw==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.3.2", + "rc-util": "^5.25.2" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-collapse": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-3.8.0.tgz", + "integrity": "sha512-YVBkssrKPBG09TGfcWWGj8zJBYD9G3XuTy89t5iUmSXrIXEAnO1M+qjUxRW6b4Qi0+wNWG6MHJF/+US+nmIlzA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.3.4", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-dialog": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/rc-dialog/-/rc-dialog-9.6.0.tgz", + "integrity": "sha512-ApoVi9Z8PaCQg6FsUzS8yvBEQy0ZL2PkuvAgrmohPkN3okps5WZ5WQWPc1RNuiOKaAYv8B97ACdsFU5LizzCqg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/portal": "^1.0.0-8", + "classnames": "^2.2.6", + "rc-motion": "^2.3.0", + "rc-util": "^5.21.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-drawer": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/rc-drawer/-/rc-drawer-7.2.0.tgz", + "integrity": "sha512-9lOQ7kBekEJRdEpScHvtmEtXnAsy+NGDXiRWc2ZVC7QXAazNVbeT4EraQKYwCME8BJLa8Bxqxvs5swwyOepRwg==", + "dependencies": { + "@babel/runtime": "^7.23.9", + "@rc-component/portal": "^1.1.1", + "classnames": "^2.2.6", + "rc-motion": "^2.6.1", + "rc-util": "^5.38.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-dropdown": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/rc-dropdown/-/rc-dropdown-4.2.0.tgz", + "integrity": "sha512-odM8Ove+gSh0zU27DUj5cG1gNKg7mLWBYzB5E4nNLrLwBmYEgYP43vHKDGOVZcJSVElQBI0+jTQgjnq0NfLjng==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.2.6", + "rc-util": "^5.17.0" + }, + "peerDependencies": { + "react": ">=16.11.0", + "react-dom": ">=16.11.0" + } + }, + "node_modules/rc-field-form": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/rc-field-form/-/rc-field-form-2.4.0.tgz", + "integrity": "sha512-XZ/lF9iqf9HXApIHQHqzJK5v2w4mkUMsVqAzOyWVzoiwwXEavY6Tpuw7HavgzIoD+huVff4JghSGcgEfX6eycg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.0", + "@rc-component/async-validator": "^5.0.3", + "rc-util": "^5.32.2" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-image": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/rc-image/-/rc-image-7.11.0.tgz", + "integrity": "sha512-aZkTEZXqeqfPZtnSdNUnKQA0N/3MbgR7nUnZ+/4MfSFWPFHZau4p5r5ShaI0KPEMnNjv4kijSCFq/9wtJpwykw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.11.2", + "@rc-component/portal": "^1.0.2", + "classnames": "^2.2.6", + "rc-dialog": "~9.6.0", + "rc-motion": "^2.6.2", + "rc-util": "^5.34.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-input": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/rc-input/-/rc-input-1.6.3.tgz", + "integrity": "sha512-wI4NzuqBS8vvKr8cljsvnTUqItMfG1QbJoxovCgL+DX4eVUcHIjVwharwevIxyy7H/jbLryh+K7ysnJr23aWIA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-util": "^5.18.1" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/rc-input-number": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-9.2.0.tgz", + "integrity": "sha512-5XZFhBCV5f9UQ62AZ2hFbEY8iZT/dm23Q1kAg0H8EvOgD3UDbYYJAayoVIkM3lQaCqYAW5gV0yV3vjw1XtzWHg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/mini-decimal": "^1.0.1", + "classnames": "^2.2.5", + "rc-input": "~1.6.0", + "rc-util": "^5.40.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-mentions": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-2.16.1.tgz", + "integrity": "sha512-GnhSTGP9Mtv6pqFFGQze44LlrtWOjHNrUUAcsdo9DnNAhN4pwVPEWy4z+2jpjkiGlJ3VoXdvMHcNDQdfI9fEaw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.22.5", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.2.6", + "rc-input": "~1.6.0", + "rc-menu": "~9.15.1", + "rc-textarea": "~1.8.0", + "rc-util": "^5.34.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-menu": { + "version": "9.15.1", + "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-9.15.1.tgz", + "integrity": "sha512-UKporqU6LPfHnpPmtP6hdEK4iO5Q+b7BRv/uRpxdIyDGplZy9jwUjsnpev5bs3PQKB0H0n34WAPDfjAfn3kAPA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/trigger": "^2.0.0", + "classnames": "2.x", + "rc-motion": "^2.4.3", + "rc-overflow": "^1.3.1", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-motion": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/rc-motion/-/rc-motion-2.9.3.tgz", + "integrity": "sha512-rkW47ABVkic7WEB0EKJqzySpvDqwl60/tdkY7hWP7dYnh5pm0SzJpo54oW3TDUGXV5wfxXFmMkxrzRRbotQ0+w==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-util": "^5.43.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-notification": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/rc-notification/-/rc-notification-5.6.2.tgz", + "integrity": "sha512-Id4IYMoii3zzrG0lB0gD6dPgJx4Iu95Xu0BQrhHIbp7ZnAZbLqdqQ73aIWH0d0UFcElxwaKjnzNovTjo7kXz7g==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.9.0", + "rc-util": "^5.20.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-overflow": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/rc-overflow/-/rc-overflow-1.3.2.tgz", + "integrity": "sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw==", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.37.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-pagination": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-4.3.0.tgz", + "integrity": "sha512-UubEWA0ShnroQ1tDa291Fzw6kj0iOeF26IsUObxYTpimgj4/qPCWVFl18RLZE+0Up1IZg0IK4pMn6nB3mjvB7g==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.3.2", + "rc-util": "^5.38.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-picker": { + "version": "4.6.15", + "resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-4.6.15.tgz", + "integrity": "sha512-OWZ1yrMie+KN2uEUfYCfS4b2Vu6RC1FWwNI0s+qypsc3wRt7g+peuZKVIzXCTaJwyyZruo80+akPg2+GmyiJjw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.24.7", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.2.1", + "rc-overflow": "^1.3.2", + "rc-resize-observer": "^1.4.0", + "rc-util": "^5.43.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "date-fns": ">= 2.x", + "dayjs": ">= 1.x", + "luxon": ">= 3.x", + "moment": ">= 2.x", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + }, + "peerDependenciesMeta": { + "date-fns": { + "optional": true + }, + "dayjs": { + "optional": true + }, + "luxon": { + "optional": true + }, + "moment": { + "optional": true + } + } + }, + "node_modules/rc-progress": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/rc-progress/-/rc-progress-4.0.0.tgz", + "integrity": "sha512-oofVMMafOCokIUIBnZLNcOZFsABaUw8PPrf1/y0ZBvKZNpOiu5h4AO9vv11Sw0p4Hb3D0yGWuEattcQGtNJ/aw==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.6", + "rc-util": "^5.16.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-rate": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/rc-rate/-/rc-rate-2.13.0.tgz", + "integrity": "sha512-oxvx1Q5k5wD30sjN5tqAyWTvJfLNNJn7Oq3IeS4HxWfAiC4BOXMITNAsw7u/fzdtO4MS8Ki8uRLOzcnEuoQiAw==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.0.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-resize-observer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz", + "integrity": "sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q==", + "dependencies": { + "@babel/runtime": "^7.20.7", + "classnames": "^2.2.1", + "rc-util": "^5.38.0", + "resize-observer-polyfill": "^1.5.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-segmented": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/rc-segmented/-/rc-segmented-2.5.0.tgz", + "integrity": "sha512-B28Fe3J9iUFOhFJET3RoXAPFJ2u47QvLSYcZWC4tFYNGPEjug5LAxEasZlA/PpAxhdOPqGWsGbSj7ftneukJnw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-motion": "^2.4.4", + "rc-util": "^5.17.0" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/rc-select": { + "version": "14.15.2", + "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-14.15.2.tgz", + "integrity": "sha512-oNoXlaFmpqXYcQDzcPVLrEqS2J9c+/+oJuGrlXeVVX/gVgrbHa5YcyiRUXRydFjyuA7GP3elRuLF7Y3Tfwltlw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/trigger": "^2.1.1", + "classnames": "2.x", + "rc-motion": "^2.0.1", + "rc-overflow": "^1.3.1", + "rc-util": "^5.16.1", + "rc-virtual-list": "^3.5.2" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/rc-slider": { + "version": "11.1.7", + "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-11.1.7.tgz", + "integrity": "sha512-ytYbZei81TX7otdC0QvoYD72XSlxvTihNth5OeZ6PMXyEDq/vHdWFulQmfDGyXK1NwKwSlKgpvINOa88uT5g2A==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.36.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-steps": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/rc-steps/-/rc-steps-6.0.1.tgz", + "integrity": "sha512-lKHL+Sny0SeHkQKKDJlAjV5oZ8DwCdS2hFhAkIjuQt1/pB81M0cA0ErVFdHq9+jmPmFw1vJB2F5NBzFXLJxV+g==", + "dependencies": { + "@babel/runtime": "^7.16.7", + "classnames": "^2.2.3", + "rc-util": "^5.16.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-switch": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/rc-switch/-/rc-switch-4.1.0.tgz", + "integrity": "sha512-TI8ufP2Az9oEbvyCeVE4+90PDSljGyuwix3fV58p7HV2o4wBnVToEyomJRVyTaZeqNPAp+vqeo4Wnj5u0ZZQBg==", + "dependencies": { + "@babel/runtime": "^7.21.0", + "classnames": "^2.2.1", + "rc-util": "^5.30.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-table": { + "version": "7.47.5", + "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.47.5.tgz", + "integrity": "sha512-fzq+V9j/atbPIcvs3emuclaEoXulwQpIiJA6/7ey52j8+9cJ4P8DGmp4YzfUVDrb3qhgedcVeD6eRgUrokwVEQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/context": "^1.4.0", + "classnames": "^2.2.5", + "rc-resize-observer": "^1.1.0", + "rc-util": "^5.41.0", + "rc-virtual-list": "^3.14.2" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-tabs": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-15.3.0.tgz", + "integrity": "sha512-lzE18r+zppT/jZWOAWS6ntdkDUKHOLJzqMi5UAij1LeKwOaQaupupAoI9Srn73GRzVpmGznkECMRrzkRusC40A==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.11.2", + "classnames": "2.x", + "rc-dropdown": "~4.2.0", + "rc-menu": "~9.15.1", + "rc-motion": "^2.6.2", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.34.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-textarea": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/rc-textarea/-/rc-textarea-1.8.2.tgz", + "integrity": "sha512-UFAezAqltyR00a8Lf0IPAyTd29Jj9ee8wt8DqXyDMal7r/Cg/nDt3e1OOv3Th4W6mKaZijjgwuPXhAfVNTN8sw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "rc-input": "~1.6.0", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-tooltip": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-6.2.1.tgz", + "integrity": "sha512-rws0duD/3sHHsD905Nex7FvoUGy2UBQRhTkKxeEvr2FB+r21HsOxcDJI0TzyO8NHhnAA8ILr8pfbSBg5Jj5KBg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.11.2", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.3.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-tree": { + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-5.9.0.tgz", + "integrity": "sha512-CPrgOvm9d/9E+izTONKSngNzQdIEjMox2PBufWjS1wf7vxtvmCWzK1SlpHbRY6IaBfJIeZ+88RkcIevf729cRg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.0.1", + "rc-util": "^5.16.1", + "rc-virtual-list": "^3.5.1" + }, + "engines": { + "node": ">=10.x" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/rc-tree-select": { + "version": "5.23.0", + "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-5.23.0.tgz", + "integrity": "sha512-aQGi2tFSRw1WbXv0UVXPzHm09E0cSvUVZMLxQtMv3rnZZpNmdRXWrnd9QkLNlVH31F+X5rgghmdSFF3yZW0N9A==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-select": "~14.15.0", + "rc-tree": "~5.9.0", + "rc-util": "^5.16.1" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/rc-upload": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/rc-upload/-/rc-upload-4.8.1.tgz", + "integrity": "sha512-toEAhwl4hjLAI1u8/CgKWt30BR06ulPa4iGQSMvSXoHzO88gPCslxqV/mnn4gJU7PDoltGIC9Eh+wkeudqgHyw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.3", + "classnames": "^2.2.5", + "rc-util": "^5.2.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-util": { + "version": "5.43.0", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.43.0.tgz", + "integrity": "sha512-AzC7KKOXFqAdIBqdGWepL9Xn7cm3vnAmjlHqUnoQaTMZYhM4VlXGLkkHHxj/BZ7Td0+SOPKB4RGPboBVKT9htw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.3", + "react-is": "^18.2.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-util/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, + "node_modules/rc-virtual-list": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.14.2.tgz", + "integrity": "sha512-rA+W5xryhklJAcmswNyuKB3ZGeB855io+yOFQK5u/RXhjdshGblfKpNkQr4/9fBhZns0+uiL/0/s6IP2krtSmg==", + "dependencies": { + "@babel/runtime": "^7.20.0", + "classnames": "^2.2.6", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.36.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "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==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-copy-to-clipboard": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/react-copy-to-clipboard/-/react-copy-to-clipboard-5.1.0.tgz", + "integrity": "sha512-k61RsNgAayIJNoy9yDsYzDe/yAZAzEbEgcz3DZMhF686LEyukcE1hzurxe85JandPUG+yTfGVFzuEw3xt8WP/A==", + "dependencies": { + "copy-to-clipboard": "^3.3.1", + "prop-types": "^15.8.1" + }, + "peerDependencies": { + "react": "^15.3.0 || 16 || 17 || 18" + } + }, + "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==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-i18next": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-15.1.0.tgz", + "integrity": "sha512-zj3nJynMnZsy2gPZiOTC7XctCY5eQGqT3tcKMmfJWC9FMvgd+960w/adq61j8iPzpwmsXejqID9qC3Mqu1Xu2Q==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.25.0", + "html-parse-stringify": "^3.0.1" + }, + "peerDependencies": { + "i18next": ">= 23.2.3", + "react": ">= 16.8.0" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + }, + "node_modules/react-markdown": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-9.0.1.tgz", + "integrity": "sha512-186Gw/vF1uRkydbsOIkcGXw7aHq0sZOCRFFjGrr7b9+nVZg4UfA4enXCaxm4fUzecU38sWfrNDitGhshuU7rdg==", + "dependencies": { + "@types/hast": "^3.0.0", + "devlop": "^1.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "html-url-attributes": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "unified": "^11.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@types/react": ">=18", + "react": ">=18" + } + }, + "node_modules/react-markdown/node_modules/@types/hast": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.2.tgz", + "integrity": "sha512-B5hZHgHsXvfCoO3xgNJvBnX7N8p86TqQeGKXcokW4XXi+qY4vxxPSFYofytvVmpFxzPv7oxDQzjg5Un5m2/xiw==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/react-markdown/node_modules/@types/mdast": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.2.tgz", + "integrity": "sha512-tYR83EignvhYO9iU3kDg8V28M0jqyh9zzp5GV+EO+AYnyUl3P5ltkTeJuTiFZQFz670FSb3EwT/6LQdX+UdKfw==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/react-markdown/node_modules/@types/unist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.1.tgz", + "integrity": "sha512-ue/hDUpPjC85m+PM9OQDMZr3LywT+CT6mPsQq8OJtCLiERkGRcQUFvu9XASF5XWqyZFXbf15lvb3JFJ4dRLWPg==" + }, + "node_modules/react-markdown/node_modules/mdast-util-from-markdown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", + "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/react-markdown/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==", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/react-markdown/node_modules/micromark": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", + "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/react-markdown/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==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/react-markdown/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==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/react-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/react-property/-/react-property-2.0.2.tgz", + "integrity": "sha512-+PbtI3VuDV0l6CleQMsx2gtK0JZbZKbpdu5ynr+lbsuvtmgbNcS3VM0tuY2QjFNOcWxvXeHjDpy42RO+4U2rug==" + }, + "node_modules/react-redux": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.1.2.tgz", + "integrity": "sha512-0OA4dhM1W48l3uzmv6B7TXPCGmokUU4p1M44DGN2/D9a1FjVPukVjER1PcPX97jIg6aUeLq1XJo1IpfbgULn0w==", + "dependencies": { + "@types/use-sync-external-store": "^0.0.3", + "use-sync-external-store": "^1.0.0" + }, + "peerDependencies": { + "@types/react": "^18.2.25", + "react": "^18.0", + "redux": "^5.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "redux": { + "optional": true + } + } + }, + "node_modules/react-refresh": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", + "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-router": { + "version": "6.27.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.27.0.tgz", + "integrity": "sha512-YA+HGZXz4jaAkVoYBE98VQl+nVzI+cVI2Oj/06F5ZM+0u3TgedN9Y9kmMRo2mnkSK2nCpNQn0DVob4HCsY/WLw==", + "license": "MIT", + "dependencies": { + "@remix-run/router": "1.20.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.27.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.27.0.tgz", + "integrity": "sha512-+bvtFWMC0DgAFrfKXKG9Fc+BcXWRUO1aJIihbB79xaeq0v5UzfvnM5houGUm1Y461WVRcgAQ+Clh5rdb1eCx4g==", + "license": "MIT", + "dependencies": { + "@remix-run/router": "1.20.0", + "react-router": "6.27.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/react-virtualized": { + "version": "9.22.5", + "resolved": "https://registry.npmjs.org/react-virtualized/-/react-virtualized-9.22.5.tgz", + "integrity": "sha512-YqQMRzlVANBv1L/7r63OHa2b0ZsAaDp1UhVNEdUaXI8A5u6hTpA5NYtUueLH2rFuY/27mTGIBl7ZhqFKzw18YQ==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "clsx": "^1.0.4", + "dom-helpers": "^5.1.3", + "loose-envify": "^1.4.0", + "prop-types": "^15.7.2", + "react-lifecycles-compat": "^3.0.4" + }, + "peerDependencies": { + "react": "^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0", + "react-dom": "^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/redux": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz", + "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==" + }, + "node_modules/redux-thunk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz", + "integrity": "sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==", + "peerDependencies": { + "redux": "^5.0.0" + } + }, + "node_modules/refa": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/refa/-/refa-0.12.1.tgz", + "integrity": "sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.8.0" + }, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", + "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.1", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/refractor": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/refractor/-/refractor-4.8.1.tgz", + "integrity": "sha512-/fk5sI0iTgFYlmVGYVew90AoYnNMP6pooClx/XKqyeeCQXrL0Kvgn8V0VEht5ccdljbzzF1i3Q213gcntkRExg==", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/prismjs": "^1.0.0", + "hastscript": "^7.0.0", + "parse-entities": "^4.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/refractor/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/refractor/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/refractor/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/refractor/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/refractor/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==", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/refractor/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/refractor/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/refractor/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" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexp-ast-analysis": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regexp-ast-analysis/-/regexp-ast-analysis-0.7.1.tgz", + "integrity": "sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.8.0", + "refa": "^0.12.1" + }, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "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==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" + }, + "engines": { + "node": ">= 0.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==", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/regjsparser": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.11.1.tgz", + "integrity": "sha512-1DHODs4B8p/mQHU9kr+jv8+wIC9mtG4eBHxWxIq5mhjE3D5oORhCc6deRKzTjs9DcfRFmj9BHSDguZklqCGFWQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~3.0.2" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/rehype": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/rehype/-/rehype-13.0.1.tgz", + "integrity": "sha512-AcSLS2mItY+0fYu9xKxOu1LhUZeBZZBx8//5HKzF+0XP+eP8+6a5MXn2+DW2kfXR6Dtp1FEXMVrjyKAcvcU8vg==", + "dependencies": { + "@types/hast": "^3.0.0", + "rehype-parse": "^9.0.0", + "rehype-stringify": "^10.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-attr": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/rehype-attr/-/rehype-attr-3.0.3.tgz", + "integrity": "sha512-Up50Xfra8tyxnkJdCzLBIBtxOcB2M1xdeKe1324U06RAvSjYm7ULSeoM+b/nYPQPVd7jsXJ9+39IG1WAJPXONw==", + "dependencies": { + "unified": "~11.0.0", + "unist-util-visit": "~5.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + } + }, + "node_modules/rehype-autolink-headings": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/rehype-autolink-headings/-/rehype-autolink-headings-7.1.0.tgz", + "integrity": "sha512-rItO/pSdvnvsP4QRB1pmPiNHUskikqtPojZKJPPPAVx9Hj8i8TwMBhofrrAYRhYOOBZH9tgmG5lPqDLuIWPWmw==", + "dependencies": { + "@types/hast": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-heading-rank": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unified": "^11.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-autolink-headings/node_modules/@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/rehype-ignore": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/rehype-ignore/-/rehype-ignore-2.0.2.tgz", + "integrity": "sha512-BpAT/3lU9DMJ2siYVD/dSR0A/zQgD6Fb+fxkJd4j+wDVy6TYbYpK+FZqu8eM9EuNKGvi4BJR7XTZ/+zF02Dq8w==", + "dependencies": { + "hast-util-select": "^6.0.0", + "unified": "^11.0.0", + "unist-util-visit": "^5.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + } + }, + "node_modules/rehype-parse": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-8.0.4.tgz", + "integrity": "sha512-MJJKONunHjoTh4kc3dsM1v3C9kGrrxvA3U8PxZlP2SjH8RNUSrb+lF7Y0KVaUDnGH2QZ5vAn7ulkiajM9ifuqg==", + "dependencies": { + "@types/hast": "^2.0.0", + "hast-util-from-parse5": "^7.0.0", + "parse5": "^6.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-parse/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" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/rehype-parse/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "dependencies": { + "@types/unist": "^2.0.0", + "bail": "^2.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-parse/node_modules/unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-parse/node_modules/vfile": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", + "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", + "dependencies": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-prism-plus": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/rehype-prism-plus/-/rehype-prism-plus-1.6.3.tgz", + "integrity": "sha512-F6tn376zimnvy+xW0bSnryul+rvVL7NhDIkavc9kAuzDx5zIZW04A6jdXPkcFBhojcqZB8b6pHt6CLqiUx+Tbw==", + "dependencies": { + "hast-util-to-string": "^2.0.0", + "parse-numeric-range": "^1.3.0", + "refractor": "^4.8.0", + "rehype-parse": "^8.0.2", + "unist-util-filter": "^4.0.0", + "unist-util-visit": "^4.0.0" + } + }, + "node_modules/rehype-prism-plus/node_modules/unist-util-is": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", + "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-prism-plus/node_modules/unist-util-visit": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", + "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.1.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-prism-plus/node_modules/unist-util-visit-parents": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", + "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "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/rehype-raw/node_modules/@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/rehype-rewrite": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/rehype-rewrite/-/rehype-rewrite-4.0.2.tgz", + "integrity": "sha512-rjLJ3z6fIV11phwCqHp/KRo8xuUCO8o9bFJCNw5o6O2wlLk6g8r323aRswdGBQwfXPFYeSuZdAjp4tzo6RGqEg==", + "dependencies": { + "hast-util-select": "^6.0.0", + "unified": "^11.0.3", + "unist-util-visit": "^5.0.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + } + }, + "node_modules/rehype-slug": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/rehype-slug/-/rehype-slug-6.0.0.tgz", + "integrity": "sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==", + "dependencies": { + "@types/hast": "^3.0.0", + "github-slugger": "^2.0.0", + "hast-util-heading-rank": "^3.0.0", + "hast-util-to-string": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-slug/node_modules/@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/rehype-slug/node_modules/hast-util-to-string": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.0.tgz", + "integrity": "sha512-OGkAxX1Ua3cbcW6EJ5pT/tslVb90uViVkcJ4ZZIMW/R33DX/AkcJcRrPebPwJkHYwlDHXz4aIwvAAaAdtrACFA==", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-stringify": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-10.0.0.tgz", + "integrity": "sha512-1TX1i048LooI9QoecrXy7nGFFbFSufxVRAfc6Y9YMRAi56l+oB0zP51mLSV312uRuvVLPV1opSlJmslozR1XHQ==", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-to-html": "^9.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-stringify/node_modules/@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/rehype/node_modules/@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/rehype/node_modules/rehype-parse": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-9.0.0.tgz", + "integrity": "sha512-WG7nfvmWWkCR++KEkZevZb/uw41E8TsH4DsY9UxsTbIXCVGbAs4S+r8FrQ+OtH5EEQAs+5UxKC42VinkmpA1Yw==", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-from-html": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "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==", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm/node_modules/@types/mdast": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.2.tgz", + "integrity": "sha512-tYR83EignvhYO9iU3kDg8V28M0jqyh9zzp5GV+EO+AYnyUl3P5ltkTeJuTiFZQFz670FSb3EwT/6LQdX+UdKfw==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/remark-gfm/node_modules/@types/unist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.1.tgz", + "integrity": "sha512-ue/hDUpPjC85m+PM9OQDMZr3LywT+CT6mPsQq8OJtCLiERkGRcQUFvu9XASF5XWqyZFXbf15lvb3JFJ4dRLWPg==" + }, + "node_modules/remark-gfm/node_modules/mdast-util-from-markdown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", + "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm/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==", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm/node_modules/micromark": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", + "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/remark-gfm/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==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm/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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm/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==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.0.0.tgz", + "integrity": "sha512-vx8x2MDMcxuE4lBmQ46zYUDfcFMmvg80WYX+UNLeG6ixjdCCLcw1lrgAukwBTuOFsS78eoAedHGn9sNM0w7TPw==", + "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" + } + }, + "node_modules/remark-rehype/node_modules/@types/hast": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.2.tgz", + "integrity": "sha512-B5hZHgHsXvfCoO3xgNJvBnX7N8p86TqQeGKXcokW4XXi+qY4vxxPSFYofytvVmpFxzPv7oxDQzjg5Un5m2/xiw==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/remark-rehype/node_modules/@types/mdast": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.2.tgz", + "integrity": "sha512-tYR83EignvhYO9iU3kDg8V28M0jqyh9zzp5GV+EO+AYnyUl3P5ltkTeJuTiFZQFz670FSb3EwT/6LQdX+UdKfw==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/remark-rehype/node_modules/@types/unist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.1.tgz", + "integrity": "sha512-ue/hDUpPjC85m+PM9OQDMZr3LywT+CT6mPsQq8OJtCLiERkGRcQUFvu9XASF5XWqyZFXbf15lvb3JFJ4dRLWPg==" + }, + "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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/reselect": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.0.tgz", + "integrity": "sha512-aw7jcGLDpSgNDyWBQLv2cedml85qd95/iszJjN988zX1t7AVRJi19d9kto5+W7oCfQ94gyo40dVbT6g2k4/kXg==" + }, + "node_modules/resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" + }, + "node_modules/resolve": { + "version": "1.22.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", + "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.0.1.tgz", + "integrity": "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^11.0.0", + "package-json-from-dist": "^1.0.0" + }, + "bin": { + "rimraf": "dist/esm/bin.mjs" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.0.tgz", + "integrity": "sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^4.0.1", + "minimatch": "^10.0.0", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^2.0.0" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/minimatch": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", + "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.24.0.tgz", + "integrity": "sha512-DOmrlGSXNk1DM0ljiQA+i+o0rSLhtii1je5wgk60j49d1jHT5YYttBv1iWOnYSTG+fZZESUOSNiAl89SIet+Cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.6" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.24.0", + "@rollup/rollup-android-arm64": "4.24.0", + "@rollup/rollup-darwin-arm64": "4.24.0", + "@rollup/rollup-darwin-x64": "4.24.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.24.0", + "@rollup/rollup-linux-arm-musleabihf": "4.24.0", + "@rollup/rollup-linux-arm64-gnu": "4.24.0", + "@rollup/rollup-linux-arm64-musl": "4.24.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.24.0", + "@rollup/rollup-linux-riscv64-gnu": "4.24.0", + "@rollup/rollup-linux-s390x-gnu": "4.24.0", + "@rollup/rollup-linux-x64-gnu": "4.24.0", + "@rollup/rollup-linux-x64-musl": "4.24.0", + "@rollup/rollup-win32-arm64-msvc": "4.24.0", + "@rollup/rollup-win32-ia32-msvc": "4.24.0", + "@rollup/rollup-win32-x64-msvc": "4.24.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/rrweb-cssom": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz", + "integrity": "sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "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==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-regex": "^1.1.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-stable-stringify": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz", + "integrity": "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true, + "optional": true + }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/scroll-into-view-if-needed": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz", + "integrity": "sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==", + "dependencies": { + "compute-scroll-into-view": "^3.0.2" + } + }, + "node_modules/scslre": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/scslre/-/scslre-0.3.0.tgz", + "integrity": "sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.8.0", + "refa": "^0.12.0", + "regexp-ast-analysis": "^0.7.0" + }, + "engines": { + "node": "^14.0.0 || >=16.0.0" + } + }, + "node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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==", + "dev": true, + "dependencies": { + "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": ">= 0.4" + } + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "dev": true, + "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" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true, + "license": "ISC" + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/snake-case/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-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==", + "dev": true, + "license": "BSD-3-Clause", + "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==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.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/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true, + "license": "MIT" + }, + "node_modules/std-env": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", + "dev": true, + "license": "MIT" + }, + "node_modules/stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "internal-slot": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string-convert": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz", + "integrity": "sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==" + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?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==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/string.prototype.includes": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", + "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", + "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "regexp.prototype.flags": "^1.5.2", + "set-function-name": "^2.0.2", + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.3.tgz", + "integrity": "sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/stringify-entities/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/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/style-to-js": { + "version": "1.1.16", + "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.16.tgz", + "integrity": "sha512-/Q6ld50hKYPH3d/r6nr117TZkHR0w0kGGIVfpG9N6D8NymRPM9RqCUv4pRpJ62E5DqOYx2AFpbZMyCPnjQCnOw==", + "license": "MIT", + "dependencies": { + "style-to-object": "1.0.8" + } + }, + "node_modules/style-to-js/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==", + "license": "MIT" + }, + "node_modules/style-to-js/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==", + "license": "MIT", + "dependencies": { + "inline-style-parser": "0.2.4" + } + }, + "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" + } + }, + "node_modules/stylelint": { + "version": "16.10.0", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.10.0.tgz", + "integrity": "sha512-z/8X2rZ52dt2c0stVwI9QL2AFJhLhbPkyfpDFcizs200V/g7v+UYY6SNcB9hKOLcDDX/yGLDsY/pX08sLkz9xQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/stylelint" + }, + { + "type": "github", + "url": "https://github.com/sponsors/stylelint" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/css-parser-algorithms": "^3.0.1", + "@csstools/css-tokenizer": "^3.0.1", + "@csstools/media-query-list-parser": "^3.0.1", + "@csstools/selector-specificity": "^4.0.0", + "@dual-bundle/import-meta-resolve": "^4.1.0", + "balanced-match": "^2.0.0", + "colord": "^2.9.3", + "cosmiconfig": "^9.0.0", + "css-functions-list": "^3.2.3", + "css-tree": "^3.0.0", + "debug": "^4.3.7", + "fast-glob": "^3.3.2", + "fastest-levenshtein": "^1.0.16", + "file-entry-cache": "^9.1.0", + "global-modules": "^2.0.0", + "globby": "^11.1.0", + "globjoin": "^0.1.4", + "html-tags": "^3.3.1", + "ignore": "^6.0.2", + "imurmurhash": "^0.1.4", + "is-plain-object": "^5.0.0", + "known-css-properties": "^0.34.0", + "mathml-tag-names": "^2.1.3", + "meow": "^13.2.0", + "micromatch": "^4.0.8", + "normalize-path": "^3.0.0", + "picocolors": "^1.0.1", + "postcss": "^8.4.47", + "postcss-resolve-nested-selector": "^0.1.6", + "postcss-safe-parser": "^7.0.1", + "postcss-selector-parser": "^6.1.2", + "postcss-value-parser": "^4.2.0", + "resolve-from": "^5.0.0", + "string-width": "^4.2.3", + "supports-hyperlinks": "^3.1.0", + "svg-tags": "^1.0.0", + "table": "^6.8.2", + "write-file-atomic": "^5.0.1" + }, + "bin": { + "stylelint": "bin/stylelint.mjs" + }, + "engines": { + "node": ">=18.12.0" + } + }, + "node_modules/stylelint-config-recommended": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-14.0.1.tgz", + "integrity": "sha512-bLvc1WOz/14aPImu/cufKAZYfXs/A/owZfSMZ4N+16WGXLoX5lOir53M6odBxvhgmgdxCVnNySJmZKx73T93cg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/stylelint" + }, + { + "type": "github", + "url": "https://github.com/sponsors/stylelint" + } + ], + "license": "MIT", + "engines": { + "node": ">=18.12.0" + }, + "peerDependencies": { + "stylelint": "^16.1.0" + } + }, + "node_modules/stylelint-config-standard": { + "version": "36.0.1", + "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-36.0.1.tgz", + "integrity": "sha512-8aX8mTzJ6cuO8mmD5yon61CWuIM4UD8Q5aBcWKGSf6kg+EC3uhB+iOywpTK4ca6ZL7B49en8yanOFtUW0qNzyw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/stylelint" + }, + { + "type": "github", + "url": "https://github.com/sponsors/stylelint" + } + ], + "license": "MIT", + "dependencies": { + "stylelint-config-recommended": "^14.0.1" + }, + "engines": { + "node": ">=18.12.0" + }, + "peerDependencies": { + "stylelint": "^16.1.0" + } + }, + "node_modules/stylelint-declaration-block-no-ignored-properties": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/stylelint-declaration-block-no-ignored-properties/-/stylelint-declaration-block-no-ignored-properties-2.8.0.tgz", + "integrity": "sha512-Ws8Cav7Y+SPN0JsV407LrnNXWOrqGjxShf+37GBtnU/C58Syve9c0+I/xpLcFOosST3ternykn3Lp77f3ITnFw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "stylelint": "^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/stylelint-order": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-6.0.4.tgz", + "integrity": "sha512-0UuKo4+s1hgQ/uAxlYU4h0o0HS4NiQDud0NAUNI0aa8FJdmYHA5ZZTFHiV5FpmE3071e9pZx5j0QpVJW5zOCUA==", + "dev": true, + "dependencies": { + "postcss": "^8.4.32", + "postcss-sorting": "^8.0.2" + }, + "peerDependencies": { + "stylelint": "^14.0.0 || ^15.0.0 || ^16.0.1" + } + }, + "node_modules/stylelint-prettier": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/stylelint-prettier/-/stylelint-prettier-5.0.2.tgz", + "integrity": "sha512-qJ+BN+1T2ZcKz9WIrv0x+eFGHzSUnXfXd5gL///T6XoJvr3D8/ztzz2fhtmXef7Vb8P33zBXmLTTveByr0nwBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "prettier-linter-helpers": "^1.0.0" + }, + "engines": { + "node": ">=18.12.0" + }, + "peerDependencies": { + "prettier": ">=3.0.0", + "stylelint": ">=16.0.0" + } + }, + "node_modules/stylelint/node_modules/balanced-match": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", + "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", + "dev": true, + "license": "MIT" + }, + "node_modules/stylelint/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/stylelint/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/stylelint/node_modules/file-entry-cache": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-9.1.0.tgz", + "integrity": "sha512-/pqPFG+FdxWQj+/WSuzXSDaNzxgTLr/OrR1QuqfEZzDakpdYE70PwUxL7BPUa8hpjbvY1+qvCl8k+8Tq34xJgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/stylelint/node_modules/flat-cache": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-5.0.0.tgz", + "integrity": "sha512-JrqFmyUl2PnPi1OvLyTVHnQvwQ0S+e6lGSwu8OkAZlSaNIZciTY2H/cOOROxsBA1m/LZNHDsqAgDZt6akWcjsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.3.1", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/stylelint/node_modules/ignore": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-6.0.2.tgz", + "integrity": "sha512-InwqeHHN2XpumIkMvpl/DCJVrAHgCsG5+cn1XlnLWGwtZBm8QJfSusItfrwx81CTp5agNZqpKU2J/ccC5nGT4A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/stylelint/node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stylelint/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/stylelint/node_modules/postcss-safe-parser": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz", + "integrity": "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss-safe-parser" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/stylelint/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stylelint/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stylis": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.4.tgz", + "integrity": "sha512-osIBl6BGUmSfDkyH2mB7EFvCJntXDrLhKjHTRj/rK6xLH0yuPrHULDRQzKokSOD4VoorhtKpfcfW1GAntu8now==", + "license": "MIT" + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.1.0.tgz", + "integrity": "sha512-2rn0BZ+/f7puLOHZm1HOJfwBggfaHXUpPUSSG/SWM4TWp5KCfmNYwnC3hruy2rZlMnmWZ+QAGpZfchu3f3695A==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", + "dev": true + }, + "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==", + "dev": true + }, + "node_modules/swr": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/swr/-/swr-2.2.5.tgz", + "integrity": "sha512-QtxqyclFeAsxEUeZIYmsaQ0UjimSq1RZ9Un7I68/0ClKK/U3LoyQunwkQfJZr2fc22DfIXLNDc2wFyTEikCUpg==", + "license": "MIT", + "dependencies": { + "client-only": "^0.0.1", + "use-sync-external-store": "^1.2.0" + }, + "peerDependencies": { + "react": "^16.11.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "node_modules/synckit": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.1.tgz", + "integrity": "sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@pkgr/core": "^0.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/synckit/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true, + "license": "0BSD" + }, + "node_modules/table": { + "version": "6.8.2", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.2.tgz", + "integrity": "sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/table/node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/table/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/test-exclude": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-7.0.1.tgz", + "integrity": "sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==", + "dev": true, + "license": "ISC", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^10.4.1", + "minimatch": "^9.0.4" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/test-exclude/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/test-exclude/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/test-exclude/node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/test-exclude/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/test-exclude/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/test-exclude/node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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==", + "dev": true + }, + "node_modules/throttle-debounce": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-5.0.2.tgz", + "integrity": "sha512-B71/4oyj61iNH0KeCamLuE2rmKuTO5byTOSVwECM5FA7TiAiAW+UqTKZ9ERueC4qvgSttUhdmq1mXC3kJqGX7A==", + "license": "MIT", + "engines": { + "node": ">=12.22" + } + }, + "node_modules/tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.1.tgz", + "integrity": "sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinypool": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.0.tgz", + "integrity": "sha512-KIKExllK7jp3uvrNtvRBYBWBOAXSX8ZvoaD8T+7KB/QHIuoJW3Pmr60zucywjAlMb5TeXUkcs/MWeWLu0qvuAQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || >=20.0.0" + } + }, + "node_modules/tinyrainbow": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-1.2.0.tgz", + "integrity": "sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tinyspy": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", + "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tldts": { + "version": "6.1.54", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.54.tgz", + "integrity": "sha512-rDaL1t59gb/Lg0HPMUGdV1vAKLQcXwU74D26aMaYV4QW7mnMvShd1Vmkg3HYAPWx2JCTUmsrXt/Yl9eJ5UFBQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tldts-core": "^6.1.54" + }, + "bin": { + "tldts": "bin/cli.js" + } + }, + "node_modules/tldts-core": { + "version": "6.1.54", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.54.tgz", + "integrity": "sha512-5cc42+0G0EjYRDfIJHKraaT3I5kPm7j6or3Zh1T9sF+Ftj1T+isT4thicUyQQ1bwN7/xjHQIuY2fXCoXP8Haqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==" + }, + "node_modules/tough-cookie": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.0.0.tgz", + "integrity": "sha512-FRKsF7cz96xIIeMZ82ehjC3xW2E+O2+v11udrDYewUbszngYhsGa8z6YUMMzO9QJZzzyd0nGGXnML/TReX6W8Q==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tldts": "^6.1.32" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/tr46": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.0.0.tgz", + "integrity": "sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==", + "dev": true, + "dependencies": { + "punycode": "^2.3.1" + }, + "engines": { + "node": ">=18" + } + }, + "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.1.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", + "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/ts-api-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "dev": true, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/tsconfck": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.0.3.tgz", + "integrity": "sha512-4t0noZX9t6GcPTfBAbIbbIU4pfpCwh0ueq3S4O/5qXI1VwK1outmxhe9dOiEWqMz3MW2LKgDTpqWV+37IWuVbA==", + "dev": true, + "bin": { + "tsconfck": "bin/tsconfck.js" + }, + "engines": { + "node": "^18 || >=20" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dev": true, + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/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==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "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/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "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==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", + "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typescript": { + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", + "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "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==", + "dev": true, + "dependencies": { + "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/undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unified": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", + "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", + "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/unified/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "node_modules/unified/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" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unist-util-filter": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/unist-util-filter/-/unist-util-filter-4.0.1.tgz", + "integrity": "sha512-RynicUM/vbOSTSiUK+BnaK9XMfmQUh6gyi7L6taNgc7FIf84GukXVV3ucGzEN/PhUUkdP5hb1MmXc+3cvPUm5Q==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.0.0" + } + }, + "node_modules/unist-util-filter/node_modules/unist-util-is": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", + "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-filter/node_modules/unist-util-visit-parents": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", + "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "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==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "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/unist-util-position/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "node_modules/unist-util-stringify-position": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", + "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "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==", + "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" + } + }, + "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==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "node_modules/unist-util-visit/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "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==", + "dev": true, + "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" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/use-sync-external-store": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/v8-to-istanbul": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", + "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/vfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", + "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.2.tgz", + "integrity": "sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "node_modules/vfile-message": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.2.tgz", + "integrity": "sha512-QjSNP6Yxzyycd4SVOtmKKyTsSvClqBPJcd00Z0zuPj3hOIjg0rUPG6DbFGPvUKRgYyaIWLPKpuEclcuvb3H8qA==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message/node_modules/unist-util-stringify-position": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.2.tgz", + "integrity": "sha512-7A6eiDCs9UtjcwZOcCpM4aPII3bAAGv13E96IkawkOAW0OhH+yRxtY0lzo8KiHpzEMfH7Q+FizUmwp8Iqy5EWg==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "node_modules/vfile/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==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile/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==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vite": { + "version": "5.4.10", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.10.tgz", + "integrity": "sha512-1hvaPshuPUtxeQ0hsVH3Mud0ZanOLwVTneA1EgbAM5LhaZEqyPWGRQ7BtaMvUrTDeEaC8pxtj6a6jku3x4z6SQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-node": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.3.tgz", + "integrity": "sha512-I1JadzO+xYX887S39Do+paRePCKoiDrWRRjp9kkG5he0t7RXNvPAJPCQSJqbGN4uCrFFeS3Kj3sLqY8NMYBEdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cac": "^6.7.14", + "debug": "^4.3.6", + "pathe": "^1.1.2", + "vite": "^5.0.0" + }, + "bin": { + "vite-node": "vite-node.mjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/vite-plugin-eslint2": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/vite-plugin-eslint2/-/vite-plugin-eslint2-5.0.1.tgz", + "integrity": "sha512-Pr/Df4mpYtKoYOFMRQonoDE/SH56ah2cbtjyQmRveh+Wz2pgk/RfTM3ApZ6xrAEpmIyBctfy5JoBmcWmikKTlg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.1.2", + "debug": "^4.3.7" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/eslint": "^7.0.0 || ^8.0.0 || ^9.0.0-0", + "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0-0", + "rollup": "^2.0.0 || ^3.0.0 || ^4.0.0", + "vite": "^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, + "rollup": { + "optional": true + } + } + }, + "node_modules/vite-plugin-eslint2/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/vite-plugin-eslint2/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/vite-plugin-stylelint": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/vite-plugin-stylelint/-/vite-plugin-stylelint-5.3.1.tgz", + "integrity": "sha512-M/hSdfOwnOVghbJDeuuYIU2xO/MMukYR8QcEyNKFPG8ro1L+DlTdViix2B2d/FvAw14WPX88ckA5A7NvUjJz8w==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.1.0", + "chokidar": "^3.5.3", + "debug": "^4.3.4" + }, + "engines": { + "node": ">=14.18" + }, + "peerDependencies": { + "@types/stylelint": "^13.0.0", + "postcss": "^7.0.0 || ^8.0.0", + "rollup": "^2.0.0 || ^3.0.0 || ^4.0.0", + "stylelint": "^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0", + "vite": "^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "@types/stylelint": { + "optional": true + }, + "postcss": { + "optional": true + }, + "rollup": { + "optional": true + } + } + }, + "node_modules/vite-plugin-svgr": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/vite-plugin-svgr/-/vite-plugin-svgr-4.2.0.tgz", + "integrity": "sha512-SC7+FfVtNQk7So0XMjrrtLAbEC8qjFPifyD7+fs/E6aaNdVde6umlVVh0QuwDLdOMu7vp5RiGFsB70nj5yo0XA==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.0.5", + "@svgr/core": "^8.1.0", + "@svgr/plugin-jsx": "^8.1.0" + }, + "peerDependencies": { + "vite": "^2.6.0 || 3 || 4 || 5" + } + }, + "node_modules/vite-tsconfig-paths": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-5.0.1.tgz", + "integrity": "sha512-yqwv+LstU7NwPeNqajZzLEBVpUFU6Dugtb2P84FXuvaoYA+/70l9MHE+GYfYAycVyPSDYZ7mjOFuYBRqlEpTig==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "globrex": "^0.1.2", + "tsconfck": "^3.0.3" + }, + "peerDependencies": { + "vite": "*" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/vitest": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.3.tgz", + "integrity": "sha512-Zrxbg/WiIvUP2uEzelDNTXmEMJXuzJ1kCpbDvaKByFA9MNeO95V+7r/3ti0qzJzrxdyuUw5VduN7k+D3VmVOSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/expect": "2.1.3", + "@vitest/mocker": "2.1.3", + "@vitest/pretty-format": "^2.1.3", + "@vitest/runner": "2.1.3", + "@vitest/snapshot": "2.1.3", + "@vitest/spy": "2.1.3", + "@vitest/utils": "2.1.3", + "chai": "^5.1.1", + "debug": "^4.3.6", + "magic-string": "^0.30.11", + "pathe": "^1.1.2", + "std-env": "^3.7.0", + "tinybench": "^2.9.0", + "tinyexec": "^0.3.0", + "tinypool": "^1.0.0", + "tinyrainbow": "^1.2.0", + "vite": "^5.0.0", + "vite-node": "2.1.3", + "why-is-node-running": "^2.3.0" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@types/node": "^18.0.0 || >=20.0.0", + "@vitest/browser": "2.1.3", + "@vitest/ui": "2.1.3", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + } + } + }, + "node_modules/void-elements": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", + "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/vue-eslint-parser": { + "version": "9.4.3", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.3.tgz", + "integrity": "sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4", + "eslint-scope": "^7.1.1", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^7.3.6" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=6.0.0" + } + }, + "node_modules/vue-eslint-parser/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/vue-eslint-parser/node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/vue-eslint-parser/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", + "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", + "dev": true, + "dependencies": { + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/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": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-encoding": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", + "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", + "dev": true, + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-mimetype": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", + "dev": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-url": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.0.0.tgz", + "integrity": "sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==", + "dev": true, + "dependencies": { + "tr46": "^5.0.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.4.tgz", + "integrity": "sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==", + "dev": true, + "license": "MIT", + "dependencies": { + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.15" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/write-file-atomic": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", + "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/write-file-atomic/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/ws": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", + "dev": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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" + } + } + }, + "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true + }, + "@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "@ant-design/colors": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-7.1.0.tgz", + "integrity": "sha512-MMoDGWn1y9LdQJQSHiCC20x3uZ3CwQnv9QMz6pCmJOrqdgM9YxsoVVY0wtrdXbmfSgnV0KNk6zi09NAhMR2jvg==", + "requires": { + "@ctrl/tinycolor": "^3.6.1" + } + }, + "@ant-design/cssinjs": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/@ant-design/cssinjs/-/cssinjs-1.21.1.tgz", + "integrity": "sha512-tyWnlK+XH7Bumd0byfbCiZNK43HEubMoCcu9VxwsAwiHdHTgWa+tMN0/yvxa+e8EzuFP1WdUNNPclRpVtD33lg==", + "requires": { + "@babel/runtime": "^7.11.1", + "@emotion/hash": "^0.8.0", + "@emotion/unitless": "^0.7.5", + "classnames": "^2.3.1", + "csstype": "^3.1.3", + "rc-util": "^5.35.0", + "stylis": "^4.3.3" + } + }, + "@ant-design/cssinjs-utils": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@ant-design/cssinjs-utils/-/cssinjs-utils-1.1.1.tgz", + "integrity": "sha512-2HAiyGGGnM0es40SxdszeQAU5iWp41wBIInq+ONTCKjlSKOrzQfnw4JDtB8IBmqE6tQaEKwmzTP2LGdt5DSwYQ==", + "requires": { + "@ant-design/cssinjs": "^1.21.0", + "@babel/runtime": "^7.23.2", + "rc-util": "^5.38.0" + } + }, + "@ant-design/fast-color": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@ant-design/fast-color/-/fast-color-2.0.6.tgz", + "integrity": "sha512-y2217gk4NqL35giHl72o6Zzqji9O7vHh9YmhUVkPtAOpoTCH4uWxo/pr4VE8t0+ChEPs0qo4eJRC5Q1eXWo3vA==", + "requires": { + "@babel/runtime": "^7.24.7" + } + }, + "@ant-design/icons": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-5.5.1.tgz", + "integrity": "sha512-0UrM02MA2iDIgvLatWrj6YTCYe0F/cwXvVE0E2SqGrL7PZireQwgEKTKBisWpZyal5eXZLvuM98kju6YtYne8w==", + "requires": { + "@ant-design/colors": "^7.0.0", + "@ant-design/icons-svg": "^4.4.0", + "@babel/runtime": "^7.24.8", + "classnames": "^2.2.6", + "rc-util": "^5.31.1" + } + }, + "@ant-design/icons-svg": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.4.2.tgz", + "integrity": "sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA==" + }, + "@ant-design/pro-layout": { + "version": "7.21.1", + "resolved": "https://registry.npmjs.org/@ant-design/pro-layout/-/pro-layout-7.21.1.tgz", + "integrity": "sha512-9B+MBPTYZbhe5xdUxgfikoUZtB/77R3hAve8iI4fVNBoc4KAm/wpejasvKgWZn/8gRht8KOXfmfe2ngjz/BWOA==", + "requires": { + "@ant-design/cssinjs": "^1.21.1", + "@ant-design/icons": "^5.0.0", + "@ant-design/pro-provider": "2.15.1", + "@ant-design/pro-utils": "2.16.1", + "@babel/runtime": "^7.18.0", + "@umijs/route-utils": "^4.0.0", + "@umijs/use-params": "^1.0.9", + "classnames": "^2.3.2", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "omit.js": "^2.0.2", + "path-to-regexp": "8.0.0", + "rc-resize-observer": "^1.1.0", + "rc-util": "^5.0.6", + "swr": "^2.0.0", + "warning": "^4.0.3" + } + }, + "@ant-design/pro-provider": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/@ant-design/pro-provider/-/pro-provider-2.15.1.tgz", + "integrity": "sha512-UiNhQ3Yl+h8liC24LLWpqbcdhC9ggiXvHeCYrqBHjOx2WNFWpWO5JP0327k3RQjShprt+jZQ/cdNHx6s7BToXA==", + "requires": { + "@ant-design/cssinjs": "^1.21.1", + "@babel/runtime": "^7.18.0", + "@ctrl/tinycolor": "^3.4.0", + "dayjs": "^1.11.10", + "rc-util": "^5.0.1", + "swr": "^2.0.0" + } + }, + "@ant-design/pro-utils": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/@ant-design/pro-utils/-/pro-utils-2.16.1.tgz", + "integrity": "sha512-GaBEgP638fvddO0YqevuIT3O8pQIrqfHhlQ4UDnf1JkhVxuVxP3XdwDituQWnyRoxLPSjNBZBOBghBBMb8nWsg==", + "requires": { + "@ant-design/icons": "^5.0.0", + "@ant-design/pro-provider": "2.15.1", + "@babel/runtime": "^7.18.0", + "classnames": "^2.3.2", + "dayjs": "^1.11.10", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "rc-util": "^5.0.6", + "safe-stable-stringify": "^2.4.3", + "swr": "^2.0.0" + } + }, + "@ant-design/react-slick": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-1.1.2.tgz", + "integrity": "sha512-EzlvzE6xQUBrZuuhSAFTdsr4P2bBBHGZwKFemEfq8gIGyIQCxalYfZW/T2ORbtQx5rU69o+WycP3exY/7T1hGA==", + "requires": { + "@babel/runtime": "^7.10.4", + "classnames": "^2.2.5", + "json2mq": "^0.2.0", + "resize-observer-polyfill": "^1.5.1", + "throttle-debounce": "^5.0.0" + } + }, + "@babel/code-frame": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.25.9.tgz", + "integrity": "sha512-z88xeGxnzehn2sqZ8UdGQEvYErF1odv2CftxInpSYJt6uHuPe9YjahKZITGs3l5LeI9d2ROG+obuDAoSlqbNfQ==", + "dev": true, + "requires": { + "@babel/highlight": "^7.25.9", + "picocolors": "^1.0.0" + } + }, + "@babel/compat-data": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.9.tgz", + "integrity": "sha512-yD+hEuJ/+wAJ4Ox2/rpNv5HIuPG82x3ZlQvYVn8iYCprdxzE7P1udpGF1jyjQVBU4dgznN+k2h103vxZ7NdPyw==", + "dev": true + }, + "@babel/core": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", + "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "@babel/eslint-parser": { + "version": "7.25.1", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.25.1.tgz", + "integrity": "sha512-Y956ghgTT4j7rKesabkh5WeqgSFZVFwaPR0IWFm7KFHFmmJ4afbG49SmfW4S+GyRPx0Dy5jxEWA5t0rpxfElWg==", + "dev": true, + "requires": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.9.tgz", + "integrity": "sha512-omlUGkr5EaoIJrhLf9CJ0TvjBRpd9+AXRG//0GEQ9THSo8wPiTlbpy1/Ow8ZTrbXpjd9FHXfbFQx32I04ht0FA==", + "dev": true, + "requires": { + "@babel/types": "^7.25.9", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/types": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "dependencies": { + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } + } + }, + "@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==", + "dev": true, + "requires": { + "@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", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "regexpu-core": "^6.1.1", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", + "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", + "dev": true, + "requires": { + "@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-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==", + "dev": true, + "requires": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + } + }, + "@babel/helper-module-transforms": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.9.tgz", + "integrity": "sha512-TvLZY/F3+GvdRYFZFyxMvnsKi+4oJdgZzU3BoGN9Uc2d9C6zfNwJcKKhjqLAhK8i46mv93jsO74fDh3ih6rpHA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-simple-access": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/types": "^7.25.9" + } + }, + "@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==", + "dev": true + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-wrap-function": "^7.25.9", + "@babel/traverse": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/traverse": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + } + }, + "@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==", + "dev": true + }, + "@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==", + "dev": true + }, + "@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==", + "dev": true + }, + "@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==", + "dev": true, + "requires": { + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + } + }, + "@babel/helpers": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.9.tgz", + "integrity": "sha512-oKWp3+usOJSzDZOucZUAMayhPz/xVjzymyDzUN8dk0Wd3RWMlGLXi07UCQ/CgQVb8LvXx3XBajJH4XGgkt7H7g==", + "dev": true, + "requires": { + "@babel/template": "^7.25.9", + "@babel/types": "^7.25.9" + } + }, + "@babel/highlight": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.9.tgz", + "integrity": "sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.25.9", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.9.tgz", + "integrity": "sha512-aI3jjAAO1fh7vY/pBGsn1i9LDbRP43+asrRlkPuTXW5yHXtd1NgTEMudbBoDDxrf1daEEfPJqR+JBMakzrR4Dg==", + "dev": true, + "requires": { + "@babel/types": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@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/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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.7.tgz", + "integrity": "sha512-RL9GR0pUG5Kc8BUWLNDm2T5OpYwSX15r98I0IkgmRQTXuELq/OynH8xtMTMvTJFjXbMWFVTKtYkTaYQsuAwQlQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-decorators": "^7.24.7" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "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==", + "dev": true + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-decorators": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.25.9.tgz", + "integrity": "sha512-ryzI0McXUPJnRCvMo4lumIKZUzhYUO/ScI+Mz4YVaTLt04DHNSjEUjKVvbzQjZFLuod/cYEc07mJWhzl6v4DPg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-flow": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.25.9.tgz", + "integrity": "sha512-F3FVgxwamIRS3+kfjNaPARX0DSAiH1exrQUVajXiR34hkdA9eyK+8rJbnu55DQjKL/ayuXqjNr2HDXwBEMEtFQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.9.tgz", + "integrity": "sha512-4GHX5uzr5QMOOuzV0an9MFju4hKlm0OyePl/lHhcsTVae5t/IKVHnb8W67Vr6FuLlk5lPqLB7n7O+K5R46emYg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-syntax-import-attributes": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.9.tgz", + "integrity": "sha512-u3EN9ub8LyYvgTnrgp8gboElouayiwPdnM7x5tcnW3iSt09/lQYPwMNK40I9IUxo7QOZhAsPHCmmuO7EPdruqg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", + "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-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==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-remap-async-to-generator": "^7.25.9", + "@babel/traverse": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-remap-async-to-generator": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-class-static-block": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.25.9.tgz", + "integrity": "sha512-UIf+72C7YJ+PJ685/PpATbCz00XqiFEzHX5iysRwfvNT0Ko+FaXSvRgLytFSp8xUItrG9pFM/KoBBZDrY/cYyg==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@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" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/template": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-flow-strip-types": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.25.9.tgz", + "integrity": "sha512-/VVukELzPDdci7UUsWQaSkhgnjIWXnIyRpM02ldxaVoFK96c41So8JcKT3m0gYjyv7j5FNPGS5vfELrWalkbDA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-syntax-flow": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-simple-access": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@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/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==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@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/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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@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/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==", + "dev": true, + "requires": { + "@babel/plugin-transform-react-jsx": "^7.25.9" + } + }, + "@babel/plugin-transform-react-jsx-self": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.9.tgz", + "integrity": "sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-react-jsx-source": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.9.tgz", + "integrity": "sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9", + "regenerator-transform": "^0.15.2" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/preset-env": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.4.tgz", + "integrity": "sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.25.4", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-validator-option": "^7.24.8", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.3", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.0", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.0", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.0", + "@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.24.7", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@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.24.7", + "@babel/plugin-transform-async-generator-functions": "^7.25.4", + "@babel/plugin-transform-async-to-generator": "^7.24.7", + "@babel/plugin-transform-block-scoped-functions": "^7.24.7", + "@babel/plugin-transform-block-scoping": "^7.25.0", + "@babel/plugin-transform-class-properties": "^7.25.4", + "@babel/plugin-transform-class-static-block": "^7.24.7", + "@babel/plugin-transform-classes": "^7.25.4", + "@babel/plugin-transform-computed-properties": "^7.24.7", + "@babel/plugin-transform-destructuring": "^7.24.8", + "@babel/plugin-transform-dotall-regex": "^7.24.7", + "@babel/plugin-transform-duplicate-keys": "^7.24.7", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.0", + "@babel/plugin-transform-dynamic-import": "^7.24.7", + "@babel/plugin-transform-exponentiation-operator": "^7.24.7", + "@babel/plugin-transform-export-namespace-from": "^7.24.7", + "@babel/plugin-transform-for-of": "^7.24.7", + "@babel/plugin-transform-function-name": "^7.25.1", + "@babel/plugin-transform-json-strings": "^7.24.7", + "@babel/plugin-transform-literals": "^7.25.2", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", + "@babel/plugin-transform-member-expression-literals": "^7.24.7", + "@babel/plugin-transform-modules-amd": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.8", + "@babel/plugin-transform-modules-systemjs": "^7.25.0", + "@babel/plugin-transform-modules-umd": "^7.24.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", + "@babel/plugin-transform-new-target": "^7.24.7", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", + "@babel/plugin-transform-numeric-separator": "^7.24.7", + "@babel/plugin-transform-object-rest-spread": "^7.24.7", + "@babel/plugin-transform-object-super": "^7.24.7", + "@babel/plugin-transform-optional-catch-binding": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.8", + "@babel/plugin-transform-parameters": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.25.4", + "@babel/plugin-transform-private-property-in-object": "^7.24.7", + "@babel/plugin-transform-property-literals": "^7.24.7", + "@babel/plugin-transform-regenerator": "^7.24.7", + "@babel/plugin-transform-reserved-words": "^7.24.7", + "@babel/plugin-transform-shorthand-properties": "^7.24.7", + "@babel/plugin-transform-spread": "^7.24.7", + "@babel/plugin-transform-sticky-regex": "^7.24.7", + "@babel/plugin-transform-template-literals": "^7.24.7", + "@babel/plugin-transform-typeof-symbol": "^7.24.8", + "@babel/plugin-transform-unicode-escapes": "^7.24.7", + "@babel/plugin-transform-unicode-property-regex": "^7.24.7", + "@babel/plugin-transform-unicode-regex": "^7.24.7", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.4", + "@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.37.1", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "@babel/preset-flow": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.24.7.tgz", + "integrity": "sha512-NL3Lo0NorCU607zU3NwRyJbpaB6E3t0xtd3LfAQKDfkeX4/ggcDXvkmkW42QWT5owUeW/jAe4hn+2qvkV1IbfQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "@babel/plugin-transform-flow-strip-types": "^7.24.7" + } + }, + "@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", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/preset-react": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.24.7.tgz", + "integrity": "sha512-AAH4lEkpmzFWrGVlHaxJB7RLH21uPQ9+He+eFLWHmF9IuFQVugz8eAsamaW0DXRrTfco5zj1wWtpdcXJUOfsag==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "@babel/plugin-transform-react-display-name": "^7.24.7", + "@babel/plugin-transform-react-jsx": "^7.24.7", + "@babel/plugin-transform-react-jsx-development": "^7.24.7", + "@babel/plugin-transform-react-pure-annotations": "^7.24.7" + } + }, + "@babel/register": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.25.9.tgz", + "integrity": "sha512-8D43jXtGsYmEeDvm4MWHYUpWf8iiXgWYx3fW7E7Wb7Oe6FWqJPl5K6TuFW0dOwNZzEE5rjlaSJYH9JjrUKJszA==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "find-cache-dir": "^2.0.0", + "make-dir": "^2.1.0", + "pirates": "^4.0.6", + "source-map-support": "^0.5.16" + } + }, + "@babel/runtime": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.9.tgz", + "integrity": "sha512-4zpTHZ9Cm6L9L+uIqghQX8ZXg8HKFcjYO3qHoO8zTmRm6HQUJ8SSJ+KRvbMBZn0EGVlT4DRYeQ/6hjlyXBh+Kg==", + "requires": { + "regenerator-runtime": "^0.14.0" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" + } + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/types": "^7.25.9" + } + }, + "@babel/traverse": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.9.tgz", + "integrity": "sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==", + "dev": true, + "requires": { + "@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", + "debug": "^4.3.1", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.9.tgz", + "integrity": "sha512-OwS2CM5KocvQ/k7dFJa8i5bNGJP0hXWfVCfDkqRFP1IreH1JDC7wG6eCYCi0+McbfT8OR/kNqsI0UU0xP9H6PQ==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "@csstools/css-parser-algorithms": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.1.tgz", + "integrity": "sha512-lSquqZCHxDfuTg/Sk2hiS0mcSFCEBuj49JfzPHJogDBT0mGCyY5A1AQzBWngitrp7i1/HAZpIgzF/VjhOEIJIg==", + "dev": true + }, + "@csstools/css-tokenizer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.1.tgz", + "integrity": "sha512-UBqaiu7kU0lfvaP982/o3khfXccVlHPWp0/vwwiIgDF0GmqqqxoiXC/6FCjlS9u92f7CoEz6nXKQnrn1kIAkOw==", + "dev": true + }, + "@csstools/media-query-list-parser": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-3.0.1.tgz", + "integrity": "sha512-HNo8gGD02kHmcbX6PvCoUuOQvn4szyB9ca63vZHKX5A81QytgDG4oxG4IaEfHTlEZSZ6MjPEMWIVU+zF2PZcgw==", + "dev": true + }, + "@csstools/selector-specificity": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-4.0.0.tgz", + "integrity": "sha512-189nelqtPd8++phaHNwYovKZI0FOzH1vQEE3QhHHkNIGrg5fSs9CbYP3RvfEH5geztnIA9Jwq91wyOIwAW5JIQ==", + "dev": true + }, + "@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==" + }, + "@dual-bundle/import-meta-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", + "integrity": "sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg==", + "dev": true + }, + "@emotion/hash": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", + "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==" + }, + "@emotion/unitless": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", + "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" + }, + "@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "dev": true, + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "dev": true, + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "dev": true, + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "dev": true, + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "dev": true, + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "dev": true, + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "dev": true, + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "dev": true, + "optional": true + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz", + "integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==", + "dev": true + }, + "@eslint/compat": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@eslint/compat/-/compat-1.2.1.tgz", + "integrity": "sha512-JbHG2TWuCeNzh87fXo+/46Z1LEo9DBA9T188d0fZgGxAD+cNyS6sx9fdiyxjGPBMyQVRlCutTByZ6a5+YMkF7g==", + "dev": true + }, + "@eslint/config-array": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.18.0.tgz", + "integrity": "sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==", + "dev": true, + "requires": { + "@eslint/object-schema": "^2.1.4", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + } + }, + "@eslint/core": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.7.0.tgz", + "integrity": "sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw==", + "dev": true + }, + "@eslint/eslintrc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", + "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + } + } + }, + "@eslint/js": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.13.0.tgz", + "integrity": "sha512-IFLyoY4d72Z5y/6o/BazFBezupzI/taV8sGumxTAVw3lXG9A6md1Dc34T9s1FoD/an9pJH8RHbAxsaEbBed9lA==", + "dev": true + }, + "@eslint/object-schema": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", + "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", + "dev": true + }, + "@eslint/plugin-kit": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.1.tgz", + "integrity": "sha512-HFZ4Mp26nbWk9d/BpvP0YNL6W4UoZF0VFcTw/aPPA8RpOxeFQgK+ClABGgAUXs9Y/RGX/l1vOmrqz1MQt9MNuw==", + "dev": true, + "requires": { + "levn": "^0.4.1" + } + }, + "@humanfs/core": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.0.tgz", + "integrity": "sha512-2cbWIHbZVEweE853g8jymffCA+NCMiuqeECeBBLm8dg2oFdjuGJhgN4UAbI+6v0CKbbhvtXA4qV8YR5Ji86nmw==", + "dev": true + }, + "@humanfs/node": { + "version": "0.16.5", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.5.tgz", + "integrity": "sha512-KSPA4umqSG4LHYRodq31VDwKAvaTF4xmVlzM8Aeh4PlU1JQ3IG0wiA8C25d3RQ9nJyM3mBHyI53K06VVL/oFFg==", + "dev": true, + "requires": { + "@humanfs/core": "^0.19.0", + "@humanwhocodes/retry": "^0.3.0" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true + }, + "@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "dev": true + }, + "@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "requires": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + }, + "wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + } + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true + }, + "@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==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@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==", + "dev": true + }, + "@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==", + "dev": true + }, + "@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==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "dev": true, + "requires": { + "eslint-scope": "5.1.1" + } + }, + "@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==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@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==", + "dev": true + }, + "@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==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@nolyfill/is-core-module": { + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", + "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", + "dev": true + }, + "@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true + }, + "@pkgr/core": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", + "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", + "dev": true + }, + "@rc-component/async-validator": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@rc-component/async-validator/-/async-validator-5.0.4.tgz", + "integrity": "sha512-qgGdcVIF604M9EqjNF0hbUTz42bz/RDtxWdWuU5EQe3hi7M8ob54B6B35rOsvX5eSvIHIzT9iH1R3n+hk3CGfg==", + "requires": { + "@babel/runtime": "^7.24.4" + } + }, + "@rc-component/color-picker": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@rc-component/color-picker/-/color-picker-2.0.1.tgz", + "integrity": "sha512-WcZYwAThV/b2GISQ8F+7650r5ZZJ043E57aVBFkQ+kSY4C6wdofXgB0hBx+GPGpIU0Z81eETNoDUJMr7oy/P8Q==", + "requires": { + "@ant-design/fast-color": "^2.0.6", + "@babel/runtime": "^7.23.6", + "classnames": "^2.2.6", + "rc-util": "^5.38.1" + } + }, + "@rc-component/context": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@rc-component/context/-/context-1.4.0.tgz", + "integrity": "sha512-kFcNxg9oLRMoL3qki0OMxK+7g5mypjgaaJp/pkOis/6rVxma9nJBF/8kCIuTYHUQNr0ii7MxqE33wirPZLJQ2w==", + "requires": { + "@babel/runtime": "^7.10.1", + "rc-util": "^5.27.0" + } + }, + "@rc-component/mini-decimal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rc-component/mini-decimal/-/mini-decimal-1.1.0.tgz", + "integrity": "sha512-jS4E7T9Li2GuYwI6PyiVXmxTiM6b07rlD9Ge8uGZSCz3WlzcG5ZK7g5bbuKNeZ9pgUuPK/5guV781ujdVpm4HQ==", + "requires": { + "@babel/runtime": "^7.18.0" + } + }, + "@rc-component/mutate-observer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rc-component/mutate-observer/-/mutate-observer-1.1.0.tgz", + "integrity": "sha512-QjrOsDXQusNwGZPf4/qRQasg7UFEj06XiCJ8iuiq/Io7CrHrgVi6Uuetw60WAMG1799v+aM8kyc+1L/GBbHSlw==", + "requires": { + "@babel/runtime": "^7.18.0", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + } + }, + "@rc-component/portal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@rc-component/portal/-/portal-1.1.1.tgz", + "integrity": "sha512-m8w3dFXX0H6UkJ4wtfrSwhe2/6M08uz24HHrF8pWfAXPwA9hwCuTE5per/C86KwNLouRpwFGcr7LfpHaa1F38g==", + "requires": { + "@babel/runtime": "^7.18.0", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + } + }, + "@rc-component/qrcode": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rc-component/qrcode/-/qrcode-1.0.0.tgz", + "integrity": "sha512-L+rZ4HXP2sJ1gHMGHjsg9jlYBX/SLN2D6OxP9Zn3qgtpMWtO2vUfxVFwiogHpAIqs54FnALxraUy/BCO1yRIgg==", + "requires": { + "@babel/runtime": "^7.24.7", + "classnames": "^2.3.2", + "rc-util": "^5.38.0" + } + }, + "@rc-component/tour": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/@rc-component/tour/-/tour-1.15.1.tgz", + "integrity": "sha512-Tr2t7J1DKZUpfJuDZWHxyxWpfmj8EZrqSgyMZ+BCdvKZ6r1UDsfU46M/iWAAFBy961Ssfom2kv5f3UcjIL2CmQ==", + "requires": { + "@babel/runtime": "^7.18.0", + "@rc-component/portal": "^1.0.0-9", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + } + }, + "@rc-component/trigger": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@rc-component/trigger/-/trigger-2.2.3.tgz", + "integrity": "sha512-X1oFIpKoXAMXNDYCviOmTfuNuYxE4h5laBsyCqVAVMjNHxoF3/uiyA7XdegK1XbCvBbCZ6P6byWrEoDRpKL8+A==", + "requires": { + "@babel/runtime": "^7.23.2", + "@rc-component/portal": "^1.1.0", + "classnames": "^2.3.2", + "rc-motion": "^2.0.0", + "rc-resize-observer": "^1.3.1", + "rc-util": "^5.38.0" + } + }, + "@reduxjs/toolkit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.3.0.tgz", + "integrity": "sha512-WC7Yd6cNGfHx8zf+iu+Q1UPTfEcXhQ+ATi7CV1hlrSAaQBdlPzg7Ww/wJHNQem7qG9rxmWoFCDCPubSvFObGzA==", + "requires": { + "immer": "^10.0.3", + "redux": "^5.0.1", + "redux-thunk": "^3.1.0", + "reselect": "^5.1.0" + } + }, + "@remix-run/router": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.20.0.tgz", + "integrity": "sha512-mUnk8rPJBI9loFDZ+YzPGdeniYK+FTmRD1TMCz7ev2SNIozyKKpnGgsxO34u6Z4z/t0ITuu7voi/AshfsGsgFg==" + }, + "@rollup/pluginutils": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.3.tgz", + "integrity": "sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A==", + "dev": true, + "requires": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" + }, + "dependencies": { + "picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true + } + } + }, + "@rollup/rollup-android-arm-eabi": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.0.tgz", + "integrity": "sha512-Q6HJd7Y6xdB48x8ZNVDOqsbh2uByBhgK8PiQgPhwkIw/HC/YX5Ghq2mQY5sRMZWHb3VsFkWooUVOZHKr7DmDIA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-android-arm64": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.0.tgz", + "integrity": "sha512-ijLnS1qFId8xhKjT81uBHuuJp2lU4x2yxa4ctFPtG+MqEE6+C5f/+X/bStmxapgmwLwiL3ih122xv8kVARNAZA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-darwin-arm64": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.0.tgz", + "integrity": "sha512-bIv+X9xeSs1XCk6DVvkO+S/z8/2AMt/2lMqdQbMrmVpgFvXlmde9mLcbQpztXm1tajC3raFDqegsH18HQPMYtA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-darwin-x64": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.0.tgz", + "integrity": "sha512-X6/nOwoFN7RT2svEQWUsW/5C/fYMBe4fnLK9DQk4SX4mgVBiTA9h64kjUYPvGQ0F/9xwJ5U5UfTbl6BEjaQdBQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.0.tgz", + "integrity": "sha512-0KXvIJQMOImLCVCz9uvvdPgfyWo93aHHp8ui3FrtOP57svqrF/roSSR5pjqL2hcMp0ljeGlU4q9o/rQaAQ3AYA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm-musleabihf": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.0.tgz", + "integrity": "sha512-it2BW6kKFVh8xk/BnHfakEeoLPv8STIISekpoF+nBgWM4d55CZKc7T4Dx1pEbTnYm/xEKMgy1MNtYuoA8RFIWw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm64-gnu": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.0.tgz", + "integrity": "sha512-i0xTLXjqap2eRfulFVlSnM5dEbTVque/3Pi4g2y7cxrs7+a9De42z4XxKLYJ7+OhE3IgxvfQM7vQc43bwTgPwA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm64-musl": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.0.tgz", + "integrity": "sha512-9E6MKUJhDuDh604Qco5yP/3qn3y7SLXYuiC0Rpr89aMScS2UAmK1wHP2b7KAa1nSjWJc/f/Lc0Wl1L47qjiyQw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.0.tgz", + "integrity": "sha512-2XFFPJ2XMEiF5Zi2EBf4h73oR1V/lycirxZxHZNc93SqDN/IWhYYSYj8I9381ikUFXZrz2v7r2tOVk2NBwxrWw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-riscv64-gnu": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.0.tgz", + "integrity": "sha512-M3Dg4hlwuntUCdzU7KjYqbbd+BLq3JMAOhCKdBE3TcMGMZbKkDdJ5ivNdehOssMCIokNHFOsv7DO4rlEOfyKpg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-s390x-gnu": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.0.tgz", + "integrity": "sha512-mjBaoo4ocxJppTorZVKWFpy1bfFj9FeCMJqzlMQGjpNPY9JwQi7OuS1axzNIk0nMX6jSgy6ZURDZ2w0QW6D56g==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-x64-gnu": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.0.tgz", + "integrity": "sha512-ZXFk7M72R0YYFN5q13niV0B7G8/5dcQ9JDp8keJSfr3GoZeXEoMHP/HlvqROA3OMbMdfr19IjCeNAnPUG93b6A==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-x64-musl": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.0.tgz", + "integrity": "sha512-w1i+L7kAXZNdYl+vFvzSZy8Y1arS7vMgIy8wusXJzRrPyof5LAb02KGr1PD2EkRcl73kHulIID0M501lN+vobQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-arm64-msvc": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.0.tgz", + "integrity": "sha512-VXBrnPWgBpVDCVY6XF3LEW0pOU51KbaHhccHw6AS6vBWIC60eqsH19DAeeObl+g8nKAz04QFdl/Cefta0xQtUQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-ia32-msvc": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.0.tgz", + "integrity": "sha512-xrNcGDU0OxVcPTH/8n/ShH4UevZxKIO6HJFK0e15XItZP2UcaiLFd5kiX7hJnqCbSztUF8Qot+JWBC/QXRPYWQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-x64-msvc": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.0.tgz", + "integrity": "sha512-fbMkAF7fufku0N2dE5TBXcNlg0pt0cJue4xBRE2Qc5Vqikxr4VCgKj/ht6SMdFcOacVA9rqF70APJ8RN/4vMJw==", + "dev": true, + "optional": true + }, + "@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "dev": true + }, + "@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==", + "dev": true + }, + "@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==", + "dev": true + }, + "@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==", + "dev": true + }, + "@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==", + "dev": true + }, + "@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==", + "dev": true + }, + "@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==", + "dev": true + }, + "@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==", + "dev": true + }, + "@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==", + "dev": true + }, + "@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==", + "dev": true, + "requires": { + "@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" + } + }, + "@svgr/core": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", + "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", + "dev": true, + "requires": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^8.1.3", + "snake-case": "^3.0.4" + }, + "dependencies": { + "cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dev": true, + "requires": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + } + } + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/types": "^7.21.3", + "entities": "^4.4.0" + } + }, + "@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==", + "dev": true, + "requires": { + "@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" + } + }, + "@testing-library/react": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.0.1.tgz", + "integrity": "sha512-dSmwJVtJXmku+iocRhWOUFbrERC76TX2Mnf0ATODz8brzAZrMBbzLwQixlBSanZxR6LddK3eiwpSFZgDET1URg==", + "requires": { + "@babel/runtime": "^7.12.5" + } + }, + "@testing-library/user-event": { + "version": "14.5.2", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.5.2.tgz", + "integrity": "sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==" + }, + "@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "requires": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.6", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.6.tgz", + "integrity": "sha512-66BXMKb/sUWbMdBNdMvajU7i/44RkrA3z/Yt1c7R5xejt8qh84iU54yUWCtm0QwGJlDcf/gg4zd/x4mpLAlb/w==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.3.tgz", + "integrity": "sha512-ciwyCLeuRfxboZ4isgdNZi/tkt06m8Tw6uGbBSBgWrnnZGNXiEyM27xc/PjXGQLqlZ6ylbgHMnm7ccF9tCkOeQ==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.20.3", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.3.tgz", + "integrity": "sha512-Lsh766rGEFbaxMIDH7Qa+Yha8cMVI3qAK6CHt3OR0YfxOIn5Z54iHiyDRycHrBqeIiqGa20Kpsv1cavfBKkRSw==", + "dev": true, + "requires": { + "@babel/types": "^7.20.7" + } + }, + "@types/debug": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.10.tgz", + "integrity": "sha512-tOSCru6s732pofZ+sMv9o4o3Zc+Sa8l3bxd/tweTQudFn06vAzb13ZX46Zi6m6EJ+RUbRTHvgQJ1gBtSgkaUYA==", + "requires": { + "@types/ms": "*" + } + }, + "@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==", + "dev": true + }, + "@types/file-saver": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/file-saver/-/file-saver-2.0.7.tgz", + "integrity": "sha512-dNKVfHd/jk0SkR/exKGj2ggkB45MAkzvWCaqLUUgkyjITkGNzH8H+yUwr+BLJUBjZOe9w8X3wgmXhZDRg1ED6A==", + "dev": true + }, + "@types/hast": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz", + "integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==", + "requires": { + "@types/unist": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "@types/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==", + "dev": true + }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "@types/lodash": { + "version": "4.17.12", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.12.tgz", + "integrity": "sha512-sviUmCE8AYdaF/KIHLDJBQgeYzPBI0vf/17NaYehBJfYD1j6/L95Slh07NlyK2iNyBNaEkb3En2jRt+a8y3xZQ==", + "dev": true + }, + "@types/mdast": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz", + "integrity": "sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==", + "dev": true, + "requires": { + "@types/unist": "*" + } + }, + "@types/ms": { + "version": "0.7.33", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.33.tgz", + "integrity": "sha512-AuHIyzR5Hea7ij0P9q7vx7xu4z0C28ucwjAZC0ja7JhINyCnOw8/DnvAPQQ9TfOlCtZAmCERKQX9+o1mgQhuOQ==" + }, + "@types/node": { + "version": "20.16.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.16.5.tgz", + "integrity": "sha512-VwYCweNo3ERajwy0IUlqqcyZ8/A7Zwa9ZP3MnENWcB11AejO+tLy3pu850goUW2FC/IJMdZUfKpX/yxL1gymCA==", + "dev": true, + "requires": { + "undici-types": "~6.19.2" + } + }, + "@types/prismjs": { + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.0.tgz", + "integrity": "sha512-ZTaqn/qSqUuAq1YwvOFQfVW1AR/oQJlLSZVustdjwI+GZ8kr0MSHBj0tsXPW1EqHubx50gtBEjbPGsdZwQwCjQ==" + }, + "@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + }, + "@types/react": { + "version": "18.3.12", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.12.tgz", + "integrity": "sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==", + "requires": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-copy-to-clipboard": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/@types/react-copy-to-clipboard/-/react-copy-to-clipboard-5.0.7.tgz", + "integrity": "sha512-Gft19D+as4M+9Whq1oglhmK49vqPhcLzk8WfvfLvaYMIPYanyfLy0+CwFucMJfdKoSFyySPmkkWn8/E6voQXjQ==", + "dev": true, + "requires": { + "@types/react": "*" + } + }, + "@types/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ==", + "requires": { + "@types/react": "*" + } + }, + "@types/react-virtualized": { + "version": "9.21.30", + "resolved": "https://registry.npmjs.org/@types/react-virtualized/-/react-virtualized-9.21.30.tgz", + "integrity": "sha512-4l2TFLQ8BCjNDQlvH85tU6gctuZoEdgYzENQyZHpgTHU7hoLzYgPSOALMAeA58LOWua8AzC6wBivPj1lfl6JgQ==", + "dev": true, + "requires": { + "@types/prop-types": "*", + "@types/react": "*" + } + }, + "@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "dev": true + }, + "@types/unist": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", + "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==" + }, + "@types/use-sync-external-store": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", + "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==" + }, + "@typescript-eslint/eslint-plugin": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.11.0.tgz", + "integrity": "sha512-KhGn2LjW1PJT2A/GfDpiyOfS4a8xHQv2myUagTM5+zsormOmBlYsnQ6pobJ8XxJmh6hnHwa2Mbe3fPrDJoDhbA==", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.11.0", + "@typescript-eslint/type-utils": "8.11.0", + "@typescript-eslint/utils": "8.11.0", + "@typescript-eslint/visitor-keys": "8.11.0", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^1.3.0" + } + }, + "@typescript-eslint/parser": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.11.0.tgz", + "integrity": "sha512-lmt73NeHdy1Q/2ul295Qy3uninSqi6wQI18XwSpm8w0ZbQXUpjCAWP1Vlv/obudoBiIjJVjlztjQ+d/Md98Yxg==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "8.11.0", + "@typescript-eslint/types": "8.11.0", + "@typescript-eslint/typescript-estree": "8.11.0", + "@typescript-eslint/visitor-keys": "8.11.0", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.11.0.tgz", + "integrity": "sha512-Uholz7tWhXmA4r6epo+vaeV7yjdKy5QFCERMjs1kMVsLRKIrSdM6o21W2He9ftp5PP6aWOVpD5zvrvuHZC0bMQ==", + "dev": true, + "requires": { + "@typescript-eslint/types": "8.11.0", + "@typescript-eslint/visitor-keys": "8.11.0" + } + }, + "@typescript-eslint/type-utils": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.11.0.tgz", + "integrity": "sha512-ItiMfJS6pQU0NIKAaybBKkuVzo6IdnAhPFZA/2Mba/uBjuPQPet/8+zh5GtLHwmuFRShZx+8lhIs7/QeDHflOg==", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "8.11.0", + "@typescript-eslint/utils": "8.11.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" + } + }, + "@typescript-eslint/types": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.11.0.tgz", + "integrity": "sha512-tn6sNMHf6EBAYMvmPUaKaVeYvhUsrE6x+bXQTxjQRp360h1giATU0WvgeEys1spbvb5R+VpNOZ+XJmjD8wOUHw==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.11.0.tgz", + "integrity": "sha512-yHC3s1z1RCHoCz5t06gf7jH24rr3vns08XXhfEqzYpd6Hll3z/3g23JRi0jM8A47UFKNc3u/y5KIMx8Ynbjohg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "8.11.0", + "@typescript-eslint/visitor-keys": "8.11.0", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "@typescript-eslint/utils": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.11.0.tgz", + "integrity": "sha512-CYiX6WZcbXNJV7UNB4PLDIBtSdRmRI/nb0FMyqHPTQD1rMjA0foPLaPUV39C/MxkTd/QKSeX+Gb34PPsDVC35g==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "8.11.0", + "@typescript-eslint/types": "8.11.0", + "@typescript-eslint/typescript-estree": "8.11.0" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.11.0.tgz", + "integrity": "sha512-EaewX6lxSjRJnc+99+dqzTeoDZUfyrA52d2/HRrkI830kgovWsmIiTfmr0NZorzqic7ga+1bS60lRBUgR3n/Bw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "8.11.0", + "eslint-visitor-keys": "^3.4.3" + } + }, + "@uiw/copy-to-clipboard": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/@uiw/copy-to-clipboard/-/copy-to-clipboard-1.0.16.tgz", + "integrity": "sha512-IXR+N363nLTR3ilklmM+B0nk774jVE/muOrBYt4Rdww/Pf3uP9XHyv2x6YZrbDh29F7w9BkzQyB8QF6WDShmJA==" + }, + "@uiw/react-markdown-preview": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/@uiw/react-markdown-preview/-/react-markdown-preview-5.0.6.tgz", + "integrity": "sha512-zd+T02xFhy6K75XPdkF3RRAWKzVzJctZ6CCpFDcn/CgdQlEj8Z+Z9k11nkPspzbznB43UYdoe4qQvnjgG6TfZw==", + "requires": { + "@babel/runtime": "^7.17.2", + "@uiw/copy-to-clipboard": "~1.0.12", + "react-markdown": "~9.0.1", + "rehype-attr": "~3.0.1", + "rehype-autolink-headings": "~7.1.0", + "rehype-ignore": "^2.0.0", + "rehype-prism-plus": "1.6.3", + "rehype-raw": "^7.0.0", + "rehype-rewrite": "~4.0.0", + "rehype-slug": "~6.0.0", + "remark-gfm": "~4.0.0", + "unist-util-visit": "^5.0.0" + } + }, + "@uiw/react-md-editor": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@uiw/react-md-editor/-/react-md-editor-4.0.4.tgz", + "integrity": "sha512-JH9nDXXRhJtWPP4yE61VE+9ryFo9tg9v7KMwGfJCnaOOKuLF1MR3l/MNsiJCGkRjUwyto5WrU7kBSq8ODJEtYw==", + "requires": { + "@babel/runtime": "^7.14.6", + "@uiw/react-markdown-preview": "^5.0.6", + "rehype": "~13.0.0", + "rehype-prism-plus": "~2.0.0" + }, + "dependencies": { + "@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==", + "requires": { + "@types/unist": "*" + } + }, + "@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "hast-util-to-string": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.0.tgz", + "integrity": "sha512-OGkAxX1Ua3cbcW6EJ5pT/tslVb90uViVkcJ4ZZIMW/R33DX/AkcJcRrPebPwJkHYwlDHXz4aIwvAAaAdtrACFA==", + "requires": { + "@types/hast": "^3.0.0" + } + }, + "rehype-parse": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-9.0.0.tgz", + "integrity": "sha512-WG7nfvmWWkCR++KEkZevZb/uw41E8TsH4DsY9UxsTbIXCVGbAs4S+r8FrQ+OtH5EEQAs+5UxKC42VinkmpA1Yw==", + "requires": { + "@types/hast": "^3.0.0", + "hast-util-from-html": "^2.0.0", + "unified": "^11.0.0" + } + }, + "rehype-prism-plus": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/rehype-prism-plus/-/rehype-prism-plus-2.0.0.tgz", + "integrity": "sha512-FeM/9V2N7EvDZVdR2dqhAzlw5YI49m9Tgn7ZrYJeYHIahM6gcXpH0K1y2gNnKanZCydOMluJvX2cB9z3lhY8XQ==", + "requires": { + "hast-util-to-string": "^3.0.0", + "parse-numeric-range": "^1.3.0", + "refractor": "^4.8.0", + "rehype-parse": "^9.0.0", + "unist-util-filter": "^5.0.0", + "unist-util-visit": "^5.0.0" + } + }, + "unist-util-filter": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/unist-util-filter/-/unist-util-filter-5.0.1.tgz", + "integrity": "sha512-pHx7D4Zt6+TsfwylH9+lYhBhzyhEnCXs/lbq/Hstxno5z4gVdyc2WEW0asfjGKPyG4pEKrnBv5hdkO6+aRnQJw==", + "requires": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + } + } + } + }, + "@umijs/route-utils": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@umijs/route-utils/-/route-utils-4.0.1.tgz", + "integrity": "sha512-+1ixf1BTOLuH+ORb4x8vYMPeIt38n9q0fJDwhv9nSxrV46mxbLF0nmELIo9CKQB2gHfuC4+hww6xejJ6VYnBHQ==" + }, + "@umijs/use-params": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@umijs/use-params/-/use-params-1.0.9.tgz", + "integrity": "sha512-QlN0RJSBVQBwLRNxbxjQ5qzqYIGn+K7USppMoIOVlf7fxXHsnQZ2bEsa6Pm74bt6DVQxpUE8HqvdStn6Y9FV1w==" + }, + "@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==" + }, + "@vitejs/plugin-react": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.3.tgz", + "integrity": "sha512-NooDe9GpHGqNns1i8XDERg0Vsg5SSYRhRxxyTGogUdkdNt47jal+fbuYi+Yfq6pzRCKXyoPcWisfxE6RIM3GKA==", + "dev": true, + "requires": { + "@babel/core": "^7.25.2", + "@babel/plugin-transform-react-jsx-self": "^7.24.7", + "@babel/plugin-transform-react-jsx-source": "^7.24.7", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.14.2" + }, + "dependencies": { + "@babel/core": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.9.tgz", + "integrity": "sha512-WYvQviPw+Qyib0v92AwNIrdLISTp7RfDkM7bPqBvpbnhY4wq8HvHBZREVdYDXk98C8BkOIVnHAY3yvj7AVISxQ==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.25.9", + "@babel/generator": "^7.25.9", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helpers": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "@vitest/coverage-v8": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-2.1.3.tgz", + "integrity": "sha512-2OJ3c7UPoFSmBZwqD2VEkUw6A/tzPF0LmW0ZZhhB8PFxuc+9IBG/FaSM+RLEenc7ljzFvGN+G0nGQoZnh7sy2A==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.3.0", + "@bcoe/v8-coverage": "^0.2.3", + "debug": "^4.3.6", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-lib-source-maps": "^5.0.6", + "istanbul-reports": "^3.1.7", + "magic-string": "^0.30.11", + "magicast": "^0.3.4", + "std-env": "^3.7.0", + "test-exclude": "^7.0.1", + "tinyrainbow": "^1.2.0" + } + }, + "@vitest/expect": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.3.tgz", + "integrity": "sha512-SNBoPubeCJhZ48agjXruCI57DvxcsivVDdWz+SSsmjTT4QN/DfHk3zB/xKsJqMs26bLZ/pNRLnCf0j679i0uWQ==", + "dev": true, + "requires": { + "@vitest/spy": "2.1.3", + "@vitest/utils": "2.1.3", + "chai": "^5.1.1", + "tinyrainbow": "^1.2.0" + } + }, + "@vitest/mocker": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.3.tgz", + "integrity": "sha512-eSpdY/eJDuOvuTA3ASzCjdithHa+GIF1L4PqtEELl6Qa3XafdMLBpBlZCIUCX2J+Q6sNmjmxtosAG62fK4BlqQ==", + "dev": true, + "requires": { + "@vitest/spy": "2.1.3", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.11" + }, + "dependencies": { + "estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "requires": { + "@types/estree": "^1.0.0" + } + } + } + }, + "@vitest/pretty-format": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.3.tgz", + "integrity": "sha512-XH1XdtoLZCpqV59KRbPrIhFCOO0hErxrQCMcvnQete3Vibb9UeIOX02uFPfVn3Z9ZXsq78etlfyhnkmIZSzIwQ==", + "dev": true, + "requires": { + "tinyrainbow": "^1.2.0" + } + }, + "@vitest/runner": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.3.tgz", + "integrity": "sha512-JGzpWqmFJ4fq5ZKHtVO3Xuy1iF2rHGV4d/pdzgkYHm1+gOzNZtqjvyiaDGJytRyMU54qkxpNzCx+PErzJ1/JqQ==", + "dev": true, + "requires": { + "@vitest/utils": "2.1.3", + "pathe": "^1.1.2" + } + }, + "@vitest/snapshot": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.3.tgz", + "integrity": "sha512-qWC2mWc7VAXmjAkEKxrScWHWFyCQx/cmiZtuGqMi+WwqQJ2iURsVY4ZfAK6dVo6K2smKRU6l3BPwqEBvhnpQGg==", + "dev": true, + "requires": { + "@vitest/pretty-format": "2.1.3", + "magic-string": "^0.30.11", + "pathe": "^1.1.2" + } + }, + "@vitest/spy": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.3.tgz", + "integrity": "sha512-Nb2UzbcUswzeSP7JksMDaqsI43Sj5+Kry6ry6jQJT4b5gAK+NS9NED6mDb8FlMRCX8m5guaHCDZmqYMMWRy5nQ==", + "dev": true, + "requires": { + "tinyspy": "^3.0.0" + } + }, + "@vitest/utils": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.3.tgz", + "integrity": "sha512-xpiVfDSg1RrYT0tX6czgerkpcKFmFOF/gCr30+Mve5V2kewCy4Prn1/NDMSRwaSmT7PRaOF83wu+bEtsY1wrvA==", + "dev": true, + "requires": { + "@vitest/pretty-format": "2.1.3", + "loupe": "^3.1.1", + "tinyrainbow": "^1.2.0" + } + }, + "acorn": { + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true + }, + "agent-base": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "dev": true, + "requires": { + "debug": "^4.3.4" + } + }, + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "antd": { + "version": "5.21.5", + "resolved": "https://registry.npmjs.org/antd/-/antd-5.21.5.tgz", + "integrity": "sha512-g/c8VkdruKDCVA6di9Ow1fG6dLtYJ1IOraPo7vXaY7DoQ56A3HExaFaH0fBEwTYKC0ICeftC4iA5eAjrF6/b9w==", + "requires": { + "@ant-design/colors": "^7.1.0", + "@ant-design/cssinjs": "^1.21.1", + "@ant-design/cssinjs-utils": "^1.1.1", + "@ant-design/icons": "^5.5.1", + "@ant-design/react-slick": "~1.1.2", + "@babel/runtime": "^7.25.6", + "@ctrl/tinycolor": "^3.6.1", + "@rc-component/color-picker": "~2.0.1", + "@rc-component/mutate-observer": "^1.1.0", + "@rc-component/qrcode": "~1.0.0", + "@rc-component/tour": "~1.15.1", + "@rc-component/trigger": "^2.2.3", + "classnames": "^2.5.1", + "copy-to-clipboard": "^3.3.3", + "dayjs": "^1.11.11", + "rc-cascader": "~3.28.2", + "rc-checkbox": "~3.3.0", + "rc-collapse": "~3.8.0", + "rc-dialog": "~9.6.0", + "rc-drawer": "~7.2.0", + "rc-dropdown": "~4.2.0", + "rc-field-form": "~2.4.0", + "rc-image": "~7.11.0", + "rc-input": "~1.6.3", + "rc-input-number": "~9.2.0", + "rc-mentions": "~2.16.1", + "rc-menu": "~9.15.1", + "rc-motion": "^2.9.3", + "rc-notification": "~5.6.2", + "rc-pagination": "~4.3.0", + "rc-picker": "~4.6.15", + "rc-progress": "~4.0.0", + "rc-rate": "~2.13.0", + "rc-resize-observer": "^1.4.0", + "rc-segmented": "~2.5.0", + "rc-select": "~14.15.2", + "rc-slider": "~11.1.7", + "rc-steps": "~6.0.1", + "rc-switch": "~4.1.0", + "rc-table": "~7.47.5", + "rc-tabs": "~15.3.0", + "rc-textarea": "~1.8.2", + "rc-tooltip": "~6.2.1", + "rc-tree": "~5.9.0", + "rc-tree-select": "~5.23.0", + "rc-upload": "~4.8.1", + "rc-util": "^5.43.0", + "scroll-into-view-if-needed": "^3.1.0", + "throttle-debounce": "^5.0.2" + } + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "dev": true + }, + "array-buffer-byte-length": { + "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==", + "dev": true, + "requires": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + } + }, + "array-includes": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "is-string": "^1.0.7" + } + }, + "array-tree-filter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-tree-filter/-/array-tree-filter-2.1.0.tgz", + "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==" + }, + "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==", + "dev": true + }, + "array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + } + }, + "array.prototype.findlastindex": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", + "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + } + }, + "array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + } + }, + "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==", + "dev": true, + "requires": { + "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" + } + }, + "assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "dev": true + }, + "ast-types-flow": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", + "dev": true + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "possible-typed-array-names": "^1.0.0" + } + }, + "axe-core": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.0.tgz", + "integrity": "sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==", + "dev": true + }, + "axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "dev": true + }, + "babel-plugin-import": { + "version": "1.13.8", + "resolved": "https://registry.npmjs.org/babel-plugin-import/-/babel-plugin-import-1.13.8.tgz", + "integrity": "sha512-36babpjra5m3gca44V6tSTomeBlPA7cHUynrE2WiQIm3rEGD9xy28MKsx5IdO45EbnpJY7Jrgd00C6Dwt/l/2Q==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0" + } + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", + "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.2", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "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==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.6.2", + "core-js-compat": "^3.38.0" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", + "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.6.2" + } + }, + "bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==" + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "bcp-47-match": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/bcp-47-match/-/bcp-47-match-2.0.3.tgz", + "integrity": "sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ==" + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "requires": { + "fill-range": "^7.1.1" + } + }, + "browserslist": { + "version": "4.24.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", + "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001669", + "electron-to-chromium": "^1.5.41", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.1" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true + }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true + }, + "c8": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/c8/-/c8-10.1.2.tgz", + "integrity": "sha512-Qr6rj76eSshu5CgRYvktW0uM0CFY0yi4Fd5D0duDXO6sYinyopmftUiJVuzBQxQcwQLor7JWDVRP+dUfCmzgJw==", + "dev": true, + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@istanbuljs/schema": "^0.1.3", + "find-up": "^5.0.0", + "foreground-child": "^3.1.1", + "istanbul-lib-coverage": "^3.2.0", + "istanbul-lib-report": "^3.0.1", + "istanbul-reports": "^3.1.6", + "test-exclude": "^7.0.1", + "v8-to-istanbul": "^9.0.0", + "yargs": "^17.7.2", + "yargs-parser": "^21.1.1" + }, + "dependencies": { + "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==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "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==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "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==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true + } + } + }, + "cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true + }, + "call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dev": true, + "requires": { + "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" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001669", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001669.tgz", + "integrity": "sha512-DlWzFDJqstqtIVx1zeSpIMLjunf5SmwOw0N2Ck/QSQdS8PLS4+9HrLaYei4w8BIAL7IB/UEDu889d8vhCTPA0w==", + "dev": true + }, + "ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==" + }, + "chai": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.2.tgz", + "integrity": "sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==", + "dev": true, + "requires": { + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "character-entities": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", + "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", + "dev": true + }, + "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==" + }, + "character-entities-legacy": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", + "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", + "dev": true + }, + "character-reference-invalid": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", + "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", + "dev": true + }, + "check-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", + "dev": true + }, + "chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "classnames": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", + "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" + }, + "client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" + }, + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + } + } + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "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==" + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "compute-scroll-into-view": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-3.0.3.tgz", + "integrity": "sha512-nadqwNxghAGTamwIqQSG433W6OADZx2vCo3UXHNrzTRHK/htu+7+L0zhjEoaeaQVNAi3YgqWDv8+tzf0hRfR+A==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "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==", + "dev": true + }, + "copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "dev": true, + "requires": { + "is-what": "^3.14.1" + } + }, + "copy-to-clipboard": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", + "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", + "requires": { + "toggle-selection": "^1.0.6" + } + }, + "core-js-compat": { + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz", + "integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==", + "dev": true, + "requires": { + "browserslist": "^4.23.3" + } + }, + "cosmiconfig": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", + "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", + "dev": true, + "requires": { + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "css-functions-list": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.3.tgz", + "integrity": "sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA==", + "dev": true + }, + "css-selector-parser": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/css-selector-parser/-/css-selector-parser-3.0.2.tgz", + "integrity": "sha512-eA5pvYwgtffuxQlDk0gJRApDUKgfwlsQBMAH6uawKuuilTLfxKIOtzyV63Y3IC0LWnDCeTJ/I1qYmlfYvvMzDg==" + }, + "css-tree": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.0.0.tgz", + "integrity": "sha512-o88DVQ6GzsABn1+6+zo2ct801dBO5OASVyxbbvA2W20ue2puSh/VOuqUj90eUeMSX/xqGqBmOKiRQN7tJOuBXw==", + "dev": true, + "requires": { + "mdn-data": "2.10.0", + "source-map-js": "^1.0.1" + } + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "cssstyle": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.1.0.tgz", + "integrity": "sha512-h66W1URKpBS5YMI/V8PyXvTMFT8SupJ1IzoIV8IeBC/ji8WVmrO8dGlTi+2dh6whmdk6BiKJLD/ZBkhWbcg6nA==", + "dev": true, + "requires": { + "rrweb-cssom": "^0.7.1" + } + }, + "csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, + "damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true + }, + "data-urls": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz", + "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==", + "dev": true, + "requires": { + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0" + } + }, + "data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "dev": true, + "requires": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + } + }, + "data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + } + }, + "data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "dev": true, + "requires": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + } + }, + "dayjs": { + "version": "1.11.11", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.11.tgz", + "integrity": "sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==" + }, + "debug": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", + "requires": { + "ms": "2.1.2" + } + }, + "decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "dev": true + }, + "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==", + "requires": { + "character-entities": "^2.0.0" + }, + "dependencies": { + "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==" + } + } + }, + "deep-eql": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", + "dev": true + }, + "deep-equal": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", + "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", + "dev": true, + "requires": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.5", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.2", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.2", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.13" + } + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + } + }, + "define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "requires": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true + }, + "dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==" + }, + "devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "requires": { + "dequal": "^2.0.0" + } + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "direction": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/direction/-/direction-2.0.1.tgz", + "integrity": "sha512-9S6m9Sukh1cZNknO1CWAr2QAWsbKLafQiyM5gZ7VgXHeuaoUwffKN4q6NC4A/Mf9iiPlOXQEKW/Mv/mh9/3YFA==" + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "requires": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, + "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==", + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + }, + "domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "requires": { + "domelementtype": "^2.3.0" + } + }, + "domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "requires": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + } + }, + "dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + } + } + }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.5.45", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.45.tgz", + "integrity": "sha512-vOzZS6uZwhhbkZbcRyiy99Wg+pYFV5hk+5YaECvx0+Z31NR3Tt5zS6dze2OepT6PCTzVzT0dIJItti+uAW5zmw==", + "dev": true + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==" + }, + "env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true + }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "optional": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.23.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", + "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", + "dev": true, + "requires": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.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.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.1", + "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.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "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.6", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.15" + } + }, + "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==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.4" + } + }, + "es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true + }, + "es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" + } + }, + "es-iterator-helpers": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.1.0.tgz", + "integrity": "sha512-/SurEfycdyssORP/E+bj4sEu1CWw4EmLDsHynHwSXQ7utgbrMRWW195pTrCjFgFCddf/UkYm3oqKPRq5i8bJbw==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.4", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "iterator.prototype": "^1.1.3", + "safe-array-concat": "^1.1.2" + } + }, + "es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dev": true, + "requires": { + "es-errors": "^1.3.0" + } + }, + "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==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" + } + }, + "es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "dev": true, + "requires": { + "hasown": "^2.0.0" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "requires": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true + }, + "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==", + "dev": true + }, + "eslint": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.13.0.tgz", + "integrity": "sha512-EYZK6SX6zjFHST/HRytOdA/zE72Cq/bfw45LSyuwrdvcclb/gqV8RRQxywOBEWO2+WDpva6UZa4CcDeJKzUCFA==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.11.0", + "@eslint/config-array": "^0.18.0", + "@eslint/core": "^0.7.0", + "@eslint/eslintrc": "^3.1.0", + "@eslint/js": "9.13.0", + "@eslint/plugin-kit": "^0.2.0", + "@humanfs/node": "^0.16.5", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.3.1", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.1.0", + "eslint-visitor-keys": "^4.1.0", + "espree": "^10.2.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "text-table": "^0.2.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "eslint-scope": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.1.0.tgz", + "integrity": "sha512-14dSvlhaVhKKsa9Fx1l8A17s7ah7Ef7wCakJ10LYk6+GYmP9yDti2oq2SEwcyndt6knfcZyhyxwY3i9yL78EQw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-visitor-keys": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.1.0.tgz", + "integrity": "sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==", + "dev": true + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "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==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "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==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", + "dev": true + }, + "eslint-formatter-checkstyle": { + "version": "8.40.0", + "resolved": "https://registry.npmjs.org/eslint-formatter-checkstyle/-/eslint-formatter-checkstyle-8.40.0.tgz", + "integrity": "sha512-OpYAiI2yejMPUlB1O2pkfyNfBQrKNWrMK6X2eOn2vg/q94roDiHnOYExK0isdNglKeaYHA5JtgmuBtokFdj0AA==", + "dev": true + }, + "eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "requires": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "eslint-import-resolver-typescript": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.3.tgz", + "integrity": "sha512-ud9aw4szY9cCT1EWWdGv1L1XR6hh2PaRWif0j2QjQ0pgTY/69iw+W0Z4qZv5wHahOl8isEr+k/JnyAqNQkLkIA==", + "dev": true, + "requires": { + "@nolyfill/is-core-module": "1.0.39", + "debug": "^4.3.5", + "enhanced-resolve": "^5.15.0", + "eslint-module-utils": "^2.8.1", + "fast-glob": "^3.3.2", + "get-tsconfig": "^4.7.5", + "is-bun-module": "^1.0.2", + "is-glob": "^4.0.3" + } + }, + "eslint-module-utils": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", + "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", + "dev": true, + "requires": { + "debug": "^3.2.7" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-plugin-disable": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-disable/-/eslint-plugin-disable-2.0.3.tgz", + "integrity": "sha512-JWT4TPhcIhd8jcwACbsDValvAtHl7BQDhbTZC40vqcp4Fciz2oTnEAFtOCGojdskviN3VGOObVCrjjWe8DGYIg==", + "dev": true, + "requires": { + "resolve": "^1.1.6" + } + }, + "eslint-plugin-import": { + "version": "2.31.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", + "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", + "dev": true, + "requires": { + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.8", + "array.prototype.findlastindex": "^1.2.5", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.12.0", + "hasown": "^2.0.2", + "is-core-module": "^2.15.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.0", + "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.8", + "tsconfig-paths": "^3.15.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "eslint-plugin-jsx-a11y": { + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.1.tgz", + "integrity": "sha512-zHByM9WTUMnfsDTafGXRiqxp6lFtNoSOWBY6FonVRn3A+BUwN1L/tdBXT40BcBJi0cZjOGTXZ0eD/rTG9fEJ0g==", + "dev": true, + "requires": { + "aria-query": "^5.3.2", + "array-includes": "^3.1.8", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "es-iterator-helpers": "^1.1.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.1" + } + }, + "eslint-plugin-prettier": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz", + "integrity": "sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.9.1" + } + }, + "eslint-plugin-react": { + "version": "7.37.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.2.tgz", + "integrity": "sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w==", + "dev": true, + "requires": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.1.0", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.8", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.0", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.11", + "string.prototype.repeat": "^1.0.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "eslint-plugin-react-hooks": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.0.0.tgz", + "integrity": "sha512-hIOwI+5hYGpJEc4uPRmz2ulCjAGD/N13Lukkh8cLV0i2IRk/bdZDYjgLVHj+U9Z704kLIdIO6iueGvxNur0sgw==", + "dev": true + }, + "eslint-plugin-sonarjs": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-2.0.4.tgz", + "integrity": "sha512-XVVAB/t0WSgHitHNajIcIDmviCO8kB9VSsrjy+4WUEVM3eieY9SDHEtCDaOMTjj6XMtcAr8BFDXCFaP005s+tg==", + "dev": true, + "requires": { + "@babel/core": "7.25.2", + "@babel/eslint-parser": "7.25.1", + "@babel/plugin-proposal-decorators": "7.24.7", + "@babel/preset-env": "7.25.4", + "@babel/preset-flow": "7.24.7", + "@babel/preset-react": "7.24.7", + "@eslint-community/regexpp": "4.11.1", + "@typescript-eslint/eslint-plugin": "7.16.1", + "@typescript-eslint/utils": "7.16.1", + "builtin-modules": "3.3.0", + "bytes": "3.1.2", + "eslint-plugin-import": "2.30.0", + "eslint-plugin-jsx-a11y": "6.10.0", + "eslint-plugin-react": "7.36.1", + "eslint-plugin-react-hooks": "4.6.2", + "eslint-scope": "8.1.0", + "functional-red-black-tree": "1.0.1", + "jsx-ast-utils": "3.3.5", + "minimatch": "10.0.1", + "scslre": "0.3.0", + "semver": "7.6.3", + "typescript": "5.6.2", + "vue-eslint-parser": "9.4.3" + }, + "dependencies": { + "@typescript-eslint/eslint-plugin": { + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.16.1.tgz", + "integrity": "sha512-SxdPak/5bO0EnGktV05+Hq8oatjAYVY3Zh2bye9pGZy6+jwyR3LG3YKkV4YatlsgqXP28BTeVm9pqwJM96vf2A==", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "7.16.1", + "@typescript-eslint/type-utils": "7.16.1", + "@typescript-eslint/utils": "7.16.1", + "@typescript-eslint/visitor-keys": "7.16.1", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^1.3.0" + } + }, + "@typescript-eslint/scope-manager": { + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.16.1.tgz", + "integrity": "sha512-nYpyv6ALte18gbMz323RM+vpFpTjfNdyakbf3nsLvF43uF9KeNC289SUEW3QLZ1xPtyINJ1dIsZOuWuSRIWygw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "7.16.1", + "@typescript-eslint/visitor-keys": "7.16.1" + } + }, + "@typescript-eslint/type-utils": { + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.16.1.tgz", + "integrity": "sha512-rbu/H2MWXN4SkjIIyWcmYBjlp55VT+1G3duFOIukTNFxr9PI35pLc2ydwAfejCEitCv4uztA07q0QWanOHC7dA==", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "7.16.1", + "@typescript-eslint/utils": "7.16.1", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" + } + }, + "@typescript-eslint/types": { + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.16.1.tgz", + "integrity": "sha512-AQn9XqCzUXd4bAVEsAXM/Izk11Wx2u4H3BAfQVhSfzfDOm/wAON9nP7J5rpkCxts7E5TELmN845xTUCQrD1xIQ==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.16.1.tgz", + "integrity": "sha512-0vFPk8tMjj6apaAZ1HlwM8w7jbghC8jc1aRNJG5vN8Ym5miyhTQGMqU++kuBFDNKe9NcPeZ6x0zfSzV8xC1UlQ==", + "dev": true, + "requires": { + "@typescript-eslint/types": "7.16.1", + "@typescript-eslint/visitor-keys": "7.16.1", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "dependencies": { + "minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "@typescript-eslint/utils": { + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.16.1.tgz", + "integrity": "sha512-WrFM8nzCowV0he0RlkotGDujx78xudsxnGMBHI88l5J8wEhED6yBwaSLP99ygfrzAjsQvcYQ94quDwI0d7E1fA==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "7.16.1", + "@typescript-eslint/types": "7.16.1", + "@typescript-eslint/typescript-estree": "7.16.1" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.16.1.tgz", + "integrity": "sha512-Qlzzx4sE4u3FsHTPQAAQFJFNOuqtuY0LFrZHwQ8IHK705XxBiWOFkfKRWu6niB7hwfgnwIpO4jTC75ozW1PHWg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "7.16.1", + "eslint-visitor-keys": "^3.4.3" + } + }, + "aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "dev": true, + "requires": { + "deep-equal": "^2.0.5" + } + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "eslint-plugin-import": { + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.30.0.tgz", + "integrity": "sha512-/mHNE9jINJfiD2EKkg1BKyPyUk4zdnT54YgbOgfjSakWT5oyX/qQLVNTkehyfpcMxZXMy1zyonZ2v7hZTX43Yw==", + "dev": true, + "requires": { + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.8", + "array.prototype.findlastindex": "^1.2.5", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.9.0", + "hasown": "^2.0.2", + "is-core-module": "^2.15.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.0", + "semver": "^6.3.1", + "tsconfig-paths": "^3.15.0" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "eslint-plugin-jsx-a11y": { + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.0.tgz", + "integrity": "sha512-ySOHvXX8eSN6zz8Bywacm7CvGNhUtdjvqfQDVe6020TUK34Cywkw7m0KsCCk1Qtm9G1FayfTN1/7mMYnYO2Bhg==", + "dev": true, + "requires": { + "aria-query": "~5.1.3", + "array-includes": "^3.1.8", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "es-iterator-helpers": "^1.0.19", + "hasown": "^2.0.2", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "eslint-plugin-react": { + "version": "7.36.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.36.1.tgz", + "integrity": "sha512-/qwbqNXZoq+VP30s1d4Nc1C5GTxjJQjk4Jzs4Wq2qzxFM7dSmuG2UkIjg2USMLh3A/aVcUNrK7v0J5U1XEGGwA==", + "dev": true, + "requires": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.19", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.8", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.0", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.11", + "string.prototype.repeat": "^1.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "eslint-plugin-react-hooks": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", + "dev": true + }, + "eslint-scope": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.1.0.tgz", + "integrity": "sha512-14dSvlhaVhKKsa9Fx1l8A17s7ah7Ef7wCakJ10LYk6+GYmP9yDti2oq2SEwcyndt6knfcZyhyxwY3i9yL78EQw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "minimatch": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", + "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true + }, + "typescript": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz", + "integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==", + "dev": true + } + } + }, + "eslint-plugin-testing-library": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-6.4.0.tgz", + "integrity": "sha512-yeWF+YgCgvNyPNI9UKnG0FjeE2sk93N/3lsKqcmR8dSfeXJwFT5irnWo7NjLf152HkRzfoFjh3LsBUrhvFz4eA==", + "dev": true, + "requires": { + "@typescript-eslint/utils": "^5.62.0" + }, + "dependencies": { + "@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + } + }, + "@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + } + } + } + }, + "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==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true + }, + "espree": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.2.0.tgz", + "integrity": "sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==", + "dev": true, + "requires": { + "acorn": "^8.12.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.1.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.1.0.tgz", + "integrity": "sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==", + "dev": true + } + } + }, + "esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "estree-walker": { + "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==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "@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" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true + }, + "fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "fault": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/fault/-/fault-1.0.4.tgz", + "integrity": "sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==", + "dev": true, + "requires": { + "format": "^0.2.0" + } + }, + "file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "requires": { + "flat-cache": "^4.0.0" + } + }, + "file-saver": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==" + }, + "fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "requires": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + } + }, + "flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "requires": { + "is-callable": "^1.1.3" + } + }, + "foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "dependencies": { + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true + } + } + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "format": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", + "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", + "dev": true + }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + } + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true + }, + "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==", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dev": true, + "requires": { + "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-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==", + "dev": true, + "requires": { + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" + } + }, + "get-tsconfig": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.8.0.tgz", + "integrity": "sha512-Pgba6TExTZ0FJAn1qkJAjIeKoDJ3CsI2ChuLohJnZl/tTU8MVrq3b+2t5UOPfRa4RMsorClBjJALkJUMjG1PAw==", + "dev": true, + "requires": { + "resolve-pkg-maps": "^1.0.0" + } + }, + "github-slugger": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==" + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "requires": { + "global-prefix": "^3.0.0" + } + }, + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "requires": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + } + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "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" + } + }, + "globjoin": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", + "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", + "dev": true + }, + "globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", + "dev": true + }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "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==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "es-define-property": "^1.0.0" + } + }, + "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==", + "dev": true + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.3" + } + }, + "hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "requires": { + "function-bind": "^1.1.2" + } + }, + "hast-util-from-html": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.1.tgz", + "integrity": "sha512-RXQBLMl9kjKVNkJTIO6bZyb2n+cUH8LFaSSzo82jiLT6Tfc+Pt7VQCS+/h3YwG4jaNE2TA2sdJisGWR+aJrp0g==", + "requires": { + "@types/hast": "^3.0.0", + "devlop": "^1.1.0", + "hast-util-from-parse5": "^8.0.0", + "parse5": "^7.0.0", + "vfile": "^6.0.0", + "vfile-message": "^4.0.0" + }, + "dependencies": { + "@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "requires": { + "@types/unist": "*" + } + }, + "@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "hast-util-from-parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz", + "integrity": "sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==", + "requires": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^8.0.0", + "property-information": "^6.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + } + }, + "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==", + "requires": { + "@types/hast": "^3.0.0" + } + }, + "hastscript": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-8.0.0.tgz", + "integrity": "sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==", + "requires": { + "@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" + } + }, + "parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "requires": { + "entities": "^4.4.0" + } + }, + "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==", + "requires": { + "@types/unist": "^3.0.0" + } + }, + "vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "requires": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + } + } + } + }, + "hast-util-from-parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-7.1.2.tgz", + "integrity": "sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==", + "requires": { + "@types/hast": "^2.0.0", + "@types/unist": "^2.0.0", + "hastscript": "^7.0.0", + "property-information": "^6.0.0", + "vfile": "^5.0.0", + "vfile-location": "^4.0.0", + "web-namespaces": "^2.0.0" + }, + "dependencies": { + "unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "requires": { + "@types/unist": "^2.0.0" + } + }, + "vfile": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", + "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", + "requires": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" + } + }, + "vfile-location": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-4.1.0.tgz", + "integrity": "sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==", + "requires": { + "@types/unist": "^2.0.0", + "vfile": "^5.0.0" + } + } + } + }, + "hast-util-has-property": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-3.0.0.tgz", + "integrity": "sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==", + "requires": { + "@types/hast": "^3.0.0" + }, + "dependencies": { + "@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "requires": { + "@types/unist": "*" + } + } + } + }, + "hast-util-heading-rank": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-heading-rank/-/hast-util-heading-rank-3.0.0.tgz", + "integrity": "sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==", + "requires": { + "@types/hast": "^3.0.0" + }, + "dependencies": { + "@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "requires": { + "@types/unist": "*" + } + } + } + }, + "hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "requires": { + "@types/hast": "^3.0.0" + }, + "dependencies": { + "@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "requires": { + "@types/unist": "*" + } + } + } + }, + "hast-util-parse-selector": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz", + "integrity": "sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==", + "requires": { + "@types/hast": "^2.0.0" + } + }, + "hast-util-raw": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.0.1.tgz", + "integrity": "sha512-5m1gmba658Q+lO5uqL5YNGQWeh1MYWZbZmWrM5lncdcuiXuo5E2HT/CIOp0rLF8ksfSwiCVJ3twlgVRyTGThGA==", + "requires": { + "@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" + }, + "dependencies": { + "@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "requires": { + "@types/unist": "*" + } + }, + "@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "hast-util-from-parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz", + "integrity": "sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==", + "requires": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^8.0.0", + "property-information": "^6.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + } + }, + "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==", + "requires": { + "@types/hast": "^3.0.0" + } + }, + "hastscript": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-8.0.0.tgz", + "integrity": "sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==", + "requires": { + "@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" + } + }, + "parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "requires": { + "entities": "^4.4.0" + } + } + } + }, + "hast-util-select": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/hast-util-select/-/hast-util-select-6.0.2.tgz", + "integrity": "sha512-hT/SD/d/Meu+iobvgkffo1QecV8WeKWxwsNMzcTJsKw1cKTQKSR/7ArJeURLNJF9HDjp9nVoORyNNJxrvBye8Q==", + "requires": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "bcp-47-match": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "css-selector-parser": "^3.0.0", + "devlop": "^1.0.0", + "direction": "^2.0.0", + "hast-util-has-property": "^3.0.0", + "hast-util-to-string": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "not": "^0.1.0", + "nth-check": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "dependencies": { + "@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "requires": { + "@types/unist": "*" + } + }, + "@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "hast-util-to-string": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.0.tgz", + "integrity": "sha512-OGkAxX1Ua3cbcW6EJ5pT/tslVb90uViVkcJ4ZZIMW/R33DX/AkcJcRrPebPwJkHYwlDHXz4aIwvAAaAdtrACFA==", + "requires": { + "@types/hast": "^3.0.0" + } + } + } + }, + "hast-util-to-html": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.0.tgz", + "integrity": "sha512-IVGhNgg7vANuUA2XKrT6sOIIPgaYZnmLx3l/CCOAK0PtgfoHrZwX7jCSYyFxHTrGmC6S9q8aQQekjp4JPZF+cw==", + "requires": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-raw": "^9.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "dependencies": { + "@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "requires": { + "@types/unist": "*" + } + }, + "@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + } + } + }, + "hast-util-to-jsx-runtime": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.2.0.tgz", + "integrity": "sha512-wSlp23N45CMjDg/BPW8zvhEi3R+8eRE1qFbjEyAUzMCzu2l1Wzwakq+Tlia9nkCtEl5mDxa7nKHsvYJ6Gfn21A==", + "requires": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.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", + "vfile-message": "^4.0.0" + }, + "dependencies": { + "@types/hast": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.2.tgz", + "integrity": "sha512-B5hZHgHsXvfCoO3xgNJvBnX7N8p86TqQeGKXcokW4XXi+qY4vxxPSFYofytvVmpFxzPv7oxDQzjg5Un5m2/xiw==", + "requires": { + "@types/unist": "*" + } + }, + "@types/unist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.1.tgz", + "integrity": "sha512-ue/hDUpPjC85m+PM9OQDMZr3LywT+CT6mPsQq8OJtCLiERkGRcQUFvu9XASF5XWqyZFXbf15lvb3JFJ4dRLWPg==" + }, + "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==", + "requires": { + "@types/unist": "^3.0.0" + } + }, + "vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "requires": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + } + } + } + }, + "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==", + "requires": { + "@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" + }, + "dependencies": { + "@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "requires": { + "@types/unist": "*" + } + } + } + }, + "hast-util-to-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-2.0.0.tgz", + "integrity": "sha512-02AQ3vLhuH3FisaMM+i/9sm4OXGSq1UhOOCpTLLQtHdL3tZt7qil69r8M8iDkZYyC0HCFylcYoP+8IO7ddta1A==", + "requires": { + "@types/hast": "^2.0.0" + } + }, + "hast-util-whitespace": { + "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==", + "requires": { + "@types/hast": "^3.0.0" + }, + "dependencies": { + "@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "requires": { + "@types/unist": "*" + } + } + } + }, + "hastscript": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-7.2.0.tgz", + "integrity": "sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==", + "requires": { + "@types/hast": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^3.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0" + } + }, + "html-dom-parser": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/html-dom-parser/-/html-dom-parser-5.0.10.tgz", + "integrity": "sha512-GwArYL3V3V8yU/mLKoFF7HlLBv80BZ2Ey1BzfVNRpAci0cEKhFHI/Qh8o8oyt3qlAMLlK250wsxLdYX4viedvg==", + "requires": { + "domhandler": "5.0.3", + "htmlparser2": "9.1.0" + } + }, + "html-encoding-sniffer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", + "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==", + "dev": true, + "requires": { + "whatwg-encoding": "^3.1.1" + } + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "html-parse-stringify": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz", + "integrity": "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==", + "requires": { + "void-elements": "3.1.0" + } + }, + "html-react-parser": { + "version": "5.1.18", + "resolved": "https://registry.npmjs.org/html-react-parser/-/html-react-parser-5.1.18.tgz", + "integrity": "sha512-65BwC0zzrdeW96jB2FRr5f1ovBhRMpLPJNvwkY5kA8Ay5xdL9t/RH2/uUTM7p+cl5iM88i6dDk4LXtfMnRmaJQ==", + "requires": { + "domhandler": "5.0.3", + "html-dom-parser": "5.0.10", + "react-property": "2.0.2", + "style-to-js": "1.1.16" + } + }, + "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==", + "dev": true + }, + "html-url-attributes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-url-attributes/-/html-url-attributes-3.0.0.tgz", + "integrity": "sha512-/sXbVCWayk6GDVg3ctOX6nxaVj7So40FcFAnWlWGNAB1LpYKcV5Cd10APjPjW80O7zYW2MsjBV4zZ7IZO5fVow==" + }, + "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==" + }, + "htmlparser2": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.1.0.tgz", + "integrity": "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==", + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.1.0", + "entities": "^4.5.0" + } + }, + "http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "requires": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + } + }, + "https-proxy-agent": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", + "dev": true, + "requires": { + "agent-base": "^7.0.2", + "debug": "4" + } + }, + "i18next": { + "version": "23.16.3", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.16.3.tgz", + "integrity": "sha512-e8q9gFyjrou5v/hBXgRwtWVK7Gp5So19Kf42spJlijGDfkin5abYFHlblonmD2GFYcsf9XIT7MpVuveJq/VCcA==", + "requires": { + "@babel/runtime": "^7.23.2" + } + }, + "i18next-browser-languagedetector": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-8.0.0.tgz", + "integrity": "sha512-zhXdJXTTCoG39QsrOCiOabnWj2jecouOqbchu3EfhtSHxIB5Uugnm9JaizenOy39h7ne3+fLikIjeW88+rgszw==", + "requires": { + "@babel/runtime": "^7.23.2" + } + }, + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + }, + "ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true + }, + "image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "dev": true, + "optional": true + }, + "immer": { + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/immer/-/immer-10.0.3.tgz", + "integrity": "sha512-pwupu3eWfouuaowscykeckFmVTpqbzW+rXFCX8rQLkZzM9ftBmU/++Ra+o+L27mz03zJTlyV4UUr+fdKNffo4A==" + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + } + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "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==" + }, + "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==", + "dev": true, + "requires": { + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + } + }, + "is-alphabetical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", + "dev": true + }, + "is-alphanumerical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", + "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", + "dev": true, + "requires": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + } + }, + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-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==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" + }, + "is-bun-module": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-1.1.0.tgz", + "integrity": "sha512-4mTAVPlrXpaN3jtF0lsnPCMGnq4+qZjVIKq0HCpfcqf8OC1SM5oATCIAPM5V5FN05qp2NNnFndphmdZS9CV3hA==", + "dev": true, + "requires": { + "semver": "^7.6.3" + }, + "dependencies": { + "semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true + } + } + }, + "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==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "hasown": "^2.0.2" + } + }, + "is-data-view": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "dev": true, + "requires": { + "is-typed-array": "^1.1.13" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-decimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-hexadecimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", + "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", + "dev": true + }, + "is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true + }, + "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==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "call-bind": "^1.0.7" + } + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-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==", + "dev": true, + "requires": { + "which-typed-array": "^1.1.14" + } + }, + "is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-weakset": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4" + } + }, + "is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", + "dev": true + }, + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true + }, + "istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "requires": { + "semver": "^7.5.3" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz", + "integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.23", + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0" + } + }, + "istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "iterator.prototype": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.3.tgz", + "integrity": "sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ==", + "dev": true, + "requires": { + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" + } + }, + "jackspeak": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.1.tgz", + "integrity": "sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog==", + "dev": true, + "requires": { + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "jsdom": { + "version": "25.0.1", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-25.0.1.tgz", + "integrity": "sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw==", + "dev": true, + "requires": { + "cssstyle": "^4.1.0", + "data-urls": "^5.0.0", + "decimal.js": "^10.4.3", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^4.0.0", + "http-proxy-agent": "^7.0.2", + "https-proxy-agent": "^7.0.5", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.12", + "parse5": "^7.1.2", + "rrweb-cssom": "^0.7.1", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^5.0.0", + "w3c-xmlserializer": "^5.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^3.1.1", + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0", + "ws": "^8.18.0", + "xml-name-validator": "^5.0.0" + }, + "dependencies": { + "parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "requires": { + "entities": "^4.4.0" + } + } + } + }, + "jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "dev": true + }, + "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==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "json-schema-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==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "json2mq": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz", + "integrity": "sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==", + "requires": { + "string-convert": "^0.2.0" + } + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "requires": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + } + }, + "keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "requires": { + "json-buffer": "3.0.1" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "known-css-properties": { + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.34.0.tgz", + "integrity": "sha512-tBECoUqNFbyAY4RrbqsBQqDFpGXAEbdD5QKr8kACx3+rnArmuuR22nKQWKazvp07N9yjTyDZaw/20UIH8tL9DQ==", + "dev": true + }, + "language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", + "dev": true + }, + "language-tags": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "dev": true, + "requires": { + "language-subtag-registry": "^0.3.20" + } + }, + "less": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/less/-/less-4.2.0.tgz", + "integrity": "sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==", + "dev": true, + "requires": { + "copy-anything": "^2.0.1", + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^3.1.0", + "parse-node-version": "^1.0.1", + "source-map": "~0.6.0", + "tslib": "^2.3.0" + }, + "dependencies": { + "tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "dev": true + } + } + }, + "less-loader": { + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-12.2.0.tgz", + "integrity": "sha512-MYUxjSQSBUQmowc0l5nPieOYwMzGPUaTzB6inNW/bdPEG9zOL3eAAD1Qw5ZxSPk7we5dMojHwNODYMV1hq4EVg==", + "dev": true + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "linkify-html": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/linkify-html/-/linkify-html-4.1.3.tgz", + "integrity": "sha512-Ejb8X/pOxB4IVqG1U37tnF85UW3JtX+eHudH3zlZ2pODz2e/J7zQ/vj+VDWffwhTecJqdRehhluwrRmKoJz+iQ==" + }, + "linkifyjs": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/linkifyjs/-/linkifyjs-4.1.3.tgz", + "integrity": "sha512-auMesunaJ8yfkHvK4gfg1K0SaKX/6Wn9g2Aac/NwX+l5VdmFZzo/hdPGxEOETj+ryRa4/fiOPjeeKURSAJx1sg==" + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "loupe": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.2.tgz", + "integrity": "sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==", + "dev": true + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "requires": { + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + } + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "dev": true, + "requires": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "magicast": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.4.tgz", + "integrity": "sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==", + "dev": true, + "requires": { + "@babel/parser": "^7.24.4", + "@babel/types": "^7.24.0", + "source-map-js": "^1.2.0" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } + } + }, + "mathml-tag-names": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", + "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", + "dev": true + }, + "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==", + "requires": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "dependencies": { + "@types/mdast": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.2.tgz", + "integrity": "sha512-tYR83EignvhYO9iU3kDg8V28M0jqyh9zzp5GV+EO+AYnyUl3P5ltkTeJuTiFZQFz670FSb3EwT/6LQdX+UdKfw==", + "requires": { + "@types/unist": "*" + } + }, + "@types/unist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.1.tgz", + "integrity": "sha512-ue/hDUpPjC85m+PM9OQDMZr3LywT+CT6mPsQq8OJtCLiERkGRcQUFvu9XASF5XWqyZFXbf15lvb3JFJ4dRLWPg==" + }, + "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==" + } + } + }, + "mdast-util-from-markdown": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz", + "integrity": "sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==", + "dev": true, + "requires": { + "@types/mdast": "^3.0.0", + "mdast-util-to-string": "^2.0.0", + "micromark": "~2.11.0", + "parse-entities": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + } + }, + "mdast-util-frontmatter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-0.2.0.tgz", + "integrity": "sha512-FHKL4w4S5fdt1KjJCwB0178WJ0evnyyQr5kXTM3wrOVpytD0hrkvd+AOOjU9Td8onOejCkmZ+HQRT3CZ3coHHQ==", + "dev": true, + "requires": { + "micromark-extension-frontmatter": "^0.2.0" + } + }, + "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==", + "requires": { + "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" + }, + "dependencies": { + "@types/mdast": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.2.tgz", + "integrity": "sha512-tYR83EignvhYO9iU3kDg8V28M0jqyh9zzp5GV+EO+AYnyUl3P5ltkTeJuTiFZQFz670FSb3EwT/6LQdX+UdKfw==", + "requires": { + "@types/unist": "*" + } + }, + "@types/unist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.1.tgz", + "integrity": "sha512-ue/hDUpPjC85m+PM9OQDMZr3LywT+CT6mPsQq8OJtCLiERkGRcQUFvu9XASF5XWqyZFXbf15lvb3JFJ4dRLWPg==" + }, + "mdast-util-from-markdown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", + "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", + "requires": { + "@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" + } + }, + "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==", + "requires": { + "@types/mdast": "^4.0.0" + } + }, + "micromark": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", + "requires": { + "@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" + } + }, + "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==", + "requires": { + "@types/unist": "^3.0.0" + } + } + } + }, + "mdast-util-gfm-autolink-literal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.0.tgz", + "integrity": "sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==", + "requires": { + "@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" + }, + "dependencies": { + "@types/mdast": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.2.tgz", + "integrity": "sha512-tYR83EignvhYO9iU3kDg8V28M0jqyh9zzp5GV+EO+AYnyUl3P5ltkTeJuTiFZQFz670FSb3EwT/6LQdX+UdKfw==", + "requires": { + "@types/unist": "*" + } + } + } + }, + "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==", + "requires": { + "@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" + }, + "dependencies": { + "@types/mdast": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.2.tgz", + "integrity": "sha512-tYR83EignvhYO9iU3kDg8V28M0jqyh9zzp5GV+EO+AYnyUl3P5ltkTeJuTiFZQFz670FSb3EwT/6LQdX+UdKfw==", + "requires": { + "@types/unist": "*" + } + }, + "@types/unist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.1.tgz", + "integrity": "sha512-ue/hDUpPjC85m+PM9OQDMZr3LywT+CT6mPsQq8OJtCLiERkGRcQUFvu9XASF5XWqyZFXbf15lvb3JFJ4dRLWPg==" + }, + "mdast-util-from-markdown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", + "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", + "requires": { + "@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" + } + }, + "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==", + "requires": { + "@types/mdast": "^4.0.0" + } + }, + "micromark": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", + "requires": { + "@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" + } + }, + "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==", + "requires": { + "@types/unist": "^3.0.0" + } + } + } + }, + "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==", + "requires": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "dependencies": { + "@types/mdast": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.2.tgz", + "integrity": "sha512-tYR83EignvhYO9iU3kDg8V28M0jqyh9zzp5GV+EO+AYnyUl3P5ltkTeJuTiFZQFz670FSb3EwT/6LQdX+UdKfw==", + "requires": { + "@types/unist": "*" + } + }, + "@types/unist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.1.tgz", + "integrity": "sha512-ue/hDUpPjC85m+PM9OQDMZr3LywT+CT6mPsQq8OJtCLiERkGRcQUFvu9XASF5XWqyZFXbf15lvb3JFJ4dRLWPg==" + }, + "mdast-util-from-markdown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", + "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", + "requires": { + "@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" + } + }, + "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==", + "requires": { + "@types/mdast": "^4.0.0" + } + }, + "micromark": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", + "requires": { + "@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" + } + }, + "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==", + "requires": { + "@types/unist": "^3.0.0" + } + } + } + }, + "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==", + "requires": { + "@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" + }, + "dependencies": { + "@types/mdast": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.2.tgz", + "integrity": "sha512-tYR83EignvhYO9iU3kDg8V28M0jqyh9zzp5GV+EO+AYnyUl3P5ltkTeJuTiFZQFz670FSb3EwT/6LQdX+UdKfw==", + "requires": { + "@types/unist": "*" + } + }, + "@types/unist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.1.tgz", + "integrity": "sha512-ue/hDUpPjC85m+PM9OQDMZr3LywT+CT6mPsQq8OJtCLiERkGRcQUFvu9XASF5XWqyZFXbf15lvb3JFJ4dRLWPg==" + }, + "markdown-table": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz", + "integrity": "sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==" + }, + "mdast-util-from-markdown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", + "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", + "requires": { + "@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" + } + }, + "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==", + "requires": { + "@types/mdast": "^4.0.0" + } + }, + "micromark": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", + "requires": { + "@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" + } + }, + "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==", + "requires": { + "@types/unist": "^3.0.0" + } + } + } + }, + "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==", + "requires": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "dependencies": { + "@types/mdast": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.2.tgz", + "integrity": "sha512-tYR83EignvhYO9iU3kDg8V28M0jqyh9zzp5GV+EO+AYnyUl3P5ltkTeJuTiFZQFz670FSb3EwT/6LQdX+UdKfw==", + "requires": { + "@types/unist": "*" + } + }, + "@types/unist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.1.tgz", + "integrity": "sha512-ue/hDUpPjC85m+PM9OQDMZr3LywT+CT6mPsQq8OJtCLiERkGRcQUFvu9XASF5XWqyZFXbf15lvb3JFJ4dRLWPg==" + }, + "mdast-util-from-markdown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", + "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", + "requires": { + "@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" + } + }, + "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==", + "requires": { + "@types/mdast": "^4.0.0" + } + }, + "micromark": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", + "requires": { + "@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" + } + }, + "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==", + "requires": { + "@types/unist": "^3.0.0" + } + } + } + }, + "mdast-util-phrasing": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.0.0.tgz", + "integrity": "sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA==", + "requires": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "dependencies": { + "@types/mdast": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.2.tgz", + "integrity": "sha512-tYR83EignvhYO9iU3kDg8V28M0jqyh9zzp5GV+EO+AYnyUl3P5ltkTeJuTiFZQFz670FSb3EwT/6LQdX+UdKfw==", + "requires": { + "@types/unist": "*" + } + }, + "@types/unist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.1.tgz", + "integrity": "sha512-ue/hDUpPjC85m+PM9OQDMZr3LywT+CT6mPsQq8OJtCLiERkGRcQUFvu9XASF5XWqyZFXbf15lvb3JFJ4dRLWPg==" + } + } + }, + "mdast-util-to-hast": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.0.2.tgz", + "integrity": "sha512-U5I+500EOOw9e3ZrclN3Is3fRpw8c19SMyNZlZ2IS+7vLsNzb2Om11VpIVOR+/0137GhZsFEF6YiKD5+0Hr2Og==", + "requires": { + "@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" + }, + "dependencies": { + "@types/hast": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.2.tgz", + "integrity": "sha512-B5hZHgHsXvfCoO3xgNJvBnX7N8p86TqQeGKXcokW4XXi+qY4vxxPSFYofytvVmpFxzPv7oxDQzjg5Un5m2/xiw==", + "requires": { + "@types/unist": "*" + } + }, + "@types/mdast": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.2.tgz", + "integrity": "sha512-tYR83EignvhYO9iU3kDg8V28M0jqyh9zzp5GV+EO+AYnyUl3P5ltkTeJuTiFZQFz670FSb3EwT/6LQdX+UdKfw==", + "requires": { + "@types/unist": "*" + } + }, + "@types/unist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.1.tgz", + "integrity": "sha512-ue/hDUpPjC85m+PM9OQDMZr3LywT+CT6mPsQq8OJtCLiERkGRcQUFvu9XASF5XWqyZFXbf15lvb3JFJ4dRLWPg==" + } + } + }, + "mdast-util-to-markdown": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", + "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==", + "requires": { + "@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-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "dependencies": { + "@types/mdast": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.2.tgz", + "integrity": "sha512-tYR83EignvhYO9iU3kDg8V28M0jqyh9zzp5GV+EO+AYnyUl3P5ltkTeJuTiFZQFz670FSb3EwT/6LQdX+UdKfw==", + "requires": { + "@types/unist": "*" + } + }, + "@types/unist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.1.tgz", + "integrity": "sha512-ue/hDUpPjC85m+PM9OQDMZr3LywT+CT6mPsQq8OJtCLiERkGRcQUFvu9XASF5XWqyZFXbf15lvb3JFJ4dRLWPg==" + }, + "longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==" + }, + "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==", + "requires": { + "@types/mdast": "^4.0.0" + } + } + } + }, + "mdast-util-to-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", + "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", + "dev": true + }, + "mdn-data": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.10.0.tgz", + "integrity": "sha512-qq7C3EtK3yJXMwz1zAab65pjl+UhohqMOctTgcqjLOWABqmwj+me02LSsCuEUxnst9X1lCBpoE0WArGKgdGDzw==", + "dev": true + }, + "meow": { + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", + "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromark": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz", + "integrity": "sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==", + "dev": true, + "requires": { + "debug": "^4.0.0", + "parse-entities": "^2.0.0" + } + }, + "micromark-core-commonmark": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz", + "integrity": "sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==", + "requires": { + "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" + } + }, + "micromark-extension-frontmatter": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-0.2.2.tgz", + "integrity": "sha512-q6nPLFCMTLtfsctAuS0Xh4vaolxSFUWUWR6PZSrXXiRy+SANGllpcqdXFv2z07l0Xz/6Hl40hK0ffNCJPH2n1A==", + "dev": true, + "requires": { + "fault": "^1.0.0" + } + }, + "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==", + "requires": { + "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" + } + }, + "micromark-extension-gfm-autolink-literal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.0.0.tgz", + "integrity": "sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==", + "requires": { + "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" + } + }, + "micromark-extension-gfm-footnote": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.0.0.tgz", + "integrity": "sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==", + "requires": { + "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" + } + }, + "micromark-extension-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==", + "requires": { + "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" + } + }, + "micromark-extension-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.0.0.tgz", + "integrity": "sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==", + "requires": { + "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" + } + }, + "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==", + "requires": { + "micromark-util-types": "^2.0.0" + } + }, + "micromark-extension-gfm-task-list-item": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.0.1.tgz", + "integrity": "sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==", + "requires": { + "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" + } + }, + "micromark-factory-destination": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", + "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", + "requires": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-factory-label": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", + "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", + "requires": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "requires": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-factory-title": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", + "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", + "requires": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-factory-whitespace": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", + "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", + "requires": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-util-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", + "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "requires": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-util-chunked": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", + "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", + "requires": { + "micromark-util-symbol": "^2.0.0" + } + }, + "micromark-util-classify-character": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", + "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", + "requires": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-util-combine-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", + "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", + "requires": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-util-decode-numeric-character-reference": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz", + "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==", + "requires": { + "micromark-util-symbol": "^2.0.0" + } + }, + "micromark-util-decode-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", + "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", + "requires": { + "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" + } + }, + "micromark-util-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", + "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==" + }, + "micromark-util-html-tag-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", + "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==" + }, + "micromark-util-normalize-identifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", + "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", + "requires": { + "micromark-util-symbol": "^2.0.0" + } + }, + "micromark-util-resolve-all": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", + "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", + "requires": { + "micromark-util-types": "^2.0.0" + } + }, + "micromark-util-sanitize-uri": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", + "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", + "requires": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "micromark-util-subtokenize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz", + "integrity": "sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==", + "requires": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==" + }, + "micromark-util-types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", + "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==" + }, + "micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "requires": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "optional": true + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "mime-db": "1.52.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true + }, + "minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true + }, + "moment": { + "version": "2.29.4", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", + "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==" + }, + "moment-timezone": { + "version": "0.5.46", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.46.tgz", + "integrity": "sha512-ZXm9b36esbe7OmdABqIWJuBBiLLwAjrN7CE+7sYdCCx82Nabt1wHDj8TVseS59QIlfFPbOoiBPm6ca9BioG4hw==", + "requires": { + "moment": "^2.29.4" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "needle": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.2.0.tgz", + "integrity": "sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==", + "dev": true, + "optional": true, + "requires": { + "debug": "^3.2.6", + "iconv-lite": "^0.6.3", + "sax": "^1.2.4" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "optional": true + } + } + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + } + } + }, + "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==", + "dev": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "not": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/not/-/not-0.1.0.tgz", + "integrity": "sha512-5PDmaAsVfnWUgTUbJ3ERwn7u79Z0dYxN9ErxCpVJJqe2RK0PJ3z+iFUxuqjwtlDDegXvtWoxD/3Fzxox7tFGWA==" + }, + "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==", + "requires": { + "boolbase": "^1.0.0" + } + }, + "nwsapi": { + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.12.tgz", + "integrity": "sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==", + "dev": true + }, + "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==" + }, + "object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.entries": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", + "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + } + }, + "object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + } + }, + "object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + } + }, + "object.values": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + } + }, + "omit.js": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/omit.js/-/omit.js-2.0.2.tgz", + "integrity": "sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg==" + }, + "optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "dev": true + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", + "dev": true, + "requires": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true + }, + "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==" + }, + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-scurry": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", + "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", + "dev": true, + "requires": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "dependencies": { + "lru-cache": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.0.tgz", + "integrity": "sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA==", + "dev": true + } + } + }, + "path-to-regexp": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.0.0.tgz", + "integrity": "sha512-GAWaqWlTjYK/7SVpIUA6CTxmcg65SP30sbjdCvyYReosRkk7Z/LyHWwkK3Vu0FcIi0FNTADUs4eh1AsU5s10cg==" + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "dev": true + }, + "pathval": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", + "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", + "dev": true + }, + "picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "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==", + "dev": true + }, + "postcss": { + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "dev": true, + "requires": { + "nanoid": "^3.3.7", + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" + } + }, + "postcss-less": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-6.0.0.tgz", + "integrity": "sha512-FPX16mQLyEjLzEuuJtxA8X3ejDLNGGEG503d2YGZR5Ask1SpDN8KmZUMpzCvyalWRywAn1n1VOA5dcqfCLo5rg==", + "dev": true + }, + "postcss-markdown": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-markdown/-/postcss-markdown-1.2.0.tgz", + "integrity": "sha512-sO7eeu6pq5F0lx3XavY/rBVmifXbMTd6fGRuXaT/Q7wEuIAWTi0E2t747nQ57iVz99WynTPls4mw5wlLvZLFzw==", + "dev": true, + "requires": { + "mdast-util-from-markdown": "^0.8.5", + "mdast-util-frontmatter": "^0.2.0", + "micromark-extension-frontmatter": "^0.2.2", + "postcss": "^8.4.0", + "postcss-safe-parser": "^6.0.0" + } + }, + "postcss-resolve-nested-selector": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.6.tgz", + "integrity": "sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==", + "dev": true + }, + "postcss-safe-parser": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz", + "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-sorting": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-8.0.2.tgz", + "integrity": "sha512-M9dkSrmU00t/jK7rF6BZSZauA5MAaBW4i5EnJXspMwt4iqTh/L9j6fgMnbElEOfyRyfLfVbIHj/R52zHzAPe1Q==", + "dev": true + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "prettier": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", + "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "property-information": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.2.0.tgz", + "integrity": "sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==" + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true, + "optional": true + }, + "punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "rc-cascader": { + "version": "3.28.2", + "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.28.2.tgz", + "integrity": "sha512-8f+JgM83iLTvjgdkgU7GfI4qY8icXOBP0cGZjOdx2iJAkEe8ucobxDQAVE69UD/c3ehCxZlcgEHeD5hFmypbUw==", + "requires": { + "@babel/runtime": "^7.12.5", + "array-tree-filter": "^2.1.0", + "classnames": "^2.3.1", + "rc-select": "~14.15.0", + "rc-tree": "~5.9.0", + "rc-util": "^5.37.0" + } + }, + "rc-checkbox": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-3.3.0.tgz", + "integrity": "sha512-Ih3ZaAcoAiFKJjifzwsGiT/f/quIkxJoklW4yKGho14Olulwn8gN7hOBve0/WGDg5o/l/5mL0w7ff7/YGvefVw==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.3.2", + "rc-util": "^5.25.2" + } + }, + "rc-collapse": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-3.8.0.tgz", + "integrity": "sha512-YVBkssrKPBG09TGfcWWGj8zJBYD9G3XuTy89t5iUmSXrIXEAnO1M+qjUxRW6b4Qi0+wNWG6MHJF/+US+nmIlzA==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.3.4", + "rc-util": "^5.27.0" + } + }, + "rc-dialog": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/rc-dialog/-/rc-dialog-9.6.0.tgz", + "integrity": "sha512-ApoVi9Z8PaCQg6FsUzS8yvBEQy0ZL2PkuvAgrmohPkN3okps5WZ5WQWPc1RNuiOKaAYv8B97ACdsFU5LizzCqg==", + "requires": { + "@babel/runtime": "^7.10.1", + "@rc-component/portal": "^1.0.0-8", + "classnames": "^2.2.6", + "rc-motion": "^2.3.0", + "rc-util": "^5.21.0" + } + }, + "rc-drawer": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/rc-drawer/-/rc-drawer-7.2.0.tgz", + "integrity": "sha512-9lOQ7kBekEJRdEpScHvtmEtXnAsy+NGDXiRWc2ZVC7QXAazNVbeT4EraQKYwCME8BJLa8Bxqxvs5swwyOepRwg==", + "requires": { + "@babel/runtime": "^7.23.9", + "@rc-component/portal": "^1.1.1", + "classnames": "^2.2.6", + "rc-motion": "^2.6.1", + "rc-util": "^5.38.1" + } + }, + "rc-dropdown": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/rc-dropdown/-/rc-dropdown-4.2.0.tgz", + "integrity": "sha512-odM8Ove+gSh0zU27DUj5cG1gNKg7mLWBYzB5E4nNLrLwBmYEgYP43vHKDGOVZcJSVElQBI0+jTQgjnq0NfLjng==", + "requires": { + "@babel/runtime": "^7.18.3", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.2.6", + "rc-util": "^5.17.0" + } + }, + "rc-field-form": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/rc-field-form/-/rc-field-form-2.4.0.tgz", + "integrity": "sha512-XZ/lF9iqf9HXApIHQHqzJK5v2w4mkUMsVqAzOyWVzoiwwXEavY6Tpuw7HavgzIoD+huVff4JghSGcgEfX6eycg==", + "requires": { + "@babel/runtime": "^7.18.0", + "@rc-component/async-validator": "^5.0.3", + "rc-util": "^5.32.2" + } + }, + "rc-image": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/rc-image/-/rc-image-7.11.0.tgz", + "integrity": "sha512-aZkTEZXqeqfPZtnSdNUnKQA0N/3MbgR7nUnZ+/4MfSFWPFHZau4p5r5ShaI0KPEMnNjv4kijSCFq/9wtJpwykw==", + "requires": { + "@babel/runtime": "^7.11.2", + "@rc-component/portal": "^1.0.2", + "classnames": "^2.2.6", + "rc-dialog": "~9.6.0", + "rc-motion": "^2.6.2", + "rc-util": "^5.34.1" + } + }, + "rc-input": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/rc-input/-/rc-input-1.6.3.tgz", + "integrity": "sha512-wI4NzuqBS8vvKr8cljsvnTUqItMfG1QbJoxovCgL+DX4eVUcHIjVwharwevIxyy7H/jbLryh+K7ysnJr23aWIA==", + "requires": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-util": "^5.18.1" + } + }, + "rc-input-number": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-9.2.0.tgz", + "integrity": "sha512-5XZFhBCV5f9UQ62AZ2hFbEY8iZT/dm23Q1kAg0H8EvOgD3UDbYYJAayoVIkM3lQaCqYAW5gV0yV3vjw1XtzWHg==", + "requires": { + "@babel/runtime": "^7.10.1", + "@rc-component/mini-decimal": "^1.0.1", + "classnames": "^2.2.5", + "rc-input": "~1.6.0", + "rc-util": "^5.40.1" + } + }, + "rc-mentions": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-2.16.1.tgz", + "integrity": "sha512-GnhSTGP9Mtv6pqFFGQze44LlrtWOjHNrUUAcsdo9DnNAhN4pwVPEWy4z+2jpjkiGlJ3VoXdvMHcNDQdfI9fEaw==", + "requires": { + "@babel/runtime": "^7.22.5", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.2.6", + "rc-input": "~1.6.0", + "rc-menu": "~9.15.1", + "rc-textarea": "~1.8.0", + "rc-util": "^5.34.1" + } + }, + "rc-menu": { + "version": "9.15.1", + "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-9.15.1.tgz", + "integrity": "sha512-UKporqU6LPfHnpPmtP6hdEK4iO5Q+b7BRv/uRpxdIyDGplZy9jwUjsnpev5bs3PQKB0H0n34WAPDfjAfn3kAPA==", + "requires": { + "@babel/runtime": "^7.10.1", + "@rc-component/trigger": "^2.0.0", + "classnames": "2.x", + "rc-motion": "^2.4.3", + "rc-overflow": "^1.3.1", + "rc-util": "^5.27.0" + } + }, + "rc-motion": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/rc-motion/-/rc-motion-2.9.3.tgz", + "integrity": "sha512-rkW47ABVkic7WEB0EKJqzySpvDqwl60/tdkY7hWP7dYnh5pm0SzJpo54oW3TDUGXV5wfxXFmMkxrzRRbotQ0+w==", + "requires": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-util": "^5.43.0" + } + }, + "rc-notification": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/rc-notification/-/rc-notification-5.6.2.tgz", + "integrity": "sha512-Id4IYMoii3zzrG0lB0gD6dPgJx4Iu95Xu0BQrhHIbp7ZnAZbLqdqQ73aIWH0d0UFcElxwaKjnzNovTjo7kXz7g==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.9.0", + "rc-util": "^5.20.1" + } + }, + "rc-overflow": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/rc-overflow/-/rc-overflow-1.3.2.tgz", + "integrity": "sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw==", + "requires": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.37.0" + } + }, + "rc-pagination": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-4.3.0.tgz", + "integrity": "sha512-UubEWA0ShnroQ1tDa291Fzw6kj0iOeF26IsUObxYTpimgj4/qPCWVFl18RLZE+0Up1IZg0IK4pMn6nB3mjvB7g==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.3.2", + "rc-util": "^5.38.0" + } + }, + "rc-picker": { + "version": "4.6.15", + "resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-4.6.15.tgz", + "integrity": "sha512-OWZ1yrMie+KN2uEUfYCfS4b2Vu6RC1FWwNI0s+qypsc3wRt7g+peuZKVIzXCTaJwyyZruo80+akPg2+GmyiJjw==", + "requires": { + "@babel/runtime": "^7.24.7", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.2.1", + "rc-overflow": "^1.3.2", + "rc-resize-observer": "^1.4.0", + "rc-util": "^5.43.0" + } + }, + "rc-progress": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/rc-progress/-/rc-progress-4.0.0.tgz", + "integrity": "sha512-oofVMMafOCokIUIBnZLNcOZFsABaUw8PPrf1/y0ZBvKZNpOiu5h4AO9vv11Sw0p4Hb3D0yGWuEattcQGtNJ/aw==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.6", + "rc-util": "^5.16.1" + } + }, + "rc-rate": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/rc-rate/-/rc-rate-2.13.0.tgz", + "integrity": "sha512-oxvx1Q5k5wD30sjN5tqAyWTvJfLNNJn7Oq3IeS4HxWfAiC4BOXMITNAsw7u/fzdtO4MS8Ki8uRLOzcnEuoQiAw==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.0.1" + } + }, + "rc-resize-observer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz", + "integrity": "sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q==", + "requires": { + "@babel/runtime": "^7.20.7", + "classnames": "^2.2.1", + "rc-util": "^5.38.0", + "resize-observer-polyfill": "^1.5.1" + } + }, + "rc-segmented": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/rc-segmented/-/rc-segmented-2.5.0.tgz", + "integrity": "sha512-B28Fe3J9iUFOhFJET3RoXAPFJ2u47QvLSYcZWC4tFYNGPEjug5LAxEasZlA/PpAxhdOPqGWsGbSj7ftneukJnw==", + "requires": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-motion": "^2.4.4", + "rc-util": "^5.17.0" + } + }, + "rc-select": { + "version": "14.15.2", + "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-14.15.2.tgz", + "integrity": "sha512-oNoXlaFmpqXYcQDzcPVLrEqS2J9c+/+oJuGrlXeVVX/gVgrbHa5YcyiRUXRydFjyuA7GP3elRuLF7Y3Tfwltlw==", + "requires": { + "@babel/runtime": "^7.10.1", + "@rc-component/trigger": "^2.1.1", + "classnames": "2.x", + "rc-motion": "^2.0.1", + "rc-overflow": "^1.3.1", + "rc-util": "^5.16.1", + "rc-virtual-list": "^3.5.2" + } + }, + "rc-slider": { + "version": "11.1.7", + "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-11.1.7.tgz", + "integrity": "sha512-ytYbZei81TX7otdC0QvoYD72XSlxvTihNth5OeZ6PMXyEDq/vHdWFulQmfDGyXK1NwKwSlKgpvINOa88uT5g2A==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.36.0" + } + }, + "rc-steps": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/rc-steps/-/rc-steps-6.0.1.tgz", + "integrity": "sha512-lKHL+Sny0SeHkQKKDJlAjV5oZ8DwCdS2hFhAkIjuQt1/pB81M0cA0ErVFdHq9+jmPmFw1vJB2F5NBzFXLJxV+g==", + "requires": { + "@babel/runtime": "^7.16.7", + "classnames": "^2.2.3", + "rc-util": "^5.16.1" + } + }, + "rc-switch": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/rc-switch/-/rc-switch-4.1.0.tgz", + "integrity": "sha512-TI8ufP2Az9oEbvyCeVE4+90PDSljGyuwix3fV58p7HV2o4wBnVToEyomJRVyTaZeqNPAp+vqeo4Wnj5u0ZZQBg==", + "requires": { + "@babel/runtime": "^7.21.0", + "classnames": "^2.2.1", + "rc-util": "^5.30.0" + } + }, + "rc-table": { + "version": "7.47.5", + "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.47.5.tgz", + "integrity": "sha512-fzq+V9j/atbPIcvs3emuclaEoXulwQpIiJA6/7ey52j8+9cJ4P8DGmp4YzfUVDrb3qhgedcVeD6eRgUrokwVEQ==", + "requires": { + "@babel/runtime": "^7.10.1", + "@rc-component/context": "^1.4.0", + "classnames": "^2.2.5", + "rc-resize-observer": "^1.1.0", + "rc-util": "^5.41.0", + "rc-virtual-list": "^3.14.2" + } + }, + "rc-tabs": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-15.3.0.tgz", + "integrity": "sha512-lzE18r+zppT/jZWOAWS6ntdkDUKHOLJzqMi5UAij1LeKwOaQaupupAoI9Srn73GRzVpmGznkECMRrzkRusC40A==", + "requires": { + "@babel/runtime": "^7.11.2", + "classnames": "2.x", + "rc-dropdown": "~4.2.0", + "rc-menu": "~9.15.1", + "rc-motion": "^2.6.2", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.34.1" + } + }, + "rc-textarea": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/rc-textarea/-/rc-textarea-1.8.2.tgz", + "integrity": "sha512-UFAezAqltyR00a8Lf0IPAyTd29Jj9ee8wt8DqXyDMal7r/Cg/nDt3e1OOv3Th4W6mKaZijjgwuPXhAfVNTN8sw==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "rc-input": "~1.6.0", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.27.0" + } + }, + "rc-tooltip": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-6.2.1.tgz", + "integrity": "sha512-rws0duD/3sHHsD905Nex7FvoUGy2UBQRhTkKxeEvr2FB+r21HsOxcDJI0TzyO8NHhnAA8ILr8pfbSBg5Jj5KBg==", + "requires": { + "@babel/runtime": "^7.11.2", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.3.1" + } + }, + "rc-tree": { + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-5.9.0.tgz", + "integrity": "sha512-CPrgOvm9d/9E+izTONKSngNzQdIEjMox2PBufWjS1wf7vxtvmCWzK1SlpHbRY6IaBfJIeZ+88RkcIevf729cRg==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.0.1", + "rc-util": "^5.16.1", + "rc-virtual-list": "^3.5.1" + } + }, + "rc-tree-select": { + "version": "5.23.0", + "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-5.23.0.tgz", + "integrity": "sha512-aQGi2tFSRw1WbXv0UVXPzHm09E0cSvUVZMLxQtMv3rnZZpNmdRXWrnd9QkLNlVH31F+X5rgghmdSFF3yZW0N9A==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-select": "~14.15.0", + "rc-tree": "~5.9.0", + "rc-util": "^5.16.1" + } + }, + "rc-upload": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/rc-upload/-/rc-upload-4.8.1.tgz", + "integrity": "sha512-toEAhwl4hjLAI1u8/CgKWt30BR06ulPa4iGQSMvSXoHzO88gPCslxqV/mnn4gJU7PDoltGIC9Eh+wkeudqgHyw==", + "requires": { + "@babel/runtime": "^7.18.3", + "classnames": "^2.2.5", + "rc-util": "^5.2.0" + } + }, + "rc-util": { + "version": "5.43.0", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.43.0.tgz", + "integrity": "sha512-AzC7KKOXFqAdIBqdGWepL9Xn7cm3vnAmjlHqUnoQaTMZYhM4VlXGLkkHHxj/BZ7Td0+SOPKB4RGPboBVKT9htw==", + "requires": { + "@babel/runtime": "^7.18.3", + "react-is": "^18.2.0" + }, + "dependencies": { + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + } + } + }, + "rc-virtual-list": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.14.2.tgz", + "integrity": "sha512-rA+W5xryhklJAcmswNyuKB3ZGeB855io+yOFQK5u/RXhjdshGblfKpNkQr4/9fBhZns0+uiL/0/s6IP2krtSmg==", + "requires": { + "@babel/runtime": "^7.20.0", + "classnames": "^2.2.6", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.36.0" + } + }, + "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==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "react-copy-to-clipboard": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/react-copy-to-clipboard/-/react-copy-to-clipboard-5.1.0.tgz", + "integrity": "sha512-k61RsNgAayIJNoy9yDsYzDe/yAZAzEbEgcz3DZMhF686LEyukcE1hzurxe85JandPUG+yTfGVFzuEw3xt8WP/A==", + "requires": { + "copy-to-clipboard": "^3.3.1", + "prop-types": "^15.8.1" + } + }, + "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==", + "requires": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + } + }, + "react-i18next": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-15.1.0.tgz", + "integrity": "sha512-zj3nJynMnZsy2gPZiOTC7XctCY5eQGqT3tcKMmfJWC9FMvgd+960w/adq61j8iPzpwmsXejqID9qC3Mqu1Xu2Q==", + "requires": { + "@babel/runtime": "^7.25.0", + "html-parse-stringify": "^3.0.1" + } + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + }, + "react-markdown": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-9.0.1.tgz", + "integrity": "sha512-186Gw/vF1uRkydbsOIkcGXw7aHq0sZOCRFFjGrr7b9+nVZg4UfA4enXCaxm4fUzecU38sWfrNDitGhshuU7rdg==", + "requires": { + "@types/hast": "^3.0.0", + "devlop": "^1.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "html-url-attributes": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "unified": "^11.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "dependencies": { + "@types/hast": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.2.tgz", + "integrity": "sha512-B5hZHgHsXvfCoO3xgNJvBnX7N8p86TqQeGKXcokW4XXi+qY4vxxPSFYofytvVmpFxzPv7oxDQzjg5Un5m2/xiw==", + "requires": { + "@types/unist": "*" + } + }, + "@types/mdast": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.2.tgz", + "integrity": "sha512-tYR83EignvhYO9iU3kDg8V28M0jqyh9zzp5GV+EO+AYnyUl3P5ltkTeJuTiFZQFz670FSb3EwT/6LQdX+UdKfw==", + "requires": { + "@types/unist": "*" + } + }, + "@types/unist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.1.tgz", + "integrity": "sha512-ue/hDUpPjC85m+PM9OQDMZr3LywT+CT6mPsQq8OJtCLiERkGRcQUFvu9XASF5XWqyZFXbf15lvb3JFJ4dRLWPg==" + }, + "mdast-util-from-markdown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", + "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", + "requires": { + "@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" + } + }, + "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==", + "requires": { + "@types/mdast": "^4.0.0" + } + }, + "micromark": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", + "requires": { + "@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" + } + }, + "remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "requires": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + } + }, + "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==", + "requires": { + "@types/unist": "^3.0.0" + } + } + } + }, + "react-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/react-property/-/react-property-2.0.2.tgz", + "integrity": "sha512-+PbtI3VuDV0l6CleQMsx2gtK0JZbZKbpdu5ynr+lbsuvtmgbNcS3VM0tuY2QjFNOcWxvXeHjDpy42RO+4U2rug==" + }, + "react-redux": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.1.2.tgz", + "integrity": "sha512-0OA4dhM1W48l3uzmv6B7TXPCGmokUU4p1M44DGN2/D9a1FjVPukVjER1PcPX97jIg6aUeLq1XJo1IpfbgULn0w==", + "requires": { + "@types/use-sync-external-store": "^0.0.3", + "use-sync-external-store": "^1.0.0" + } + }, + "react-refresh": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", + "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", + "dev": true + }, + "react-router": { + "version": "6.27.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.27.0.tgz", + "integrity": "sha512-YA+HGZXz4jaAkVoYBE98VQl+nVzI+cVI2Oj/06F5ZM+0u3TgedN9Y9kmMRo2mnkSK2nCpNQn0DVob4HCsY/WLw==", + "requires": { + "@remix-run/router": "1.20.0" + } + }, + "react-router-dom": { + "version": "6.27.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.27.0.tgz", + "integrity": "sha512-+bvtFWMC0DgAFrfKXKG9Fc+BcXWRUO1aJIihbB79xaeq0v5UzfvnM5houGUm1Y461WVRcgAQ+Clh5rdb1eCx4g==", + "requires": { + "@remix-run/router": "1.20.0", + "react-router": "6.27.0" + } + }, + "react-virtualized": { + "version": "9.22.5", + "resolved": "https://registry.npmjs.org/react-virtualized/-/react-virtualized-9.22.5.tgz", + "integrity": "sha512-YqQMRzlVANBv1L/7r63OHa2b0ZsAaDp1UhVNEdUaXI8A5u6hTpA5NYtUueLH2rFuY/27mTGIBl7ZhqFKzw18YQ==", + "requires": { + "@babel/runtime": "^7.7.2", + "clsx": "^1.0.4", + "dom-helpers": "^5.1.3", + "loose-envify": "^1.4.0", + "prop-types": "^15.7.2", + "react-lifecycles-compat": "^3.0.4" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "redux": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz", + "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==" + }, + "redux-thunk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz", + "integrity": "sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==" + }, + "refa": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/refa/-/refa-0.12.1.tgz", + "integrity": "sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.8.0" + } + }, + "reflect.getprototypeof": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", + "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.1", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + } + }, + "refractor": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/refractor/-/refractor-4.8.1.tgz", + "integrity": "sha512-/fk5sI0iTgFYlmVGYVew90AoYnNMP6pooClx/XKqyeeCQXrL0Kvgn8V0VEht5ccdljbzzF1i3Q213gcntkRExg==", + "requires": { + "@types/hast": "^2.0.0", + "@types/prismjs": "^1.0.0", + "hastscript": "^7.0.0", + "parse-entities": "^4.0.0" + }, + "dependencies": { + "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==" + }, + "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==" + }, + "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==" + }, + "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==" + }, + "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==", + "requires": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + } + }, + "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==" + }, + "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==" + }, + "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==", + "requires": { + "@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" + } + } + } + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", + "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", + "dev": true, + "requires": { + "regenerate": "^1.4.2" + } + }, + "regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regexp-ast-analysis": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regexp-ast-analysis/-/regexp-ast-analysis-0.7.1.tgz", + "integrity": "sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.8.0", + "refa": "^0.12.1" + } + }, + "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==", + "dev": true, + "requires": { + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" + } + }, + "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==", + "dev": true, + "requires": { + "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" + } + }, + "regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", + "dev": true + }, + "regjsparser": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.11.1.tgz", + "integrity": "sha512-1DHODs4B8p/mQHU9kr+jv8+wIC9mtG4eBHxWxIq5mhjE3D5oORhCc6deRKzTjs9DcfRFmj9BHSDguZklqCGFWQ==", + "dev": true, + "requires": { + "jsesc": "~3.0.2" + } + }, + "rehype": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/rehype/-/rehype-13.0.1.tgz", + "integrity": "sha512-AcSLS2mItY+0fYu9xKxOu1LhUZeBZZBx8//5HKzF+0XP+eP8+6a5MXn2+DW2kfXR6Dtp1FEXMVrjyKAcvcU8vg==", + "requires": { + "@types/hast": "^3.0.0", + "rehype-parse": "^9.0.0", + "rehype-stringify": "^10.0.0", + "unified": "^11.0.0" + }, + "dependencies": { + "@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "requires": { + "@types/unist": "*" + } + }, + "rehype-parse": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-9.0.0.tgz", + "integrity": "sha512-WG7nfvmWWkCR++KEkZevZb/uw41E8TsH4DsY9UxsTbIXCVGbAs4S+r8FrQ+OtH5EEQAs+5UxKC42VinkmpA1Yw==", + "requires": { + "@types/hast": "^3.0.0", + "hast-util-from-html": "^2.0.0", + "unified": "^11.0.0" + } + } + } + }, + "rehype-attr": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/rehype-attr/-/rehype-attr-3.0.3.tgz", + "integrity": "sha512-Up50Xfra8tyxnkJdCzLBIBtxOcB2M1xdeKe1324U06RAvSjYm7ULSeoM+b/nYPQPVd7jsXJ9+39IG1WAJPXONw==", + "requires": { + "unified": "~11.0.0", + "unist-util-visit": "~5.0.0" + } + }, + "rehype-autolink-headings": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/rehype-autolink-headings/-/rehype-autolink-headings-7.1.0.tgz", + "integrity": "sha512-rItO/pSdvnvsP4QRB1pmPiNHUskikqtPojZKJPPPAVx9Hj8i8TwMBhofrrAYRhYOOBZH9tgmG5lPqDLuIWPWmw==", + "requires": { + "@types/hast": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-heading-rank": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unified": "^11.0.0", + "unist-util-visit": "^5.0.0" + }, + "dependencies": { + "@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "requires": { + "@types/unist": "*" + } + } + } + }, + "rehype-ignore": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/rehype-ignore/-/rehype-ignore-2.0.2.tgz", + "integrity": "sha512-BpAT/3lU9DMJ2siYVD/dSR0A/zQgD6Fb+fxkJd4j+wDVy6TYbYpK+FZqu8eM9EuNKGvi4BJR7XTZ/+zF02Dq8w==", + "requires": { + "hast-util-select": "^6.0.0", + "unified": "^11.0.0", + "unist-util-visit": "^5.0.0" + } + }, + "rehype-parse": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-8.0.4.tgz", + "integrity": "sha512-MJJKONunHjoTh4kc3dsM1v3C9kGrrxvA3U8PxZlP2SjH8RNUSrb+lF7Y0KVaUDnGH2QZ5vAn7ulkiajM9ifuqg==", + "requires": { + "@types/hast": "^2.0.0", + "hast-util-from-parse5": "^7.0.0", + "parse5": "^6.0.0", + "unified": "^10.0.0" + }, + "dependencies": { + "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==" + }, + "unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "requires": { + "@types/unist": "^2.0.0", + "bail": "^2.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^5.0.0" + } + }, + "unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "requires": { + "@types/unist": "^2.0.0" + } + }, + "vfile": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", + "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", + "requires": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" + } + } + } + }, + "rehype-prism-plus": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/rehype-prism-plus/-/rehype-prism-plus-1.6.3.tgz", + "integrity": "sha512-F6tn376zimnvy+xW0bSnryul+rvVL7NhDIkavc9kAuzDx5zIZW04A6jdXPkcFBhojcqZB8b6pHt6CLqiUx+Tbw==", + "requires": { + "hast-util-to-string": "^2.0.0", + "parse-numeric-range": "^1.3.0", + "refractor": "^4.8.0", + "rehype-parse": "^8.0.2", + "unist-util-filter": "^4.0.0", + "unist-util-visit": "^4.0.0" + }, + "dependencies": { + "unist-util-is": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", + "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", + "requires": { + "@types/unist": "^2.0.0" + } + }, + "unist-util-visit": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", + "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", + "requires": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.1.1" + } + }, + "unist-util-visit-parents": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", + "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", + "requires": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + } + } + } + }, + "rehype-raw": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", + "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", + "requires": { + "@types/hast": "^3.0.0", + "hast-util-raw": "^9.0.0", + "vfile": "^6.0.0" + }, + "dependencies": { + "@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "requires": { + "@types/unist": "*" + } + } + } + }, + "rehype-rewrite": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/rehype-rewrite/-/rehype-rewrite-4.0.2.tgz", + "integrity": "sha512-rjLJ3z6fIV11phwCqHp/KRo8xuUCO8o9bFJCNw5o6O2wlLk6g8r323aRswdGBQwfXPFYeSuZdAjp4tzo6RGqEg==", + "requires": { + "hast-util-select": "^6.0.0", + "unified": "^11.0.3", + "unist-util-visit": "^5.0.0" + } + }, + "rehype-slug": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/rehype-slug/-/rehype-slug-6.0.0.tgz", + "integrity": "sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==", + "requires": { + "@types/hast": "^3.0.0", + "github-slugger": "^2.0.0", + "hast-util-heading-rank": "^3.0.0", + "hast-util-to-string": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "dependencies": { + "@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "requires": { + "@types/unist": "*" + } + }, + "hast-util-to-string": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.0.tgz", + "integrity": "sha512-OGkAxX1Ua3cbcW6EJ5pT/tslVb90uViVkcJ4ZZIMW/R33DX/AkcJcRrPebPwJkHYwlDHXz4aIwvAAaAdtrACFA==", + "requires": { + "@types/hast": "^3.0.0" + } + } + } + }, + "rehype-stringify": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-10.0.0.tgz", + "integrity": "sha512-1TX1i048LooI9QoecrXy7nGFFbFSufxVRAfc6Y9YMRAi56l+oB0zP51mLSV312uRuvVLPV1opSlJmslozR1XHQ==", + "requires": { + "@types/hast": "^3.0.0", + "hast-util-to-html": "^9.0.0", + "unified": "^11.0.0" + }, + "dependencies": { + "@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "requires": { + "@types/unist": "*" + } + } + } + }, + "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==", + "requires": { + "@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" + }, + "dependencies": { + "@types/mdast": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.2.tgz", + "integrity": "sha512-tYR83EignvhYO9iU3kDg8V28M0jqyh9zzp5GV+EO+AYnyUl3P5ltkTeJuTiFZQFz670FSb3EwT/6LQdX+UdKfw==", + "requires": { + "@types/unist": "*" + } + }, + "@types/unist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.1.tgz", + "integrity": "sha512-ue/hDUpPjC85m+PM9OQDMZr3LywT+CT6mPsQq8OJtCLiERkGRcQUFvu9XASF5XWqyZFXbf15lvb3JFJ4dRLWPg==" + }, + "mdast-util-from-markdown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", + "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", + "requires": { + "@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" + } + }, + "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==", + "requires": { + "@types/mdast": "^4.0.0" + } + }, + "micromark": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", + "requires": { + "@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" + } + }, + "remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "requires": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + } + }, + "remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "requires": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + } + }, + "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==", + "requires": { + "@types/unist": "^3.0.0" + } + } + } + }, + "remark-rehype": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.0.0.tgz", + "integrity": "sha512-vx8x2MDMcxuE4lBmQ46zYUDfcFMmvg80WYX+UNLeG6ixjdCCLcw1lrgAukwBTuOFsS78eoAedHGn9sNM0w7TPw==", + "requires": { + "@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" + }, + "dependencies": { + "@types/hast": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.2.tgz", + "integrity": "sha512-B5hZHgHsXvfCoO3xgNJvBnX7N8p86TqQeGKXcokW4XXi+qY4vxxPSFYofytvVmpFxzPv7oxDQzjg5Un5m2/xiw==", + "requires": { + "@types/unist": "*" + } + }, + "@types/mdast": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.2.tgz", + "integrity": "sha512-tYR83EignvhYO9iU3kDg8V28M0jqyh9zzp5GV+EO+AYnyUl3P5ltkTeJuTiFZQFz670FSb3EwT/6LQdX+UdKfw==", + "requires": { + "@types/unist": "*" + } + }, + "@types/unist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.1.tgz", + "integrity": "sha512-ue/hDUpPjC85m+PM9OQDMZr3LywT+CT6mPsQq8OJtCLiERkGRcQUFvu9XASF5XWqyZFXbf15lvb3JFJ4dRLWPg==" + } + } + }, + "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==", + "dev": true + }, + "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==", + "dev": true + }, + "reselect": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.0.tgz", + "integrity": "sha512-aw7jcGLDpSgNDyWBQLv2cedml85qd95/iszJjN988zX1t7AVRJi19d9kto5+W7oCfQ94gyo40dVbT6g2k4/kXg==" + }, + "resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" + }, + "resolve": { + "version": "1.22.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", + "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", + "dev": true, + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.0.1.tgz", + "integrity": "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==", + "dev": true, + "requires": { + "glob": "^11.0.0", + "package-json-from-dist": "^1.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "glob": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.0.tgz", + "integrity": "sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==", + "dev": true, + "requires": { + "foreground-child": "^3.1.0", + "jackspeak": "^4.0.1", + "minimatch": "^10.0.0", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^2.0.0" + } + }, + "minimatch": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", + "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "rollup": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.24.0.tgz", + "integrity": "sha512-DOmrlGSXNk1DM0ljiQA+i+o0rSLhtii1je5wgk60j49d1jHT5YYttBv1iWOnYSTG+fZZESUOSNiAl89SIet+Cg==", + "dev": true, + "requires": { + "@rollup/rollup-android-arm-eabi": "4.24.0", + "@rollup/rollup-android-arm64": "4.24.0", + "@rollup/rollup-darwin-arm64": "4.24.0", + "@rollup/rollup-darwin-x64": "4.24.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.24.0", + "@rollup/rollup-linux-arm-musleabihf": "4.24.0", + "@rollup/rollup-linux-arm64-gnu": "4.24.0", + "@rollup/rollup-linux-arm64-musl": "4.24.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.24.0", + "@rollup/rollup-linux-riscv64-gnu": "4.24.0", + "@rollup/rollup-linux-s390x-gnu": "4.24.0", + "@rollup/rollup-linux-x64-gnu": "4.24.0", + "@rollup/rollup-linux-x64-musl": "4.24.0", + "@rollup/rollup-win32-arm64-msvc": "4.24.0", + "@rollup/rollup-win32-ia32-msvc": "4.24.0", + "@rollup/rollup-win32-x64-msvc": "4.24.0", + "@types/estree": "1.0.6", + "fsevents": "~2.3.2" + } + }, + "rrweb-cssom": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz", + "integrity": "sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "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==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + } + }, + "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==", + "dev": true, + "requires": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-regex": "^1.1.4" + } + }, + "safe-stable-stringify": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz", + "integrity": "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true, + "optional": true + }, + "saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "requires": { + "xmlchars": "^2.2.0" + } + }, + "scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "scroll-into-view-if-needed": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz", + "integrity": "sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==", + "requires": { + "compute-scroll-into-view": "^3.0.2" + } + }, + "scslre": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/scslre/-/scslre-0.3.0.tgz", + "integrity": "sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.8.0", + "refa": "^0.12.0", + "regexp-ast-analysis": "^0.7.0" + } + }, + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "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==", + "dev": true, + "requires": { + "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": { + "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==", + "dev": true, + "requires": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + } + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + } + }, + "siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + } + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-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==", + "dev": true + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "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==" + }, + "stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true + }, + "std-env": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", + "dev": true + }, + "stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "dev": true, + "requires": { + "internal-slot": "^1.0.4" + } + }, + "string-convert": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz", + "integrity": "sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==" + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + } + } + }, + "string-width-cjs": { + "version": "npm:string-width@4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + } + } + }, + "string.prototype.includes": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", + "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3" + } + }, + "string.prototype.matchall": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", + "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "regexp.prototype.flags": "^1.5.2", + "set-function-name": "^2.0.2", + "side-channel": "^1.0.6" + } + }, + "string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "string.prototype.trim": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" + } + }, + "string.prototype.trimend": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + } + }, + "string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + } + }, + "stringify-entities": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.3.tgz", + "integrity": "sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==", + "requires": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "dependencies": { + "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==" + } + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-ansi-cjs": { + "version": "npm:strip-ansi@6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "style-to-js": { + "version": "1.1.16", + "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.16.tgz", + "integrity": "sha512-/Q6ld50hKYPH3d/r6nr117TZkHR0w0kGGIVfpG9N6D8NymRPM9RqCUv4pRpJ62E5DqOYx2AFpbZMyCPnjQCnOw==", + "requires": { + "style-to-object": "1.0.8" + }, + "dependencies": { + "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==" + }, + "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==", + "requires": { + "inline-style-parser": "0.2.4" + } + } + } + }, + "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==", + "requires": { + "inline-style-parser": "0.1.1" + } + }, + "stylelint": { + "version": "16.10.0", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.10.0.tgz", + "integrity": "sha512-z/8X2rZ52dt2c0stVwI9QL2AFJhLhbPkyfpDFcizs200V/g7v+UYY6SNcB9hKOLcDDX/yGLDsY/pX08sLkz9xQ==", + "dev": true, + "requires": { + "@csstools/css-parser-algorithms": "^3.0.1", + "@csstools/css-tokenizer": "^3.0.1", + "@csstools/media-query-list-parser": "^3.0.1", + "@csstools/selector-specificity": "^4.0.0", + "@dual-bundle/import-meta-resolve": "^4.1.0", + "balanced-match": "^2.0.0", + "colord": "^2.9.3", + "cosmiconfig": "^9.0.0", + "css-functions-list": "^3.2.3", + "css-tree": "^3.0.0", + "debug": "^4.3.7", + "fast-glob": "^3.3.2", + "fastest-levenshtein": "^1.0.16", + "file-entry-cache": "^9.1.0", + "global-modules": "^2.0.0", + "globby": "^11.1.0", + "globjoin": "^0.1.4", + "html-tags": "^3.3.1", + "ignore": "^6.0.2", + "imurmurhash": "^0.1.4", + "is-plain-object": "^5.0.0", + "known-css-properties": "^0.34.0", + "mathml-tag-names": "^2.1.3", + "meow": "^13.2.0", + "micromatch": "^4.0.8", + "normalize-path": "^3.0.0", + "picocolors": "^1.0.1", + "postcss": "^8.4.47", + "postcss-resolve-nested-selector": "^0.1.6", + "postcss-safe-parser": "^7.0.1", + "postcss-selector-parser": "^6.1.2", + "postcss-value-parser": "^4.2.0", + "resolve-from": "^5.0.0", + "string-width": "^4.2.3", + "supports-hyperlinks": "^3.1.0", + "svg-tags": "^1.0.0", + "table": "^6.8.2", + "write-file-atomic": "^5.0.1" + }, + "dependencies": { + "balanced-match": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", + "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", + "dev": true + }, + "debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "requires": { + "ms": "^2.1.3" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "file-entry-cache": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-9.1.0.tgz", + "integrity": "sha512-/pqPFG+FdxWQj+/WSuzXSDaNzxgTLr/OrR1QuqfEZzDakpdYE70PwUxL7BPUa8hpjbvY1+qvCl8k+8Tq34xJgg==", + "dev": true, + "requires": { + "flat-cache": "^5.0.0" + } + }, + "flat-cache": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-5.0.0.tgz", + "integrity": "sha512-JrqFmyUl2PnPi1OvLyTVHnQvwQ0S+e6lGSwu8OkAZlSaNIZciTY2H/cOOROxsBA1m/LZNHDsqAgDZt6akWcjsQ==", + "dev": true, + "requires": { + "flatted": "^3.3.1", + "keyv": "^4.5.4" + } + }, + "ignore": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-6.0.2.tgz", + "integrity": "sha512-InwqeHHN2XpumIkMvpl/DCJVrAHgCsG5+cn1XlnLWGwtZBm8QJfSusItfrwx81CTp5agNZqpKU2J/ccC5nGT4A==", + "dev": true + }, + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "postcss-safe-parser": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz", + "integrity": "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + } + } + }, + "stylelint-config-recommended": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-14.0.1.tgz", + "integrity": "sha512-bLvc1WOz/14aPImu/cufKAZYfXs/A/owZfSMZ4N+16WGXLoX5lOir53M6odBxvhgmgdxCVnNySJmZKx73T93cg==", + "dev": true + }, + "stylelint-config-standard": { + "version": "36.0.1", + "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-36.0.1.tgz", + "integrity": "sha512-8aX8mTzJ6cuO8mmD5yon61CWuIM4UD8Q5aBcWKGSf6kg+EC3uhB+iOywpTK4ca6ZL7B49en8yanOFtUW0qNzyw==", + "dev": true, + "requires": { + "stylelint-config-recommended": "^14.0.1" + } + }, + "stylelint-declaration-block-no-ignored-properties": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/stylelint-declaration-block-no-ignored-properties/-/stylelint-declaration-block-no-ignored-properties-2.8.0.tgz", + "integrity": "sha512-Ws8Cav7Y+SPN0JsV407LrnNXWOrqGjxShf+37GBtnU/C58Syve9c0+I/xpLcFOosST3ternykn3Lp77f3ITnFw==", + "dev": true + }, + "stylelint-order": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-6.0.4.tgz", + "integrity": "sha512-0UuKo4+s1hgQ/uAxlYU4h0o0HS4NiQDud0NAUNI0aa8FJdmYHA5ZZTFHiV5FpmE3071e9pZx5j0QpVJW5zOCUA==", + "dev": true, + "requires": { + "postcss": "^8.4.32", + "postcss-sorting": "^8.0.2" + } + }, + "stylelint-prettier": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/stylelint-prettier/-/stylelint-prettier-5.0.2.tgz", + "integrity": "sha512-qJ+BN+1T2ZcKz9WIrv0x+eFGHzSUnXfXd5gL///T6XoJvr3D8/ztzz2fhtmXef7Vb8P33zBXmLTTveByr0nwBw==", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "stylis": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.4.tgz", + "integrity": "sha512-osIBl6BGUmSfDkyH2mB7EFvCJntXDrLhKjHTRj/rK6xLH0yuPrHULDRQzKokSOD4VoorhtKpfcfW1GAntu8now==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-hyperlinks": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.1.0.tgz", + "integrity": "sha512-2rn0BZ+/f7puLOHZm1HOJfwBggfaHXUpPUSSG/SWM4TWp5KCfmNYwnC3hruy2rZlMnmWZ+QAGpZfchu3f3695A==", + "dev": true, + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", + "dev": true + }, + "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==", + "dev": true + }, + "swr": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/swr/-/swr-2.2.5.tgz", + "integrity": "sha512-QtxqyclFeAsxEUeZIYmsaQ0UjimSq1RZ9Un7I68/0ClKK/U3LoyQunwkQfJZr2fc22DfIXLNDc2wFyTEikCUpg==", + "requires": { + "client-only": "^0.0.1", + "use-sync-external-store": "^1.2.0" + } + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "synckit": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.1.tgz", + "integrity": "sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==", + "dev": true, + "requires": { + "@pkgr/core": "^0.1.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true + } + } + }, + "table": { + "version": "6.8.2", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.2.tgz", + "integrity": "sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==", + "dev": true, + "requires": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + } + } + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true + }, + "test-exclude": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-7.0.1.tgz", + "integrity": "sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==", + "dev": true, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^10.4.1", + "minimatch": "^9.0.4" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "requires": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + } + }, + "jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "requires": { + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" + } + }, + "lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true + }, + "minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "requires": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + } + } + } + }, + "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==", + "dev": true + }, + "throttle-debounce": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-5.0.2.tgz", + "integrity": "sha512-B71/4oyj61iNH0KeCamLuE2rmKuTO5byTOSVwECM5FA7TiAiAW+UqTKZ9ERueC4qvgSttUhdmq1mXC3kJqGX7A==" + }, + "tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "dev": true + }, + "tinyexec": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.1.tgz", + "integrity": "sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==", + "dev": true + }, + "tinypool": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.0.tgz", + "integrity": "sha512-KIKExllK7jp3uvrNtvRBYBWBOAXSX8ZvoaD8T+7KB/QHIuoJW3Pmr60zucywjAlMb5TeXUkcs/MWeWLu0qvuAQ==", + "dev": true + }, + "tinyrainbow": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-1.2.0.tgz", + "integrity": "sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==", + "dev": true + }, + "tinyspy": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", + "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", + "dev": true + }, + "tldts": { + "version": "6.1.54", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.54.tgz", + "integrity": "sha512-rDaL1t59gb/Lg0HPMUGdV1vAKLQcXwU74D26aMaYV4QW7mnMvShd1Vmkg3HYAPWx2JCTUmsrXt/Yl9eJ5UFBQw==", + "dev": true, + "requires": { + "tldts-core": "^6.1.54" + } + }, + "tldts-core": { + "version": "6.1.54", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.54.tgz", + "integrity": "sha512-5cc42+0G0EjYRDfIJHKraaT3I5kPm7j6or3Zh1T9sF+Ftj1T+isT4thicUyQQ1bwN7/xjHQIuY2fXCoXP8Haqg==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==" + }, + "tough-cookie": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.0.0.tgz", + "integrity": "sha512-FRKsF7cz96xIIeMZ82ehjC3xW2E+O2+v11udrDYewUbszngYhsGa8z6YUMMzO9QJZzzyd0nGGXnML/TReX6W8Q==", + "dev": true, + "requires": { + "tldts": "^6.1.32" + } + }, + "tr46": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.0.0.tgz", + "integrity": "sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==", + "dev": true, + "requires": { + "punycode": "^2.3.1" + } + }, + "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==" + }, + "trough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", + "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==" + }, + "ts-api-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "dev": true + }, + "tsconfck": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.0.3.tgz", + "integrity": "sha512-4t0noZX9t6GcPTfBAbIbbIU4pfpCwh0ueq3S4O/5qXI1VwK1outmxhe9dOiEWqMz3MW2LKgDTpqWV+37IWuVbA==", + "dev": true + }, + "tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dev": true, + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "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==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + } + }, + "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==", + "dev": true, + "requires": { + "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": { + "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==", + "dev": true, + "requires": { + "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": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", + "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", + "dev": true, + "requires": { + "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" + } + }, + "typescript": { + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", + "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==" + }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "dev": true + }, + "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==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.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==", + "dev": true + }, + "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==", + "dev": true + }, + "unified": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", + "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", + "requires": { + "@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" + }, + "dependencies": { + "@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "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==" + } + } + }, + "unist-util-filter": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/unist-util-filter/-/unist-util-filter-4.0.1.tgz", + "integrity": "sha512-RynicUM/vbOSTSiUK+BnaK9XMfmQUh6gyi7L6taNgc7FIf84GukXVV3ucGzEN/PhUUkdP5hb1MmXc+3cvPUm5Q==", + "requires": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.0.0" + }, + "dependencies": { + "unist-util-is": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", + "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", + "requires": { + "@types/unist": "^2.0.0" + } + }, + "unist-util-visit-parents": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", + "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", + "requires": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + } + } + } + }, + "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==", + "requires": { + "@types/unist": "^3.0.0" + }, + "dependencies": { + "@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + } + } + }, + "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==", + "requires": { + "@types/unist": "^3.0.0" + }, + "dependencies": { + "@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + } + } + }, + "unist-util-stringify-position": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", + "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", + "dev": true, + "requires": { + "@types/unist": "^2.0.2" + } + }, + "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==", + "requires": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "dependencies": { + "@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + } + } + }, + "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==", + "requires": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "dependencies": { + "@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + } + } + }, + "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==", + "dev": true, + "requires": { + "escalade": "^3.2.0", + "picocolors": "^1.1.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "use-sync-external-store": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==" + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "v8-to-istanbul": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", + "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + } + }, + "vfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", + "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "requires": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "dependencies": { + "@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "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==", + "requires": { + "@types/unist": "^3.0.0" + } + }, + "vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "requires": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + } + } + } + }, + "vfile-location": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.2.tgz", + "integrity": "sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==", + "requires": { + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" + }, + "dependencies": { + "@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + } + } + }, + "vfile-message": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.2.tgz", + "integrity": "sha512-QjSNP6Yxzyycd4SVOtmKKyTsSvClqBPJcd00Z0zuPj3hOIjg0rUPG6DbFGPvUKRgYyaIWLPKpuEclcuvb3H8qA==", + "requires": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^3.0.0" + }, + "dependencies": { + "unist-util-stringify-position": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.2.tgz", + "integrity": "sha512-7A6eiDCs9UtjcwZOcCpM4aPII3bAAGv13E96IkawkOAW0OhH+yRxtY0lzo8KiHpzEMfH7Q+FizUmwp8Iqy5EWg==", + "requires": { + "@types/unist": "^2.0.0" + } + } + } + }, + "vite": { + "version": "5.4.10", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.10.tgz", + "integrity": "sha512-1hvaPshuPUtxeQ0hsVH3Mud0ZanOLwVTneA1EgbAM5LhaZEqyPWGRQ7BtaMvUrTDeEaC8pxtj6a6jku3x4z6SQ==", + "dev": true, + "requires": { + "esbuild": "^0.21.3", + "fsevents": "~2.3.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + } + }, + "vite-node": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.3.tgz", + "integrity": "sha512-I1JadzO+xYX887S39Do+paRePCKoiDrWRRjp9kkG5he0t7RXNvPAJPCQSJqbGN4uCrFFeS3Kj3sLqY8NMYBEdA==", + "dev": true, + "requires": { + "cac": "^6.7.14", + "debug": "^4.3.6", + "pathe": "^1.1.2", + "vite": "^5.0.0" + } + }, + "vite-plugin-eslint2": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/vite-plugin-eslint2/-/vite-plugin-eslint2-5.0.1.tgz", + "integrity": "sha512-Pr/Df4mpYtKoYOFMRQonoDE/SH56ah2cbtjyQmRveh+Wz2pgk/RfTM3ApZ6xrAEpmIyBctfy5JoBmcWmikKTlg==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.1.2", + "debug": "^4.3.7" + }, + "dependencies": { + "debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "requires": { + "ms": "^2.1.3" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "vite-plugin-stylelint": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/vite-plugin-stylelint/-/vite-plugin-stylelint-5.3.1.tgz", + "integrity": "sha512-M/hSdfOwnOVghbJDeuuYIU2xO/MMukYR8QcEyNKFPG8ro1L+DlTdViix2B2d/FvAw14WPX88ckA5A7NvUjJz8w==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.1.0", + "chokidar": "^3.5.3", + "debug": "^4.3.4" + } + }, + "vite-plugin-svgr": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/vite-plugin-svgr/-/vite-plugin-svgr-4.2.0.tgz", + "integrity": "sha512-SC7+FfVtNQk7So0XMjrrtLAbEC8qjFPifyD7+fs/E6aaNdVde6umlVVh0QuwDLdOMu7vp5RiGFsB70nj5yo0XA==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.0.5", + "@svgr/core": "^8.1.0", + "@svgr/plugin-jsx": "^8.1.0" + } + }, + "vite-tsconfig-paths": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-5.0.1.tgz", + "integrity": "sha512-yqwv+LstU7NwPeNqajZzLEBVpUFU6Dugtb2P84FXuvaoYA+/70l9MHE+GYfYAycVyPSDYZ7mjOFuYBRqlEpTig==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "globrex": "^0.1.2", + "tsconfck": "^3.0.3" + } + }, + "vitest": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.3.tgz", + "integrity": "sha512-Zrxbg/WiIvUP2uEzelDNTXmEMJXuzJ1kCpbDvaKByFA9MNeO95V+7r/3ti0qzJzrxdyuUw5VduN7k+D3VmVOSA==", + "dev": true, + "requires": { + "@vitest/expect": "2.1.3", + "@vitest/mocker": "2.1.3", + "@vitest/pretty-format": "^2.1.3", + "@vitest/runner": "2.1.3", + "@vitest/snapshot": "2.1.3", + "@vitest/spy": "2.1.3", + "@vitest/utils": "2.1.3", + "chai": "^5.1.1", + "debug": "^4.3.6", + "magic-string": "^0.30.11", + "pathe": "^1.1.2", + "std-env": "^3.7.0", + "tinybench": "^2.9.0", + "tinyexec": "^0.3.0", + "tinypool": "^1.0.0", + "tinyrainbow": "^1.2.0", + "vite": "^5.0.0", + "vite-node": "2.1.3", + "why-is-node-running": "^2.3.0" + } + }, + "void-elements": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", + "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==" + }, + "vue-eslint-parser": { + "version": "9.4.3", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.3.tgz", + "integrity": "sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==", + "dev": true, + "requires": { + "debug": "^4.3.4", + "eslint-scope": "^7.1.1", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^7.3.6" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "requires": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "w3c-xmlserializer": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", + "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", + "dev": true, + "requires": { + "xml-name-validator": "^5.0.0" + } + }, + "warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==" + }, + "webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "dev": true + }, + "whatwg-encoding": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", + "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", + "dev": true, + "requires": { + "iconv-lite": "0.6.3" + } + }, + "whatwg-mimetype": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", + "dev": true + }, + "whatwg-url": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.0.0.tgz", + "integrity": "sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==", + "dev": true, + "requires": { + "tr46": "^5.0.0", + "webidl-conversions": "^7.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-builtin-type": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.4.tgz", + "integrity": "sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==", + "dev": true, + "requires": { + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.15" + } + }, + "which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "requires": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + } + }, + "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==", + "dev": true, + "requires": { + "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" + } + }, + "why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", + "dev": true, + "requires": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + } + } + }, + "wrap-ansi-cjs": { + "version": "npm:wrap-ansi@7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + } + } + }, + "write-file-atomic": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", + "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" + }, + "dependencies": { + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true + } + } + }, + "ws": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "dev": true + }, + "xml-name-validator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", + "dev": true + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "requires": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true + } + } + }, + "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==", + "dev": true + }, + "zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==" + } + } +} diff --git a/server/web/package.json b/server/web/package.json new file mode 100644 index 0000000..56c7a74 --- /dev/null +++ b/server/web/package.json @@ -0,0 +1,116 @@ +{ + "name": "upda-ui", + "version": "4.0.0", + "private": true, + "author": "varakh@varakh.de", + "type": "module", + "engines": { + "node": "^20", + "npm": "^10" + }, + "scripts": { + "start": "vite", + "build": "tsc && vite build", + "serve": "vite preview", + "test": "vitest watch", + "test:no-watch": "vitest run", + "test:coverage": "vitest run --coverage", + "test:ci": "vitest run --coverage --passWithNoTests", + "format": "prettier --write ./src/**/*.{ts,tsx,less}", + "format:check": "prettier --check ./src/**/*.{ts,tsx,less}", + "lint": "eslint \"./src/**/*.{tsx,ts}\"", + "lintfix": "eslint --fix \"./src/**/*.{tsx,ts}\"", + "lint:style": "stylelint \"./src/**/*.less\"", + "lint-style-fix": "stylelint \"./src/**/*.less\" --fix", + "checkstyle": "npm run checkstyle:ts && npm run checkstyle:less && npm run checkstyle:format", + "checkstyle:format": "npm run format:check", + "checkstyle:ts": "eslint \"./src/**/*.{ts,tsx}\" -f checkstyle > ci/eslint.xml", + "checkstyle:less": "stylelint \"./src/**/*.less\"", + "clean": "npx --quiet rimraf build && npx --quiet rimraf node_modules" + }, + "dependencies": { + "@ant-design/icons": "^5.5.1", + "@ant-design/pro-layout": "^7.21.1", + "@reduxjs/toolkit": "^2.3.0", + "@testing-library/react": "^16.0.1", + "@testing-library/user-event": "^14.5.2", + "@types/react": "^18.3.12", + "@types/react-dom": "^18.3.1", + "@uiw/react-md-editor": "^4.0.4", + "antd": "^5.21.5", + "file-saver": "^2.0.5", + "html-react-parser": "^5.1.18", + "i18next": "^23.16.3", + "i18next-browser-languagedetector": "^8.0.0", + "linkify-html": "^4.1.3", + "linkifyjs": "^4.1.3", + "lodash": "^4.17.21", + "moment-timezone": "^0.5.46", + "react": "^18.3.1", + "react-copy-to-clipboard": "^5.1.0", + "react-dom": "^18.3.1", + "react-i18next": "^15.1.0", + "react-redux": "^9.1.2", + "react-router-dom": "^6.27.0", + "react-virtualized": "^9.22.5", + "typescript": "^5.6.3" + }, + "devDependencies": { + "@babel/register": "^7.25.9", + "@eslint/compat": "^1.2.1", + "@eslint/js": "^9.13.0", + "@types/file-saver": "^2.0.7", + "@types/lodash": "^4.17.12", + "@types/node": "^20.16.5", + "@types/react-copy-to-clipboard": "^5.0.7", + "@types/react-virtualized": "^9.21.30", + "@typescript-eslint/eslint-plugin": "^8.11.0", + "@typescript-eslint/parser": "^8.11.0", + "@vitejs/plugin-react": "^4.3.3", + "@vitest/coverage-v8": "^2.1.3", + "babel-plugin-import": "^1.13.8", + "c8": "^10.1.2", + "eslint": "^9.13.0", + "eslint-config-prettier": "^9.1.0", + "eslint-formatter-checkstyle": "^8.40.0", + "eslint-import-resolver-typescript": "^3.6.3", + "eslint-plugin-disable": "^2.0.3", + "eslint-plugin-import": "^2.31.0", + "eslint-plugin-jsx-a11y": "^6.10.1", + "eslint-plugin-prettier": "^5.2.1", + "eslint-plugin-react": "^7.37.2", + "eslint-plugin-react-hooks": "^5.0.0", + "eslint-plugin-sonarjs": "^2.0.4", + "eslint-plugin-testing-library": "^6.4.0", + "jsdom": "^25.0.1", + "less": "^4.2.0", + "less-loader": "^12.2.0", + "postcss-less": "^6.0.0", + "postcss-markdown": "^1.2.0", + "prettier": "^3.3.3", + "rimraf": "^6.0.1", + "stylelint": "^16.10.0", + "stylelint-config-standard": "^36.0.1", + "stylelint-declaration-block-no-ignored-properties": "^2.8.0", + "stylelint-order": "^6.0.4", + "stylelint-prettier": "^5.0.2", + "vite": "^5.4.10", + "vite-plugin-eslint2": "^5.0.1", + "vite-plugin-stylelint": "^5.3.1", + "vite-plugin-svgr": "^4.2.0", + "vite-tsconfig-paths": "^5.0.1", + "vitest": "^2.1.3" + }, + "browserslist": { + "production": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + } +} diff --git a/server/web/public/Favicon16x16.png b/server/web/public/Favicon16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..a1399ae5c0b082b1f02d84d5732c571a0adba472 GIT binary patch literal 816 zcmV-01JC@4P)!mEbL@&PBg|HH$7L|gEsE{6#FoK{638J7Lq8_w|kS-zw z8KwAO(L)yWkWXRwQco6csHKT+yUyM(bLq^ih0+YeKR@R`-~XNOe20n6A)WDnuHwJP zq5xI~WH<`Zy7AG#(aQ{g^#QA{R%vlH-Nbnloy0f@1B`|L{Zqn#8PziTE zfWN@u*_?z3Q!o%n;8RHk{({Xscw)5#T?Bl+auu&VX~JdDi4_xf9@Gs$hsI-kM#2~c z`=zAG_;^gfo|FweH8M0}(vq~HBPpP|V8JcFjIdBJ7#t!nhHJmvkQ5GAs#f76CZ}Wv zUX|srKVioUUmDFBE1t~y5TxV@V%E7ef&#|~U`I%|t2(BpgJ`W^#x|;Z3mqCJCZV_k zqQWrb%a|pLq~_;uK@62A@x`9Uu$TgqNW{H#OLxqLo*CDtvJo3L0<|-WC53HKP4#W4ajJx{bMPGBwuWnu}E}w zWL89L!*a2NbClqt`X7;aZItl7G>c7n9tRQ*G-YjQ$=LC{EQNp#mBjT7NjT&j*?J2A588u}^{#WpgY;c3{1ad!?XQ_)8tf?jl* zN+#jyf5Mf;#p)qHfGc{|3!B2Lyu=q3&4$#rL=E(jXKT}j4+ zK+#--^CG_6^0*z07p?3k4K&l+jQTF%-hu}=D`dR%WZ+U6f+~-%c7?pbqxXjwvPHv% znke#Xy8JgxO=&CcEP7B$36o9*X-+{M30ar3lf`8Wh)EDBbCfh=B1{d8!C0Fxjv^Wj uTsB=FuVWbUTF#G|#@H7M2n6`%i0000~P)MukDpo~0hzv78U$iu@X0yp=ceA_yZZ_HVyLTV?|7=okyY24(IQN|I zobNm5>ikQuEkZ0EKc#P61%CAMulzdO(!8U6sB}vh6yLNHl62s|wj7SQvN+()$lw2e6;Vc@47vJ^a-Z#_LYLC+b=}qH;&) zzk)0fC{4qtn{fZC*CQW&Je0r=!l|RD>X({EHat^mNWWquyFqD$;!>`EOn7< zGk^S`F@Z#x<3Vl|GfWV%06y0it>(1?XLsC+r+fYK`WyCf{LYicN0_z;=ESSGXdIZE zG2q0R27E{lSF{gGiY-c;@Z?1g_SC1apY)TpN(WXEsi#O!@!W6E*V6&kfKG;5HO_j& zJ14{N=k*f$??>ub8wPx|~l8@lHW;oqdC zOuV`m?Chz>dTz45Wf*^RMo5?5e#Gbt6J0d9aGk>}SF5^QLfjbEytA z2)uQw0Re_FzjHw5sDsYjHsYf6X7LB+d7n3p! z-`b8?AT`N7eMzk*)ko`SO7&fygzd1KnMb%C17djs^6mX<2i=XzpF*k44WOFC{1Kr>?DnOwmyIe({jP}IuX*izP19;XfbdA48yiPm`1YI_ zUf@ts$7px=`fxKjd^hvHG-JlrU=j~8EkbImqgy%t*=DJzVUo=%iZ4(}H$~mJuW?is za18>VWnQ153=74&vw0L&D(0bcK?no?a^!H{GJ!1vUich- z@h>vho4ENX>!5wyh~uY1ILD2bw+YcIS*e+bwq5Yz#-szAgK=yRrLZ_-lHIQ}r!BOZ z5U9A3rX>HUA&zGWvyL56AhW&KE1OeAgsRnnIQ5(J$ zb)hA%DY+UP1mEAcjbmeT3@15;Rc4%JRMbCFt`oGmjJ+cv1`6#!qK)VA0XJ@^0R59= znBc2OiFjvS+=jd8NGBOk89*y zG_oLT#2$9c4$AL)9AwvVU=doNo++o4aF!!h2bJpuM$kwnqRiiul-=jO3L(~>*VOZD zJ)_=0X%?xnb2fOJo8QRp8ZA3G{d}McQi?Bi{0mVHe@+&xq40>j$EXR1Ipw}VUFhYE zFh*y@T+q(x=t`a;u4BJ88J9R2&A@cNyC`eIDi+}q%5oD=LsmwgW@YxU0lmqV z{4&w$v6P3-vI#Bh+5j)@fLiosQXciS%8Vz*!pe1CljX&0vz-n92Z6(f5;94dr2qf` M07*qoM6N<$g1#^~?f?J) literal 0 HcmV?d00001 diff --git a/server/web/public/conf/runtime-config.js b/server/web/public/conf/runtime-config.js new file mode 100644 index 0000000..818a4b6 --- /dev/null +++ b/server/web/public/conf/runtime-config.js @@ -0,0 +1,7 @@ +// Note that Object.freeze is NOT recursive +const runtime_config = Object.freeze({}); + +Object.defineProperty(window, 'runtime_config', { + value: runtime_config, + writable: false +}); diff --git a/server/web/public/favicon.ico b/server/web/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..88879aa8fa1fbbd165b3cbf9fd171258990f1bc6 GIT binary patch literal 15406 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 literal 0 HcmV?d00001 diff --git a/server/web/public/manifest.json b/server/web/public/manifest.json new file mode 100644 index 0000000..683426b --- /dev/null +++ b/server/web/public/manifest.json @@ -0,0 +1,8 @@ +{ + "short_name": "", + "name": "", + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/server/web/public/robots.txt b/server/web/public/robots.txt new file mode 100644 index 0000000..e9e57dc --- /dev/null +++ b/server/web/public/robots.txt @@ -0,0 +1,3 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * +Disallow: diff --git a/server/web/src/App.tsx b/server/web/src/App.tsx new file mode 100644 index 0000000..a182ca6 --- /dev/null +++ b/server/web/src/App.tsx @@ -0,0 +1,15 @@ +import getConfiguration from './getConfiguration'; +import AppRouter from './router/AppRouter'; +import { isDevelopment } from './utils/envHelper'; +import { useEffect } from 'react'; + +const App = () => { + useEffect(() => { + if (isDevelopment()) { + document.title = getConfiguration().VITE_APP_TITLE; + } + }, []); + + return ; +}; +export default App; diff --git a/server/web/src/__mocks__/config.mock.ts b/server/web/src/__mocks__/config.mock.ts new file mode 100644 index 0000000..6375968 --- /dev/null +++ b/server/web/src/__mocks__/config.mock.ts @@ -0,0 +1,8 @@ +const mockConfig = {}; + +Object.defineProperty(window, 'runtime_config', { + writable: true, + value: mockConfig +}); + +export { mockConfig }; diff --git a/server/web/src/__mocks__/react-i18next.mock.ts b/server/web/src/__mocks__/react-i18next.mock.ts new file mode 100644 index 0000000..6f51ffc --- /dev/null +++ b/server/web/src/__mocks__/react-i18next.mock.ts @@ -0,0 +1,4 @@ +vi.mock('react-i18next', () => ({ + useTranslation: (): [(key: string) => string] => [(key: string): string => key] +})); +export {}; diff --git a/server/web/src/api/actionInvocationsApi.ts b/server/web/src/api/actionInvocationsApi.ts new file mode 100644 index 0000000..a12d199 --- /dev/null +++ b/server/web/src/api/actionInvocationsApi.ts @@ -0,0 +1,67 @@ +import { injectEndpoints } from './index'; +import ActionInvocationFilterQueryParamNames from '../constants/api/actionInvocationFilterQueryParamNames'; +import ApiTags from '../constants/apiTags'; +import { ActionInvocationsRequestParams, ActionInvocationSingleResponse, ActionInvocationsResponse } from '../types'; +import { FetchBaseQueryError } from '@reduxjs/toolkit/query'; + +const TAG_LIST_ID = 'LIST'; + +const invalidatesTags = ( + results?: ActionInvocationsResponse | ActionInvocationSingleResponse | void, + error?: FetchBaseQueryError +) => { + if (error) { + return []; + } + return [ApiTags.ActionInvocations] as any; +}; + +export const actionInvocationsApi = injectEndpoints({ + endpoints: (build) => { + return { + getActionInvocations: build.query({ + query: ({ page, pageSize, order, orderBy }) => { + const params = new URLSearchParams(); + if (page) { + params.append(ActionInvocationFilterQueryParamNames.PAGE, `${page}`); + } + if (pageSize) { + params.append(ActionInvocationFilterQueryParamNames.PAGE_SIZE, `${pageSize}`); + } + if (order) { + params.append(ActionInvocationFilterQueryParamNames.ORDER, `${order}`); + } + if (orderBy) { + params.append(ActionInvocationFilterQueryParamNames.ORDER_BY, `${orderBy}`); + } + return { url: `action-invocations?${params.toString()}` }; + }, + providesTags: (result, error) => { + if (!error && result?.data.content) { + return [ + { type: ApiTags.ActionInvocations, id: TAG_LIST_ID }, + ...result.data.content.map(({ id }) => ({ type: ApiTags.ActionInvocations, id })) + ]; + } + return []; + } + }), + getActionInvocationById: build.query({ + query: ({ id }) => ({ url: `action-invocations/${id}` }), + providesTags: (result, error) => { + if (!error && result?.data) { + return [{ type: ApiTags.ActionInvocations, id: result.data.id }]; + } + return []; + } + }), + deleteActionInvocation: build.mutation({ + query: ({ id }) => ({ url: `action-invocations/${id}`, method: 'DELETE' }), + invalidatesTags + }) + }; + } +}); + +export const { useGetActionInvocationsQuery, useGetActionInvocationByIdQuery, useDeleteActionInvocationMutation } = + actionInvocationsApi; diff --git a/server/web/src/api/actionsApi.ts b/server/web/src/api/actionsApi.ts new file mode 100644 index 0000000..b7b51c8 --- /dev/null +++ b/server/web/src/api/actionsApi.ts @@ -0,0 +1,197 @@ +import { injectEndpoints } from './index'; +import ActionFilterQueryParamNames from '../constants/api/actionFilterQueryParamNames'; +import ApiTags from '../constants/apiTags'; +import { + ActionSingleResponse, + ActionsRequestParams, + ActionsResponse, + ActionTestSingleResponse, + CreateActionRequest, + ModifyActionEnabledRequest, + ModifyActionLabelRequest, + ModifyActionMatchApplicationRequest, + ModifyActionMatchEventRequest, + ModifyActionMatchHostRequest, + ModifyActionMatchProviderRequest, + ModifyActionPayloadRequest, + TestActionRequest +} from '../types'; +import { FetchBaseQueryError } from '@reduxjs/toolkit/query'; + +const TAG_LIST_ID = 'LIST'; + +const invalidatesTags = (results?: ActionsResponse | ActionSingleResponse | void, error?: FetchBaseQueryError) => { + if (error) { + return []; + } + return [ApiTags.Actions] as any; +}; + +export const actionsApi = injectEndpoints({ + endpoints: (build) => { + return { + getActions: build.query({ + query: ({ page, pageSize, order, orderBy }) => { + const params = new URLSearchParams(); + if (page) { + params.append(ActionFilterQueryParamNames.PAGE, `${page}`); + } + if (pageSize) { + params.append(ActionFilterQueryParamNames.PAGE_SIZE, `${pageSize}`); + } + if (order) { + params.append(ActionFilterQueryParamNames.ORDER, `${order}`); + } + if (orderBy) { + params.append(ActionFilterQueryParamNames.ORDER_BY, `${orderBy}`); + } + return { url: `actions?${params.toString()}` }; + }, + providesTags: (result, error) => { + if (!error && result?.data.content) { + return [ + { type: ApiTags.Actions, id: TAG_LIST_ID }, + ...result.data.content.map(({ id }) => ({ type: ApiTags.Actions, id })) + ]; + } + return []; + } + }), + getActionById: build.query({ + query: ({ id }) => ({ url: `actions/${id}` }), + providesTags: (result, error) => { + if (!error && result?.data) { + return [{ type: ApiTags.Actions, id: result.data.id }]; + } + return []; + } + }), + createAction: build.mutation({ + query: (body) => ({ url: 'actions', method: 'POST', body }), + invalidatesTags + }), + testAction: build.mutation({ + query: ({ id, body }) => ({ url: `actions/${id}/test`, method: 'POST', body }) + }), + modifyLabelAction: build.mutation({ + query: ({ id, body }) => ({ url: `actions/${id}/label`, method: 'PATCH', body }), + invalidatesTags: (result, error, arg) => { + if (error) { + return []; + } + return [{ type: ApiTags.Actions, id: arg.id }]; + } + }), + modifyMatchApplicationAction: build.mutation< + ActionSingleResponse, + { id: string; body: ModifyActionMatchApplicationRequest } + >({ + query: ({ id, body }) => ({ + url: `actions/${id}/match-application`, + method: 'PATCH', + body + }), + invalidatesTags: (result, error, arg) => { + if (error) { + return []; + } + return [{ type: ApiTags.Actions, id: arg.id }]; + } + }), + modifyMatchHostAction: build.mutation< + ActionSingleResponse, + { id: string; body: ModifyActionMatchHostRequest } + >({ + query: ({ id, body }) => ({ + url: `actions/${id}/match-host`, + method: 'PATCH', + body + }), + invalidatesTags: (result, error, arg) => { + if (error) { + return []; + } + return [{ type: ApiTags.Actions, id: arg.id }]; + } + }), + modifyMatchEventAction: build.mutation< + ActionSingleResponse, + { id: string; body: ModifyActionMatchEventRequest } + >({ + query: ({ id, body }) => ({ + url: `actions/${id}/match-event`, + method: 'PATCH', + body + }), + invalidatesTags: (result, error, arg) => { + if (error) { + return []; + } + return [{ type: ApiTags.Actions, id: arg.id }]; + } + }), + modifyMatchProviderAction: build.mutation< + ActionSingleResponse, + { id: string; body: ModifyActionMatchProviderRequest } + >({ + query: ({ id, body }) => ({ + url: `actions/${id}/match-provider`, + method: 'PATCH', + body + }), + invalidatesTags: (result, error, arg) => { + if (error) { + return []; + } + return [{ type: ApiTags.Actions, id: arg.id }]; + } + }), + modifyTypeAndPayloadAction: build.mutation< + ActionSingleResponse, + { id: string; body: ModifyActionPayloadRequest } + >({ + query: ({ id, body }) => ({ + url: `actions/${id}/payload`, + method: 'PATCH', + body + }), + invalidatesTags: (result, error, arg) => { + if (error) { + return []; + } + return [{ type: ApiTags.Actions, id: arg.id }]; + } + }), + modifyEnabledAction: build.mutation( + { + query: ({ id, body }) => ({ url: `actions/${id}/enabled`, method: 'PATCH', body }), + invalidatesTags: (result, error, arg) => { + if (error) { + return []; + } + return [{ type: ApiTags.Actions, id: arg.id }]; + } + } + ), + deleteAction: build.mutation({ + query: ({ id }) => ({ url: `actions/${id}`, method: 'DELETE' }), + invalidatesTags + }) + }; + } +}); + +export const { + useGetActionsQuery, + useGetActionByIdQuery, + useDeleteActionMutation, + useModifyLabelActionMutation, + useModifyMatchEventActionMutation, + useModifyMatchApplicationActionMutation, + useModifyMatchHostActionMutation, + useModifyMatchProviderActionMutation, + useModifyTypeAndPayloadActionMutation, + useModifyEnabledActionMutation, + useCreateActionMutation, + useTestActionMutation +} = actionsApi; diff --git a/server/web/src/api/eventsApi.ts b/server/web/src/api/eventsApi.ts new file mode 100644 index 0000000..ff023a5 --- /dev/null +++ b/server/web/src/api/eventsApi.ts @@ -0,0 +1,60 @@ +import { injectEndpoints } from './index'; +import EventFilterQueryParamNames from '../constants/api/eventFilterQueryParamNames'; +import ApiTags from '../constants/apiTags'; +import { EventSingleResponse, EventsRequestParams, EventsResponse } from '../types/event'; + +const TAG_LIST_ID = 'LIST'; + +export const eventsApi = injectEndpoints({ + endpoints: (build) => { + return { + getEvents: build.query({ + query: ({ size, skip, order, orderBy }) => { + const params = new URLSearchParams(); + if (size) { + params.append(EventFilterQueryParamNames.SIZE, `${size}`); + } + if (skip) { + params.append(EventFilterQueryParamNames.SKIP, `${skip}`); + } + if (order) { + params.append(EventFilterQueryParamNames.ORDER, `${order}`); + } + if (orderBy) { + params.append(EventFilterQueryParamNames.ORDER_BY, `${orderBy}`); + } + return { url: `events?${params.toString()}` }; + }, + providesTags: (result, error) => { + if (!error && result?.data.content) { + return [ + { type: ApiTags.Events, id: TAG_LIST_ID }, + ...result.data.content.map(({ id }) => ({ type: ApiTags.Events, id })) + ]; + } + return []; + } + }), + getEventById: build.query({ + query: ({ id }) => ({ url: `events/${id}` }), + providesTags: (result, error) => { + if (!error && result?.data) { + return [{ type: ApiTags.Events, id: result.data.id }]; + } + return []; + } + }), + deleteEvent: build.mutation({ + query: ({ id }) => ({ url: `events/${id}`, method: 'DELETE' }), + invalidatesTags: (result, error, arg) => { + if (error) { + return []; + } + return [{ type: ApiTags.Events, id: arg.id }]; + } + }) + }; + } +}); + +export const { useLazyGetEventsQuery, useGetEventByIdQuery, useDeleteEventMutation } = eventsApi; diff --git a/server/web/src/api/healthApi.ts b/server/web/src/api/healthApi.ts new file mode 100644 index 0000000..65cb3ac --- /dev/null +++ b/server/web/src/api/healthApi.ts @@ -0,0 +1,16 @@ +import { injectEndpoints } from './index'; +import ApiTags from '../constants/apiTags'; +import { HealthResponse } from '../types'; + +export const healthApi = injectEndpoints({ + endpoints: (build) => { + return { + getHealth: build.query({ + query: () => ({ url: 'health' }), + providesTags: [ApiTags.Health] + }) + }; + } +}); + +export const { useGetHealthQuery } = healthApi; diff --git a/server/web/src/api/index.ts b/server/web/src/api/index.ts new file mode 100644 index 0000000..b157817 --- /dev/null +++ b/server/web/src/api/index.ts @@ -0,0 +1,40 @@ +import ApiTags from '../constants/apiTags'; +import getConfiguration from '../getConfiguration'; +import { updateAuth } from '../slices/authSlice'; +import { RootState } from '../store'; +import { BaseQueryApi, createApi, FetchArgs, fetchBaseQuery } from '@reduxjs/toolkit/query/react'; + +const baseQuery = fetchBaseQuery({ + baseUrl: getConfiguration().VITE_API_URL, + prepareHeaders: (headers, { getState }) => { + const state = getState() as RootState; + const username = state.auth.username; + const password = state.auth.password; + const authHeader = window.btoa(`${username}:${password}`); + + if (username && password && authHeader) { + headers.set('Authorization', `Basic ${authHeader}`); + } + return headers; + } +}); + +const baseQueryWithReAuth = async (args: string | FetchArgs, api: BaseQueryApi, extraOptions: any) => { + let result = await baseQuery(args, api, extraOptions); + + if (result?.meta?.response?.status === 401) { + api.dispatch(updateAuth({ username: null, password: null })); + result = await baseQuery(args, api, extraOptions); + } + + return result; +}; + +export const api = createApi({ + reducerPath: 'api', + baseQuery: baseQueryWithReAuth, + tagTypes: Object.values(ApiTags), + endpoints: () => ({}) +}); + +export const { injectEndpoints } = api; diff --git a/server/web/src/api/infoApi.ts b/server/web/src/api/infoApi.ts new file mode 100644 index 0000000..e3b79e4 --- /dev/null +++ b/server/web/src/api/infoApi.ts @@ -0,0 +1,16 @@ +import { injectEndpoints } from './index'; +import ApiTags from '../constants/apiTags'; +import { InfoResponse } from '../types'; + +export const infoApi = injectEndpoints({ + endpoints: (build) => { + return { + getInfo: build.query({ + query: () => ({ url: 'info' }), + providesTags: [ApiTags.Info] + }) + }; + } +}); + +export const { useGetInfoQuery } = infoApi; diff --git a/server/web/src/api/loginApi.ts b/server/web/src/api/loginApi.ts new file mode 100644 index 0000000..0d9a57d --- /dev/null +++ b/server/web/src/api/loginApi.ts @@ -0,0 +1,20 @@ +import { injectEndpoints } from './index'; +import { LoginRequest } from '../types'; + +export const loginApi = injectEndpoints({ + endpoints: (build) => { + return { + getProbeLogin: build.mutation>({ + query: (body) => ({ + url: 'login', // requires an endpoint which return 204 on successful login via basic auth + headers: { + Authorization: `Basic ${window.btoa(body.username + ':' + body.password)}` + } + }), + invalidatesTags: [] + }) + }; + } +}); + +export const { useGetProbeLoginMutation } = loginApi; diff --git a/server/web/src/api/secretsApi.ts b/server/web/src/api/secretsApi.ts new file mode 100644 index 0000000..d7fce71 --- /dev/null +++ b/server/web/src/api/secretsApi.ts @@ -0,0 +1,54 @@ +import { injectEndpoints } from './index'; +import ApiTags from '../constants/apiTags'; +import { CreateSecretRequest, ModifySecretValueRequest, SecretSingleResponse, SecretsResponse } from '../types'; +import { FetchBaseQueryError } from '@reduxjs/toolkit/query'; + +const TAG_LIST_ID = 'LIST'; + +const invalidatesTags = (results?: SecretsResponse | SecretSingleResponse | void, error?: FetchBaseQueryError) => { + if (error) { + return []; + } + return [ApiTags.Secrets] as any; +}; + +export const secretsApi = injectEndpoints({ + endpoints: (build) => { + return { + getSecrets: build.query({ + query: () => { + return { url: 'secrets' }; + }, + providesTags: (result, error) => { + if (!error && result?.data.content) { + return [ + { type: ApiTags.Secrets, id: TAG_LIST_ID }, + ...result.data.content.map(({ id }) => ({ type: ApiTags.Secrets, id })) + ]; + } + return []; + } + }), + createSecret: build.mutation({ + query: (body) => ({ url: 'secrets', method: 'POST', body }), + invalidatesTags + }), + modifyValueSecret: build.mutation({ + query: ({ id, body }) => ({ url: `secrets/${id}/value`, method: 'PATCH', body }), + invalidatesTags: (result, error, arg) => { + if (error) { + return []; + } + return [{ type: ApiTags.Secrets, id: arg.id }]; + } + }), + deleteSecret: build.mutation({ + query: ({ id }) => ({ url: `secrets/${id}`, method: 'DELETE' }), + invalidatesTags + }) + }; + } +}); + +export const { useGetSecretsQuery, useDeleteSecretMutation, useCreateSecretMutation, useModifyValueSecretMutation } = + secretsApi; diff --git a/server/web/src/api/updatesApi.ts b/server/web/src/api/updatesApi.ts new file mode 100644 index 0000000..2872003 --- /dev/null +++ b/server/web/src/api/updatesApi.ts @@ -0,0 +1,84 @@ +import { injectEndpoints } from './index'; +import UpdateFilterQueryParamNames from '../constants/api/updateFilterQueryParamNames'; +import ApiTags from '../constants/apiTags'; +import { ModifyUpdateStateRequest, UpdateSingleResponse, UpdatesRequestParams, UpdatesResponse } from '../types'; +import { forEach } from 'lodash'; + +const TAG_LIST_ID = 'LIST'; + +export const updatesApi = injectEndpoints({ + endpoints: (build) => { + return { + getUpdates: build.query({ + query: ({ ...args }) => { + const { page, pageSize, order, orderBy, state, searchIn, searchTerm } = args; + + const params = new URLSearchParams(); + if (state) { + forEach(state, (s) => { + params.append(UpdateFilterQueryParamNames.STATE, s); + }); + } + if (searchIn) { + params.append(UpdateFilterQueryParamNames.SEARCH_IN, `${searchIn}`); + } + if (searchTerm) { + params.append(UpdateFilterQueryParamNames.SEARCH_TERM, `${searchTerm}`); + } + if (page) { + params.append(UpdateFilterQueryParamNames.PAGE, `${page}`); + } + if (pageSize) { + params.append(UpdateFilterQueryParamNames.PAGE_SIZE, `${pageSize}`); + } + if (order) { + params.append(UpdateFilterQueryParamNames.ORDER, `${order}`); + } + if (orderBy) { + params.append(UpdateFilterQueryParamNames.ORDER_BY, `${orderBy}`); + } + return { url: `updates?${params.toString()}` }; + }, + providesTags: (result, error) => { + if (!error && result?.data.content) { + return [ + { type: ApiTags.Updates, id: TAG_LIST_ID }, + ...result.data.content.map(({ id }) => ({ type: ApiTags.Updates, id })) + ]; + } + return []; + } + }), + getUpdateById: build.query({ + query: ({ id }) => ({ url: `updates/${id}` }), + providesTags: (result, error) => { + if (!error && result?.data) { + return [{ type: ApiTags.Updates, id: result.data.id }]; + } + return []; + } + }), + modifyUpdateState: build.mutation({ + query: ({ id, body }) => ({ url: `updates/${id}/state`, method: 'PATCH', body }), + invalidatesTags: (result, error, arg) => { + if (error) { + return []; + } + return [{ type: ApiTags.Updates, id: arg.id }]; + } + }), + deleteUpdate: build.mutation({ + query: ({ id }) => ({ url: `updates/${id}`, method: 'DELETE' }), + invalidatesTags: (error) => { + if (error) { + return []; + } + return [{ type: ApiTags.Updates }]; + } + }) + }; + } +}); + +export const { useGetUpdatesQuery, useGetUpdateByIdQuery, useModifyUpdateStateMutation, useDeleteUpdateMutation } = + updatesApi; diff --git a/server/web/src/api/webhooksApi.ts b/server/web/src/api/webhooksApi.ts new file mode 100644 index 0000000..c22e025 --- /dev/null +++ b/server/web/src/api/webhooksApi.ts @@ -0,0 +1,92 @@ +import { injectEndpoints } from './index'; +import WebhookFilterQueryParamNames from '../constants/api/webhookFilterQueryParamNames'; +import ApiTags from '../constants/apiTags'; +import { + CreateWebhookRequest, + ModifyWebhookIgnoreHostRequest, + ModifyWebhookLabelRequest, + WebhookSingleResponse, + WebhooksRequestParams, + WebhooksResponse +} from '../types'; +import { FetchBaseQueryError } from '@reduxjs/toolkit/query'; + +const TAG_LIST_ID = 'LIST'; + +const invalidatesTags = (results?: WebhooksResponse | WebhookSingleResponse | void, error?: FetchBaseQueryError) => { + if (error) { + return []; + } + return [ApiTags.Webhooks] as any; +}; + +export const webhooksApi = injectEndpoints({ + endpoints: (build) => { + return { + getWebhooks: build.query({ + query: ({ page, pageSize, order, orderBy }) => { + const params = new URLSearchParams(); + if (page) { + params.append(WebhookFilterQueryParamNames.PAGE, `${page}`); + } + if (pageSize) { + params.append(WebhookFilterQueryParamNames.PAGE_SIZE, `${pageSize}`); + } + if (order) { + params.append(WebhookFilterQueryParamNames.ORDER, `${order}`); + } + if (orderBy) { + params.append(WebhookFilterQueryParamNames.ORDER_BY, `${orderBy}`); + } + return { url: `webhooks?${params.toString()}` }; + }, + providesTags: (result, error) => { + if (!error && result?.data.content) { + return [ + { type: ApiTags.Webhooks, id: TAG_LIST_ID }, + ...result.data.content.map(({ id }) => ({ type: ApiTags.Webhooks, id })) + ]; + } + return []; + } + }), + createWebhook: build.mutation({ + query: (body) => ({ url: 'webhooks', method: 'POST', body }), + invalidatesTags + }), + deleteWebhook: build.mutation({ + query: ({ id }) => ({ url: `webhooks/${id}`, method: 'DELETE' }), + invalidatesTags + }), + modifyLabelWebhook: build.mutation({ + query: ({ id, body }) => ({ url: `webhooks/${id}/label`, method: 'PATCH', body }), + invalidatesTags: (result, error, arg) => { + if (error) { + return []; + } + return [{ type: ApiTags.Webhooks, id: arg.id }]; + } + }), + modifyIgnoreHostWebhook: build.mutation< + WebhookSingleResponse, + { id: string; body: ModifyWebhookIgnoreHostRequest } + >({ + query: ({ id, body }) => ({ url: `webhooks/${id}/ignore-host`, method: 'PATCH', body }), + invalidatesTags: (result, error, arg) => { + if (error) { + return []; + } + return [{ type: ApiTags.Webhooks, id: arg.id }]; + } + }) + }; + } +}); + +export const { + useGetWebhooksQuery, + useDeleteWebhookMutation, + useCreateWebhookMutation, + useModifyLabelWebhookMutation, + useModifyIgnoreHostWebhookMutation +} = webhooksApi; diff --git a/server/web/src/constants/api/actionFilterQueryParamNames.ts b/server/web/src/constants/api/actionFilterQueryParamNames.ts new file mode 100644 index 0000000..05f55df --- /dev/null +++ b/server/web/src/constants/api/actionFilterQueryParamNames.ts @@ -0,0 +1,8 @@ +enum ActionFilterQueryParamNames { + PAGE = 'page', + PAGE_SIZE = 'pageSize', + ORDER = 'order', + ORDER_BY = 'orderBy' +} + +export default ActionFilterQueryParamNames; diff --git a/server/web/src/constants/api/actionInvocationFilterQueryParamNames.ts b/server/web/src/constants/api/actionInvocationFilterQueryParamNames.ts new file mode 100644 index 0000000..49d4e84 --- /dev/null +++ b/server/web/src/constants/api/actionInvocationFilterQueryParamNames.ts @@ -0,0 +1,8 @@ +enum ActionInvocationFilterQueryParamNames { + PAGE = 'page', + PAGE_SIZE = 'pageSize', + ORDER = 'order', + ORDER_BY = 'orderBy' +} + +export default ActionInvocationFilterQueryParamNames; diff --git a/server/web/src/constants/api/actionInvocationOrder.ts b/server/web/src/constants/api/actionInvocationOrder.ts new file mode 100644 index 0000000..781c154 --- /dev/null +++ b/server/web/src/constants/api/actionInvocationOrder.ts @@ -0,0 +1,6 @@ +enum ActionInvocationOrder { + DESC = 'desc', + ASC = 'asc' +} + +export default ActionInvocationOrder; diff --git a/server/web/src/constants/api/actionInvocationOrderBy.ts b/server/web/src/constants/api/actionInvocationOrderBy.ts new file mode 100644 index 0000000..0aff184 --- /dev/null +++ b/server/web/src/constants/api/actionInvocationOrderBy.ts @@ -0,0 +1,9 @@ +enum ActionInvocationOrderBy { + ID = 'id', + STATE = 'state', + RETRY_COUNT = 'retry_count', + CREATED_AT = 'created_at', + UPDATED_AT = 'updated_at' +} + +export default ActionInvocationOrderBy; diff --git a/server/web/src/constants/api/actionOrder.ts b/server/web/src/constants/api/actionOrder.ts new file mode 100644 index 0000000..c6ace87 --- /dev/null +++ b/server/web/src/constants/api/actionOrder.ts @@ -0,0 +1,6 @@ +enum ActionOrder { + DESC = 'desc', + ASC = 'asc' +} + +export default ActionOrder; diff --git a/server/web/src/constants/api/actionOrderBy.ts b/server/web/src/constants/api/actionOrderBy.ts new file mode 100644 index 0000000..b5db2bd --- /dev/null +++ b/server/web/src/constants/api/actionOrderBy.ts @@ -0,0 +1,9 @@ +enum ActionOrderBy { + ID = 'id', + LABEL = 'label', + TYPE = 'type', + CREATED_AT = 'created_at', + UPDATED_AT = 'updated_at' +} + +export default ActionOrderBy; diff --git a/server/web/src/constants/api/eventFilterQueryParamNames.ts b/server/web/src/constants/api/eventFilterQueryParamNames.ts new file mode 100644 index 0000000..c357ac3 --- /dev/null +++ b/server/web/src/constants/api/eventFilterQueryParamNames.ts @@ -0,0 +1,8 @@ +enum EventFilterQueryParamNames { + SIZE = 'size', + SKIP = 'skip', + ORDER = 'order', + ORDER_BY = 'orderBy' +} + +export default EventFilterQueryParamNames; diff --git a/server/web/src/constants/api/eventOrder.ts b/server/web/src/constants/api/eventOrder.ts new file mode 100644 index 0000000..4ec9a5f --- /dev/null +++ b/server/web/src/constants/api/eventOrder.ts @@ -0,0 +1,6 @@ +enum EventOrder { + DESC = 'desc', + ASC = 'asc' +} + +export default EventOrder; diff --git a/server/web/src/constants/api/eventOrderBy.ts b/server/web/src/constants/api/eventOrderBy.ts new file mode 100644 index 0000000..2fbe1d6 --- /dev/null +++ b/server/web/src/constants/api/eventOrderBy.ts @@ -0,0 +1,8 @@ +enum EventOrderBy { + ID = 'id', + NAME = 'name', + CREATED_AT = 'created_at', + UPDATED_AT = 'updated_at' +} + +export default EventOrderBy; diff --git a/server/web/src/constants/api/updateFilterQueryParamNames.ts b/server/web/src/constants/api/updateFilterQueryParamNames.ts new file mode 100644 index 0000000..8bd4760 --- /dev/null +++ b/server/web/src/constants/api/updateFilterQueryParamNames.ts @@ -0,0 +1,11 @@ +enum UpdateFilterQueryParamNames { + PAGE = 'page', + PAGE_SIZE = 'pageSize', + ORDER = 'order', + ORDER_BY = 'orderBy', + STATE = 'state', + SEARCH_TERM = 'searchTerm', + SEARCH_IN = 'searchIn' +} + +export default UpdateFilterQueryParamNames; diff --git a/server/web/src/constants/api/updateOrder.ts b/server/web/src/constants/api/updateOrder.ts new file mode 100644 index 0000000..bc1a7c8 --- /dev/null +++ b/server/web/src/constants/api/updateOrder.ts @@ -0,0 +1,6 @@ +enum UpdateOrder { + DESC = 'desc', + ASC = 'asc' +} + +export default UpdateOrder; diff --git a/server/web/src/constants/api/updateOrderBy.ts b/server/web/src/constants/api/updateOrderBy.ts new file mode 100644 index 0000000..71fafea --- /dev/null +++ b/server/web/src/constants/api/updateOrderBy.ts @@ -0,0 +1,10 @@ +enum UpdateOrderBy { + ID = 'id', + CREATED_AT = 'created_at', + UPDATED_AT = 'updated_at', + APPLICATION = 'application', + PROVIDER = 'provider', + HOST = 'host' +} + +export default UpdateOrderBy; diff --git a/server/web/src/constants/api/updateSearchIn.ts b/server/web/src/constants/api/updateSearchIn.ts new file mode 100644 index 0000000..2738fad --- /dev/null +++ b/server/web/src/constants/api/updateSearchIn.ts @@ -0,0 +1,7 @@ +enum UpdateSearchIn { + APPLICATION = 'application', + PROVIDER = 'provider', + HOST = 'host' +} + +export default UpdateSearchIn; diff --git a/server/web/src/constants/api/webhookFilterQueryParamNames.ts b/server/web/src/constants/api/webhookFilterQueryParamNames.ts new file mode 100644 index 0000000..aa4d6b4 --- /dev/null +++ b/server/web/src/constants/api/webhookFilterQueryParamNames.ts @@ -0,0 +1,8 @@ +enum WebhookFilterQueryParamNames { + PAGE = 'page', + PAGE_SIZE = 'pageSize', + ORDER = 'order', + ORDER_BY = 'orderBy' +} + +export default WebhookFilterQueryParamNames; diff --git a/server/web/src/constants/api/webhookOrder.ts b/server/web/src/constants/api/webhookOrder.ts new file mode 100644 index 0000000..1cfb7c9 --- /dev/null +++ b/server/web/src/constants/api/webhookOrder.ts @@ -0,0 +1,6 @@ +enum WebhookOrder { + DESC = 'desc', + ASC = 'asc' +} + +export default WebhookOrder; diff --git a/server/web/src/constants/api/webhookOrderBy.ts b/server/web/src/constants/api/webhookOrderBy.ts new file mode 100644 index 0000000..474b4e4 --- /dev/null +++ b/server/web/src/constants/api/webhookOrderBy.ts @@ -0,0 +1,9 @@ +enum WebhookOrderBy { + ID = 'id', + CREATED_AT = 'created_at', + UPDATED_AT = 'updated_at', + LABEL = 'label', + TYPE = 'type' +} + +export default WebhookOrderBy; diff --git a/server/web/src/constants/apiErrorCodes.ts b/server/web/src/constants/apiErrorCodes.ts new file mode 100644 index 0000000..cc332c8 --- /dev/null +++ b/server/web/src/constants/apiErrorCodes.ts @@ -0,0 +1,7 @@ +enum ApiErrorCodes { + NOT_FOUND = 'NotFound', + FORBIDDEN = 'Forbidden', + CONFLICT = 'Conflict', + ILLEGAL_ARGUMENT = 'IllegalArgument' +} +export default ApiErrorCodes; diff --git a/server/web/src/constants/apiTags.ts b/server/web/src/constants/apiTags.ts new file mode 100644 index 0000000..87c22b2 --- /dev/null +++ b/server/web/src/constants/apiTags.ts @@ -0,0 +1,11 @@ +enum ApiTags { + Health = 'Health', + Info = 'Info', + Updates = 'Updates', + Webhooks = 'Webhooks', + Secrets = 'Secrets', + Actions = 'Actions', + ActionInvocations = 'ActionInvocations', + Events = 'Events' +} +export default ApiTags; diff --git a/server/web/src/constants/appPathParamNames.ts b/server/web/src/constants/appPathParamNames.ts new file mode 100644 index 0000000..c0af106 --- /dev/null +++ b/server/web/src/constants/appPathParamNames.ts @@ -0,0 +1,5 @@ +enum AppPathParamNames { + UPDATE_ID = 'id' +} + +export default AppPathParamNames; diff --git a/server/web/src/constants/appPaths.ts b/server/web/src/constants/appPaths.ts new file mode 100644 index 0000000..87eb3aa --- /dev/null +++ b/server/web/src/constants/appPaths.ts @@ -0,0 +1,12 @@ +enum AppPaths { + HOME = '', + LOGIN = 'login', + UPDATES = 'updates', + WEBHOOKS = 'webhooks', + SECRETS = 'secrets', + ACTIONS = 'actions', + ACTION_INVOCATIONS = 'action-invocations', + EVENTS = 'events' +} + +export default AppPaths; diff --git a/server/web/src/constants/httpStatusCode.ts b/server/web/src/constants/httpStatusCode.ts new file mode 100644 index 0000000..31af135 --- /dev/null +++ b/server/web/src/constants/httpStatusCode.ts @@ -0,0 +1,7 @@ +enum HttpStatusCode { + STATUS_400 = 400, + STATUS_401 = 401, + STATUS_403 = 403, + STATUS_404 = 404 +} +export default HttpStatusCode; diff --git a/server/web/src/constants/localStorageKeys.ts b/server/web/src/constants/localStorageKeys.ts new file mode 100644 index 0000000..c267cb0 --- /dev/null +++ b/server/web/src/constants/localStorageKeys.ts @@ -0,0 +1 @@ +export const STORE = 'persisted_store'; diff --git a/server/web/src/constants/pagination.ts b/server/web/src/constants/pagination.ts new file mode 100644 index 0000000..6ff246b --- /dev/null +++ b/server/web/src/constants/pagination.ts @@ -0,0 +1,5 @@ +export const PAGE_SIZE_DEFAULT = 15; +export const PAGE_DEFAULT = 1; +export const PAGE_DEFAULT_OPTIONS = ['5', '10', '15', '25', '50', '100', '200', '500']; +export const SIZE_DEFAULT = 15; +export const SKIP_DEFAULT = 0; diff --git a/server/web/src/getConfiguration.ts b/server/web/src/getConfiguration.ts new file mode 100644 index 0000000..7f5d57d --- /dev/null +++ b/server/web/src/getConfiguration.ts @@ -0,0 +1,29 @@ +declare global { + interface Window { + runtime_config: Configuration; + } +} + +interface Configuration { + VITE_API_URL: string; + VITE_APP_TITLE: string; +} + +/** + * Derive configuration values depending on environment: + * - load from process.env in case of development + * - load from window object otherwise + * + * development check must be fully written as isDevelopment uses configuration itself + */ +const getConfiguration = (): Configuration => { + if (window && window.runtime_config && Object.keys(window.runtime_config).length > 0) { + return window.runtime_config; + } else if (import.meta.env.DEV) { + return import.meta.env as unknown as Configuration; + } + + throw new Error('Cannot bootstrap configuration from window or environment'); +}; + +export default getConfiguration; diff --git a/server/web/src/i18n/index.ts b/server/web/src/i18n/index.ts new file mode 100644 index 0000000..f27922b --- /dev/null +++ b/server/web/src/i18n/index.ts @@ -0,0 +1,34 @@ +import i18next from 'i18next'; +import LanguageDetector from 'i18next-browser-languagedetector'; +import { initReactI18next } from 'react-i18next'; + +import en from './translations/en.json'; + +const resources = { + en: { + ...en + } +}; + +i18next + .use(initReactI18next) + .use(LanguageDetector) + .init( + { + resources, + lng: 'en', + fallbackLng: 'en', + debug: import.meta.env.DEV, + interpolation: { + escapeValue: false // not needed for react as it escapes by default + }, + defaultNS: 'common', + fallbackNS: 'common', + detection: { + order: ['navigator'] + } + }, + undefined + ); + +export default i18next; diff --git a/server/web/src/i18n/translations/en.json b/server/web/src/i18n/translations/en.json new file mode 100644 index 0000000..00c3800 --- /dev/null +++ b/server/web/src/i18n/translations/en.json @@ -0,0 +1,464 @@ +{ + "version": { + "version": "Version", + "number": "4.0.0" + }, + "common": { + "404_title": "Not found.", + "404": "The page you've requested doesn't exist.", + "back_home": "Go back", + "home": "Home", + "login": "Login", + "updates": "Updates", + "webhooks": "Webhooks", + "actions": "Actions", + "action_invocations": "Action History", + "secrets": "Secrets", + "events": "Events", + "logout": "Logout" + }, + "auth": { + "loading": "Loading..." + }, + "health": { + "reload": "Reload", + "generic_error_title": "Services unhealthy", + "generic_error_content": "Health check failed, please try again later." + }, + "login": { + "title": "Login", + "username": "Username", + "password": "Password", + "username_required": "Username is required", + "password_required": "Password is required", + "submit": "Submit", + "reset": "Reset", + "unauthorized": "Username or password are incorrect.", + "default_message": "Error while logging in." + }, + "update": { + "handle_pending": "Recently updated", + "created_at": "Created on {{created}}", + "created_at_diff": "Updated on {{updated}}, but initially submitted on {{created}}", + "help_approve": "Approve", + "help_ignore": "Ignore", + "help_pending": "Reset to pending", + "help_details": "Show details", + "help_delete": "Delete", + "version": "Version", + "provider": "Provider", + "host": "Host", + "metadata": "Metadata", + "state": "State", + "created": "Created", + "updated": "Updated", + "delete_title": "Are you sure to delete? Cannot be undone.", + "delete": "Delete", + "cancel": "Cancel", + "error_default_delete": "Unable to delete update. Please make sure your device has network connection.", + "error_default_modify_state": "Unable to modify update. Please make sure your device has network connection.", + "error_unable_delete": "Resource cannot be found. Unable to delete update. Please refresh the page.", + "error_unable_modify_state": "Resource cannot be found. Unable to modify update. Please refresh the page.", + "error_unauthorized_delete": "Unable to delete update. Please refresh this page.", + "error_unauthorized_modify_state": "Unable to modify update. Please refresh this page.", + "error_forbidden_delete": "Forbidden to delete update.", + "error_forbidden_modify_state": "Forbidden to modify update." + }, + "update_state_tag": { + "state_pending": "Pending", + "state_ignored": "Ignored", + "state_approved": "Approved" + }, + "updates_single": { + "default_loading_error_message": "Unable to load update. Please make sure your device has network connection.", + "no_update": "No update found.", + "title_parent": "Updates", + "title": "Update Details", + "state": "State", + "application": "Application", + "version": "Version", + "host": "Host", + "provider": "Provider", + "metadata": "Metadata", + "created": "Created", + "updated": "Updated" + }, + "updates": { + "title": "Updates", + "help": "Updates track information about externally reported data regarding an application, host, provider and a version attribute. You can manage an Update's status by transitioning it through different states like pending or ignored. On arrival of new information through Webhooks, an Update changes its version property or attached metadata attribute and creates an Event. In case identical information is submitted, an Event is still produced. When an Update's state is not pending, such a modification resets the update's state to pending again. If an Update is set to be ignored, no information is updated.", + "auto_refresh": "Auto Refresh", + "on": "On", + "off": "Off", + "reload_tooltip": "Reload all updates", + "reload": "Reload", + "no_updates": "No updates found.", + "error_default_loading": "Unable to load updates. Please make sure your device has network connection." + }, + "updates_filters": { + "filters": "Filters", + "state": "State", + "state_placeholder": "Select state(s)", + "state_pending": "Pending", + "state_ignored": "Ignored", + "state_approved": "Approved", + "order_by": "Order by", + "order_by_id": "ID", + "order_by_created_at": "Created", + "order_by_updated_at": "Updated", + "order_by_application": "Application", + "order_by_provider": "Provider", + "order_by_host": "Host", + "order_asc": "Ascending", + "order_desc": "Descending", + "search_term": "Search", + "search_term_placeholder": "What are you looking for?", + "search_in": "Search in", + "search_in_application": "Application", + "search_in_provider": "Provider", + "search_in_host": "Host" + }, + "webhook": { + "created_at": "Created on {{created}}", + "created_at_diff": "Updated on {{updated}}, but initially submitted on {{created}}", + "delete_title": "Are you sure to delete? Cannot be undone.", + "delete": "Delete", + "cancel": "Cancel", + "url": "URL", + "label": "Label", + "help_delete": "Delete", + "ignore_host": "Ignore host", + "type": "Type", + "type_generic": "Generic", + "type_diun": "Diun", + "created": "Created", + "updated": "Updated", + "error_default_delete": "Unable to delete webhook. Please make sure your device has network connection.", + "error_default_update_label": "Unable to update webhook label. Please make sure your device has network connection.", + "error_default_update_ignore_host": "Unable to update webhook ignore host. Please make sure your device has network connection.", + "error_unable_delete": "Resource cannot be found. Unable to delete webhook. Please refresh the page.", + "error_unable_update_label": "Resource cannot be found. Unable to update webhook label. Please refresh this page.", + "error_unable_update_ignore_host": "Resource cannot be found. Unable to update webhook ignore host. Please refresh this page.", + "error_forbidden_delete": "Forbidden to delete webhook.", + "error_forbidden_update_label": "Forbidden to update label.", + "error_forbidden_update_ignore_host": "Forbidden to update ignore host.", + "error_unauthorized_delete": "Unable to delete webhook. Please refresh this page.", + "error_unauthorized_update_label": "Unable to update webhook label. Please refresh this page.", + "error_unauthorized_update_ignore_host": "Unable to update webhook ignore host. Please refresh this page." + }, + "webhooks": { + "title": "Webhooks", + "help": "Webhooks allow to submit new or modify existing Updates from an external source such as a commandline tool or another application with the help of a unique URL. On submission of new information via Webhook, upda keeps track of changes. By creating multiple Webhooks, you can submit information from separate applications into upda.", + "auto_refresh": "Auto Refresh", + "on": "On", + "off": "Off", + "no_webhooks": "No webhooks yet. Create one?", + "reload_tooltip": "Reload all webhooks", + "error_default_loading": "Unable to load webhooks. Please make sure your device has network connection." + }, + "webhooks_filters": { + "order_by": "Order by", + "order_by_id": "ID", + "order_by_created_at": "Created", + "order_by_updated_at": "Updated", + "order_by_label": "Label", + "order_by_type": "Type", + "order_asc": "Ascending", + "order_desc": "Descending" + }, + "webhook_create": { + "create": "Create new webhook", + "label": "Label", + "label_placeholder": "A label", + "type": "Type", + "type_generic": "Generic", + "type_diun": "Diun", + "ignore_host": "Ignore host", + "label_required": "Label is required", + "label_size": "Label must be at least 1 and at most 255 characters long", + "submit": "Submit", + "created_title": "Webhook created", + "created_message": "Webhook is ready to use. Write down the token, you'll not see it again:

{{token}}", + "error_unable": "Unable to create webhook. Please refresh this page.", + "error_unauthorized": "Unable to create webhook. Please refresh this page.", + "error_forbidden": "Forbidden to create webhook.", + "error_bad_request": "Invalid input. Unable to create webhook.", + "error_default": "Unable to create webhook. Please make sure your device has network connection." + }, + "secrets": { + "title": "Secrets", + "help": "Secrets protect sensitive information. They can be used when managing Actions and are automatically injected when defined Actions are executed.", + "no_secrets": "No secrets yet. Create one?", + "reload_tooltip": "Reload all secrets", + "error_default_loading": "Unable to load secrets. Please make sure your device has network connection.", + "col_key": "Key", + "col_value": "Value", + "col_created_at": "Created", + "col_updated_at": "Updated", + "actions": "Actions" + }, + "secret_create": { + "create": "Create new secret", + "key": "Key", + "key_placeholder": "Unique identifier", + "key_required": "Key is required", + "key_size": "Key must be at least 1 and at most 255 characters long", + "value": "Value", + "value_placeholder": "A secret value", + "value_required": "Value is required", + "value_size": "Value must be at least 1 character long", + "submit": "Submit", + "created_title": "Secret created or updated", + "created_message": "Secret is ready to use. Remember its value, you'll not see it again:

{{value}}", + "error_unable": "Unable to create secret. Please refresh this page.", + "error_unauthorized": "Unable to create secret. Please refresh this page.", + "error_forbidden": "Forbidden to create secret.", + "error_bad_request": "Invalid input. Unable to create secret.", + "error_default": "Unable to create secret. Please make sure your device has network connection." + }, + "secret_update_value": { + "placeholder": "***REDACTED***", + "error_default_update_value": "Unable to update secret value. Please make sure your device has network connection.", + "error_unable_update_value": "Resource cannot be found. Unable to update secret value. Please refresh this page.", + "error_forbidden_update_value": "Forbidden to update value.", + "error_unauthorized_update_value": "Unable to update secret value. Please refresh this page." + }, + "secret_delete": { + "delete_title": "Are you sure to delete? Cannot be undone.", + "delete": "Delete", + "cancel": "Cancel", + "help_delete": "Delete", + "error_default_delete": "Unable to delete secret. Please make sure your device has network connection.", + "error_unable_delete": "Resource cannot be found. Unable to delete secret. Please refresh the page.", + "error_forbidden_delete": "Forbidden to delete secret.", + "error_unauthorized_delete": "Unable to delete secret. Please refresh this page." + }, + "action_invocations": { + "title": "Action History", + "help": "Shows enqueued (created), running and past invocations of Actions.", + "auto_refresh": "Auto Refresh", + "on": "On", + "off": "Off", + "no_action_invocations": "No action history yet.", + "reload_tooltip": "Reload action history", + "error_default_loading": "Unable to load action history. Please make sure your device has network connection.", + "col_state": "State", + "col_retry_count": "Attempt(s)", + "col_created_at": "Created", + "col_updated_at": "Updated", + "state_success": "Success", + "state_error": "Error", + "state_created": "Created", + "state_retrying": "Retrying", + "state_running": "Running", + "state_success_description": "This action has run successfully.", + "state_error_description": "This action produced an error. It won't be retried again.", + "state_created_description": "This action has been enqueued and is going to be processed in order.", + "state_running_description": "This action is currently running.", + "state_retrying_description": "This action failed previously, but is going to be retried until maximum attempts are exceeded." + }, + "action_invocation_delete": { + "delete_title": "Are you sure to delete? Cannot be undone.", + "delete": "Delete", + "cancel": "Cancel", + "help_delete": "Delete", + "error_default_delete": "Unable to delete action history item. Please make sure your device has network connection.", + "error_unable_delete": "Resource cannot be found. Unable to delete action history item. Please refresh the page.", + "error_forbidden_delete": "Forbidden to delete action history item.", + "error_unauthorized_delete": "Unable to delete action history item. Please refresh this page." + }, + "action_invocation_item": { + "message": "Message", + "action": "Action", + "label": "Label", + "type": "Type", + "event": "Event", + "name": "Name", + "error_default_loading_action": "Cannot load referenced action", + "error_default_loading_event": "Cannot load referenced event", + "reload_tooltip": "Reload", + "reload_text": "Try again" + }, + "actions": { + "title": "Actions", + "help": "Actions are used to take action, e.g., call an external tool when an Event occurs. It can also be as simple as sending a notification to a service.", + "auto_refresh": "Auto Refresh", + "on": "On", + "off": "Off", + "no_actions": "No actions yet. Create one?", + "reload_tooltip": "Reload all actions", + "error_default_loading": "Unable to load actions. Please make sure your device has network connection.", + "col_label": "Label", + "col_enabled": "Enabled", + "col_type": "Type", + "col_created_at": "Created", + "col_updated_at": "Updated" + }, + "action_item": { + "match_event": "Event", + "match_application": "Application", + "match_host": "Host", + "match_provider": "Provider", + "payload": "Configuration" + }, + "action_create": { + "all": "all", + "create": "Create new action", + "label": "Label", + "label_help": "A label for you to identify", + "label_placeholder": "A label", + "label_required": "Label is required", + "label_size": "Label must be at least 1 and at most 255 characters long", + "match_event": "Event", + "match_event_help": "The action is triggered, when the event matches. If left blank, any event runs the action.", + "match_application": "Application", + "match_application_help": "The action is triggered, when the application matches. If left blank, any application runs the action.", + "match_provider": "Provider", + "match_provider_help": "The action is triggered, when the provider matches. If left blank, any provider runs the action.", + "match_host": "Host", + "match_host_help": "The action is triggered, when the host matches. If left blank, any host runs the action.", + "enabled_label": "Enabled", + "enabled_help": "Disabled actions won't run, even for new incoming events. This mechanism allows you can to configure and test an action before putting it live.", + "yes": "Yes", + "no": "No", + "submit": "Submit", + "error_unable": "Unable to create action. Please refresh this page.", + "error_unauthorized": "Unable to create action. Please refresh this page.", + "error_forbidden": "Forbidden to create action.", + "error_bad_request": "Invalid input. Unable to create action.", + "error_default": "Unable to create action. Please make sure your device has network connection." + }, + "action_form_type": { + "type_label": "Type", + "type_help": "Changing the action's type also changes the required configuration", + "shoutrrr": "shoutrrr" + }, + "action_form_shoutrrrr": { + "url": "URL", + "url_help": "shoutrrr URL according to https://containrrr.dev/shoutrrr/latest/services/overview/", + "urls_placeholder": "shoutrrr URL", + "urls_validate_minimum": "At least one URL is required", + "urls_validate_not_blank": "Provide an URL or delete this URL field", + "urls_new": "New URL", + "type_label": "Type", + "body_label": "Body", + "body_help": "Define the message which is being delivered. You can use the ... and ... syntax to inject dynamic content.", + "body_placeholder": "Update arrived on HOST.", + "body_required": "Body is required", + "body_size": "Body must be at least one character long" + }, + "action_update_match_event": { + "error_default_update_value": "Unable to update match event. Please make sure your device has network connection.", + "error_unable_update_value": "Resource cannot be found. Unable to update match event. Please refresh this page.", + "error_forbidden_update_value": "Forbidden to update match event.", + "error_unauthorized_update_value": "Unable to update match event. Please refresh this page." + }, + "action_select_event": { + "all": "all", + "update_created": "Update created", + "update_updated": "Update changed", + "update_updated_state": "Update's state changed", + "update_updated_version": "Update's version changed", + "update_deleted": "Update deleted" + }, + "action_update_label": { + "error_default_update_value": "Unable to update label. Please make sure your device has network connection.", + "error_unable_update_value": "Resource cannot be found. Unable to update label. Please refresh this page.", + "error_forbidden_update_value": "Forbidden to update label.", + "error_unauthorized_update_value": "Unable to update label. Please refresh this page." + }, + "action_update_enabled": { + "error_default_update_value": "Unable to update enabled flag. Please make sure your device has network connection.", + "error_unable_update_value": "Resource cannot be found. Unable to update enabled flag. Please refresh this page.", + "error_forbidden_update_value": "Forbidden to update enabled flag.", + "error_unauthorized_update_value": "Unable to update enabled flag. Please refresh this page." + }, + "action_update_match_application": { + "all": "all match", + "error_default_update_value": "Unable to update match application. Please make sure your device has network connection.", + "error_unable_update_value": "Resource cannot be found. Unable to update match application. Please refresh this page.", + "error_forbidden_update_value": "Forbidden to update match application.", + "error_unauthorized_update_value": "Unable to update match application. Please refresh this page." + }, + "action_update_match_host": { + "all": "all match", + "error_default_update_value": "Unable to update match host. Please make sure your device has network connection.", + "error_unable_update_value": "Resource cannot be found. Unable to update match host. Please refresh this page.", + "error_forbidden_update_value": "Forbidden to update match host.", + "error_unauthorized_update_value": "Unable to update match host. Please refresh this page." + }, + "action_update_match_provider": { + "all": "all match", + "error_default_update_value": "Unable to update match provider. Please make sure your device has network connection.", + "error_unable_update_value": "Resource cannot be found. Unable to update match provider. Please refresh this page.", + "error_forbidden_update_value": "Forbidden to update match provider.", + "error_unauthorized_update_value": "Unable to update match provider. Please refresh this page." + }, + "action_update_payload": { + "update_type_and_payload": "Advanced configuration", + "submit": "Save", + "error_default_update_value": "Unable to update advanced configuration. Please make sure your device has network connection.", + "error_unable_update_value": "Resource cannot be found. Unable to update advanced configuration. Please refresh this page.", + "error_forbidden_update_value": "Forbidden to update value.", + "error_unauthorized_update_value": "Unable to update advanced configuration. Please refresh this page." + }, + "action_delete": { + "delete_title": "Are you sure to delete? Cannot be undone.", + "delete": "Delete", + "cancel": "Cancel", + "help_delete": "Delete", + "error_default_delete": "Unable to delete action. Please make sure your device has network connection.", + "error_unable_delete": "Resource cannot be found. Unable to delete action. Please refresh the page.", + "error_forbidden_delete": "Forbidden to delete action.", + "error_unauthorized_delete": "Unable to delete action. Please refresh this page." + }, + "action_test": { + "test": "Test", + "application": "Test Application", + "host": "Test Host", + "provider": "Test Provider", + "version": "Test Version", + "state": "Test State", + "tested_title_success": "Success", + "tested_message_success": "Action ran successfully.", + "tested_title_error": "Error", + "tested_message_error": "Action failed to run. Reason: {{reason}}", + "error_unable": "Unable to test action. Please refresh this page.", + "error_unauthorized": "Unable to test action. Please refresh this page.", + "error_forbidden": "Forbidden to test action.", + "error_bad_request": "Invalid input. Unable to test action.", + "error_default": "Unable to test action. Please make sure your device has network connection." + }, + "action_text_type": { + "shoutrrr": "shoutrrr" + }, + "events": { + "title": "Events", + "help": "Events represent the chronological order of what is going on in the system. You can see when and how an Update has changed.", + "auto_refresh": "Auto Refresh", + "on": "On", + "off": "Off", + "reload": "Reload", + "reload_tooltip": "Reload all updates", + "load_more": "Load more", + "no_events": "No events yet.", + "error_default_loading": "Unable to load events. Please make sure your device has network connection." + }, + "event": { + "name": "Name", + "help_delete": "Delete", + "delete_title": "Are you sure to delete? Cannot be undone.", + "delete": "Delete", + "cancel": "Cancel", + "error_default_delete": "Unable to delete event. Please make sure your device has network connection.", + "error_unable_delete": "Resource cannot be found. Unable to delete event. Please refresh the page.", + "error_forbidden_delete": "Forbidden to delete event.", + "error_unauthorized_delete": "Unable to delete event. Please refresh this page." + }, + "event_text": { + "update_created": "Update of application {{application}} on host {{host}} for provider {{provider}} with version {{version}} has been created.", + "update_updated": "Update of application {{application}} on host {{host}} for provider {{provider}} has been changed (version or metadata). Version: {{version}} (was {{versionPrior}}).", + "update_updated_state": "Update of application {{application}} on host {{host}} for provider {{provider}} changed its state to {{state}} (was {{statePrior}}).", + "update_updated_version": "Update of application {{application}} on host {{host}} for provider {{provider}} has been changed its version to {{version}} (was {{versionPrior}}).", + "update_deleted": "Update of application {{application}} on host {{host}} for provider {{provider}} with version {{version}} has been deleted." + } +} diff --git a/server/web/src/index.tsx b/server/web/src/index.tsx new file mode 100644 index 0000000..bc1bc0c --- /dev/null +++ b/server/web/src/index.tsx @@ -0,0 +1,22 @@ +import './i18n'; +import App from './App'; +import store from './store'; +import ReactDOM from 'react-dom/client'; +import { Provider } from 'react-redux'; +import { HashRouter as Router } from 'react-router-dom'; +import './style/app-theme.less'; + +const root = ReactDOM.createRoot(document.getElementById('root') as HTMLElement); + +root.render( + + {/* the waring below appears when using ant menu due to react strict mode. + * Using