From 0005f4a87b32292689bfa1a502dc623aa8f97b10 Mon Sep 17 00:00:00 2001 From: nikhila-aot Date: Fri, 7 Jun 2024 10:23:13 -0700 Subject: [PATCH] moved all this code to nr-site-registry --- backend/sites/.dockerignore | 6 - backend/sites/.eslintrc.js | 24 - backend/sites/.gitignore | 56 - backend/sites/.prettierrc | 5 - backend/sites/Dockerfile | 39 - backend/sites/Dockerfile-migrations-openshift | 25 - backend/sites/README.md | 73 - backend/sites/initDB.sh | 49 - backend/sites/local.Dockerfile | 32 - backend/sites/local_start.sh | 11 - backend/sites/nest-cli.json | 8 - backend/sites/package-lock.json | 18844 --- backend/sites/package.json | 91 - backend/sites/schema.graphql | 57 - backend/sites/src/app.controller.spec.ts | 22 - backend/sites/src/app.controller.ts | 21 - backend/sites/src/app.module.ts | 85 - backend/sites/src/app.service.ts | 11 - .../src/app/controllers/site.controller.ts | 42 - backend/sites/src/app/dto/recentView.dto.ts | 36 - .../src/app/dto/response/baseHttpResponse.ts | 10 - .../src/app/dto/response/fetchSiteResponse.ts | 51 - .../src/app/entities/bceRegionCd.entity.ts | 31 - .../src/app/entities/cityRegions.entity.ts | 21 - .../app/entities/classificationCd.entity.ts | 19 - .../src/app/entities/conditionsText.entity.ts | 50 - .../entities/contaminationClassCd.entity.ts | 23 - .../app/entities/docParticRoleCd.entity.ts | 19 - .../src/app/entities/eventClassCd.entity.ts | 19 - .../app/entities/eventParticRoleCd.entity.ts | 19 - .../src/app/entities/eventPartics.entity.ts | 82 - .../src/app/entities/eventTypeCd.entity.ts | 70 - .../sites/src/app/entities/events.entity.ts | 155 - .../src/app/entities/landHistories.entity.ts | 77 - .../src/app/entities/landUseCd.entity.ts | 27 - .../src/app/entities/ltoDownload.entity.ts | 46 - .../app/entities/ltoPrevDownload.entity.ts | 46 - .../sites/src/app/entities/mailout.entity.ts | 165 - .../src/app/entities/particRoleCd.entity.ts | 22 - .../src/app/entities/peopleOrgs.entity.ts | 146 - .../src/app/entities/planTable.entity.ts | 122 - .../src/app/entities/profileAnswers.entity.ts | 53 - .../app/entities/profileCategories.entity.ts | 73 - .../app/entities/profileQuestions.entity.ts | 96 - .../app/entities/profileSubmissions.entity.ts | 51 - .../src/app/entities/recentViews.entity.ts | 63 - .../src/app/entities/sisAddresses.entity.ts | 159 - .../src/app/entities/siteAssocs.entity.ts | 72 - .../siteContaminationClassXref.entity.ts | 67 - .../siteCrownLandContaminated.entity.ts | 68 - .../entities/siteCrownLandStatusCd.entity.ts | 24 - .../src/app/entities/siteDocPartics.entity.ts | 92 - .../sites/src/app/entities/siteDocs.entity.ts | 85 - .../app/entities/siteParticRoles.entity.ts | 58 - .../src/app/entities/sitePartics.entity.ts | 111 - .../entities/siteProfileLandUses.entity.ts | 51 - .../app/entities/siteProfileOwners.entity.ts | 59 - .../src/app/entities/siteProfiles.entity.ts | 372 - .../src/app/entities/siteRegistry.entity.ts | 46 - .../app/entities/siteRegistryModule.entity.ts | 193 - .../src/app/entities/siteRiskCd.entity.ts | 19 - .../src/app/entities/siteStaffs.entity.ts | 123 - .../src/app/entities/siteStatusCd.entity.ts | 24 - .../app/entities/siteSubdivisions.entity.ts | 78 - .../sites/src/app/entities/sites.entity.ts | 223 - .../src/app/entities/spatialRefSys.entity.ts | 35 - .../src/app/entities/subdivisions.entity.ts | 141 - .../src/app/entities/submissionCd.entity.ts | 26 - .../sites/src/app/mockData/site.mockData.ts | 121 - .../app/resolvers/dashboard.resolver.spec.ts | 103 - .../src/app/resolvers/dashboard.resolver.ts | 44 - .../src/app/resolvers/site.resolver.spec.ts | 146 - .../sites/src/app/resolvers/site.resolver.ts | 65 - .../app/services/dashboard.service.spec.ts | 143 - .../src/app/services/dashboard.service.ts | 71 - .../src/app/services/site.service.spec.ts | 135 - .../sites/src/app/services/site.service.ts | 152 - backend/sites/src/app/site.module.ts | 70 - backend/sites/src/app/utils/site.util.ts | 12 - backend/sites/src/main.ts | 13 - .../migrations/1711646316453-master-script.ts | 426 - .../migrations/1715628483959-master-script.ts | 22 - backend/sites/start.sh | 11 - backend/sites/test/app.e2e-spec.ts | 24 - backend/sites/test/jest-e2e.json | 9 - backend/sites/tsconfig.build.json | 4 - backend/sites/tsconfig.json | 21 - backend/sites/typeOrm.config.ts | 18 - etl/ReadMe.md | 124 - etl/debezium-jdbc/.classpath | 57 - etl/debezium-jdbc/.project | 34 - .../org.eclipse.core.resources.prefs | 3 - .../.settings/org.eclipse.jdt.apt.core.prefs | 2 - .../.settings/org.eclipse.jdt.core.prefs | 9 - .../.settings/org.eclipse.m2e.core.prefs | 4 - etl/debezium-jdbc/Dockerfile | 51 - .../InstallCert$SavingTrustManager.class | Bin 1289 -> 0 bytes etl/debezium-jdbc/InstallCert.class | Bin 8628 -> 0 bytes etl/debezium-jdbc/connect-log4j.properties | 42 - etl/debezium-jdbc/connect.password | 1 - etl/debezium-jdbc/connect_jaas.conf | 5 - etl/debezium-jdbc/dependency-reduced-pom.xml | 129 - etl/debezium-jdbc/lib/jts-core-1.19.0.jar | Bin 1103721 -> 0 bytes etl/debezium-jdbc/lib/jts-io-ora-1.19.0.jar | Bin 21234 -> 0 bytes .../lib/kafka-connect-jdbc-10.7.2.jar | Bin 278012 -> 0 bytes etl/debezium-jdbc/lib/sdoapi-11.2.0.jar | Bin 131530 -> 0 bytes etl/debezium-jdbc/lib/sdoutl-11.2.0.jar | Bin 168571 -> 0 bytes etl/debezium-jdbc/log4j.properties | 23 - etl/debezium-jdbc/pom.xml | 81 - .../kafka/connect/transform/ToUpperCase.java | 40 - etl/debezium-kafka/Dockerfile | 6 - etl/debezium-kafka/connect-log4j.properties | 67 - etl/debezium-kafka/log4j.properties | 67 - etl/debezium-postgis/15-3.3/Dockerfile | 51 - .../init-permissions.sh | 4 - .../15-3.3/postgresql.conf.sample | 16 - etl/docker-compose.yaml | 55 - etl/init.sql | 1888 - etl/local.env | 8 - etl/register-oracle-jdbc-sink-connector.json | 35 - etl/register-postgres-source-connector.json | 26 - etl/sample.env | 8 - frontend/Site/.dockerignore | 2 - frontend/Site/.gitignore | 24 - frontend/Site/Dockerfile | 31 - frontend/Site/README.md | 70 - frontend/Site/babel.config.js | 7 - frontend/Site/nginx.conf | 59 - frontend/Site/package-lock.json | 19317 --- frontend/Site/package.json | 79 - frontend/Site/public/favicon.ico | Bin 22486 -> 0 bytes frontend/Site/public/index.html | 44 - frontend/Site/public/logo192.png | Bin 5347 -> 0 bytes frontend/Site/public/logo512.png | Bin 9664 -> 0 bytes frontend/Site/public/manifest.json | 25 - frontend/Site/public/robots.txt | 3 - frontend/Site/src/App.css | 60 - frontend/Site/src/App.test.tsx | 23 - frontend/Site/src/App.tsx | 36 - frontend/Site/src/app/Store.ts | 26 - .../Site/src/app/auth/UserManagerSetting.ts | 17 - .../app/components/account/UserAccount.css | 68 - .../app/components/account/UserAccount.tsx | 103 - .../src/app/components/action/Actions.css | 40 - .../src/app/components/action/Actions.tsx | 22 - .../app/components/action/ActionsConfig.ts | 18 - .../src/app/components/action/IActions.ts | 14 - .../src/app/components/common/IChangeType.ts | 23 - .../Site/src/app/components/common/icon.ts | 71 - .../Site/src/app/components/form/Form.css | 91 - .../Site/src/app/components/form/Form.tsx | 119 - .../components/input-controls/IFormField.ts | 39 - .../input-controls/InputControls.tsx | 598 - .../components/language/LanguageSwitcher.css | 72 - .../components/language/LanguageSwitcher.tsx | 136 - .../components/modaldialog/ModalDialog.css | 86 - .../components/modaldialog/ModalDialog.tsx | 58 - .../src/app/components/navigation/Footer.css | 120 - .../src/app/components/navigation/Footer.tsx | 59 - .../src/app/components/navigation/Header.css | 164 - .../src/app/components/navigation/Header.tsx | 62 - .../components/navigation/MobileNavMenu.css | 80 - .../navigation/MobileNavMenu.test.tsx | 19 - .../components/navigation/MobileNavMenu.tsx | 62 - .../src/app/components/navigation/SideBar.css | 145 - .../components/navigation/SideBar.test.tsx | 19 - .../src/app/components/navigation/SideBar.tsx | 92 - .../app/components/navigation/dto/SideNav.ts | 57 - .../navigationpills/INavigationPills.ts | 6 - .../navigationpills/NavigationPills.css | 20 - .../navigationpills/NavigationPills.tsx | 37 - .../src/app/components/search/ISearchInput.ts | 6 - .../src/app/components/search/SearchInput.css | 43 - .../src/app/components/search/SearchInput.tsx | 29 - .../app/components/simple/CustomButtons.css | 55 - .../app/components/simple/CustomButtons.tsx | 42 - .../src/app/components/simple/CustomLabel.css | 42 - .../src/app/components/simple/CustomLabel.tsx | 23 - .../app/components/simple/PageContainer.css | 7 - .../app/components/simple/PageContainer.tsx | 19 - .../app/components/simple/PanelWithUpDown.tsx | 61 - .../Site/src/app/components/sort/ISort.ts | 8 - .../Site/src/app/components/sort/Sort.tsx | 17 - .../src/app/components/sort/SortConfig.ts | 19 - .../Site/src/app/components/table/Table.css | 197 - .../Site/src/app/components/table/Table.tsx | 68 - .../src/app/components/table/TableColumn.ts | 39 - .../app/components/table/body/TableBody.tsx | 246 - .../components/table/header/TableHeader.css | 46 - .../components/table/header/TableHeader.tsx | 50 - .../table/pagination/Pagination.css | 82 - .../table/pagination/Pagination.test.jsx | 62 - .../table/pagination/Pagination.tsx | 232 - .../Site/src/app/components/widget/IWidget.ts | 15 - .../Site/src/app/components/widget/Widget.css | 14 - .../Site/src/app/components/widget/Widget.tsx | 45 - frontend/Site/src/app/constants/Constant.ts | 3 - .../app/features/common/CommonDataSlice.ts | 19 - .../src/app/features/dashboard/Dashboard.css | 25 - .../app/features/dashboard/Dashboard.test.jsx | 29 - .../src/app/features/dashboard/Dashboard.tsx | 110 - .../features/dashboard/DashboardConfig.tsx | 177 - .../app/features/dashboard/DashboardSlice.ts | 64 - .../app/features/details/LabelComponent.css | 25 - .../app/features/details/LabelComponent.tsx | 21 - .../details/NavigationPillsConfig.tsx | 24 - .../src/app/features/details/SiteDetails.css | 136 - .../src/app/features/details/SiteDetails.tsx | 212 - .../src/app/features/details/SummaryForm.css | 16 - .../src/app/features/details/SummaryForm.tsx | 213 - .../features/details/dto/SiteDetailsMode.ts | 6 - .../features/details/notations/INotations.ts | 7 - .../features/details/notations/Notations.css | 131 - .../features/details/notations/Notations.tsx | 258 - .../details/notations/NotationsConfig.ts | 418 - .../app/features/details/summary/Summary.css | 12 - .../app/features/details/summary/Summary.tsx | 475 - .../Site/src/app/features/map/MapSearch.tsx | 9 - .../Site/src/app/features/site/Details.tsx | 9 - frontend/Site/src/app/features/site/Intro.css | 65 - .../Site/src/app/features/site/Intro.test.tsx | 36 - frontend/Site/src/app/features/site/Intro.tsx | 42 - .../Site/src/app/features/site/Search.css | 305 - .../src/app/features/site/Search.test.jsx | 35 - .../Site/src/app/features/site/Search.tsx | 343 - .../src/app/features/site/SearchResults.css | 0 .../app/features/site/SearchResults.test.jsx | 87 - .../src/app/features/site/SearchResults.tsx | 64 - .../src/app/features/site/columns/Column.css | 59 - .../src/app/features/site/columns/Column.tsx | 71 - .../Site/src/app/features/site/dto/Columns.ts | 271 - .../app/features/site/dto/DashboardState.ts | 12 - .../Site/src/app/features/site/dto/Site.ts | 24 - .../app/features/site/dto/SiteFilterConfig.ts | 230 - .../src/app/features/site/dto/SiteSlice.ts | 268 - .../src/app/features/site/dto/SiteState.ts | 26 - .../features/site/filters/SiteFilterForm.css | 55 - .../site/filters/SiteFilterForm.test.jsx | 68 - .../features/site/filters/SiteFilterForm.tsx | 121 - .../app/features/site/graphql/Dashboard.ts | 23 - .../src/app/features/site/graphql/Site.ts | 80 - frontend/Site/src/app/helpers/endpoints.ts | 3 - frontend/Site/src/app/helpers/envManager.ts | 5 - .../Site/src/app/helpers/requests/status.ts | 7 - .../Site/src/app/helpers/requests/userMode.ts | 6 - .../Site/src/app/helpers/requests/userType.ts | 4 - .../Site/src/app/helpers/sessionManager.ts | 20 - frontend/Site/src/app/helpers/utility.ts | 75 - frontend/Site/src/app/images/avatar.png | Bin 2774 -> 0 bytes frontend/Site/src/app/images/calendar.png | Bin 304 -> 0 bytes frontend/Site/src/app/images/dropdown.png | Bin 219 -> 0 bytes frontend/Site/src/app/images/logos/bcLogo.svg | 68 - .../src/app/images/logos/logo-banner-old.png | Bin 18325 -> 0 bytes .../Site/src/app/images/logos/logo-banner.png | Bin 7999 -> 0 bytes .../src/app/images/logos/logo-vertical.png | Bin 79259 -> 0 bytes .../Site/src/app/images/logos/logo-white.png | Bin 466023 -> 0 bytes frontend/Site/src/app/images/moon.png | Bin 338 -> 0 bytes .../Site/src/app/routes/ProtectedRoute.tsx | 23 - frontend/Site/src/app/routes/Routes.tsx | 23 - frontend/Site/src/declaration.d.ts | 1 - frontend/Site/src/index.css | 17 - frontend/Site/src/index.tsx | 29 - frontend/Site/src/logo.svg | 1 - frontend/Site/src/reportWebVitals.js | 13 - frontend/Site/src/setupTests.js | 5 - .../Site/src/utilities/test/TestUtils.tsx | 19 - frontend/Site/tsconfig.json | 21 - frontend/site-search/.eslintrc.cjs | 18 - frontend/site-search/.gitignore | 25 - frontend/site-search/Dockerfile | 32 - frontend/site-search/README.md | 27 - frontend/site-search/index.html | 13 - frontend/site-search/nginx.conf | 59 - frontend/site-search/package-lock.json | 5101 - frontend/site-search/package.json | 42 - frontend/site-search/public/vite.svg | 1 - frontend/site-search/src/App.css | 42 - frontend/site-search/src/App.tsx | 21 - frontend/site-search/src/api/dummy-data.tsx | 230 - frontend/site-search/src/api/sites.ts | 137 - frontend/site-search/src/assets/react.svg | 1 - .../site-search/src/components/Header.tsx | 63 - .../src/components/Highlighted.tsx | 42 - .../src/components/SiteRegistryIcon.tsx | 42 - .../src/features/map/MapDetailsPane.tsx | 69 - .../src/features/map/UpdateMapCentre.tsx | 9 - .../src/features/selection/selection.ts | 25 - .../features/simple-search/search-results.tsx | 56 - .../features/simple-search/search-toggle.tsx | 28 - .../features/simple-search/simple-search.ts | 39 - .../features/site-details/SiteGridItem.tsx | 60 - .../features/site-details/TableEditItem.tsx | 39 - .../features/site-details/activity-log.tsx | 30 - .../site-details/associated-sites.tsx | 64 - .../site-details/css/siteDetails.module.css | 11 - .../site-details/css/summary.module.css | 3 - .../src/features/site-details/documents.tsx | 90 - .../site-details/edit-mode/editModeSlice.ts | 24 - .../src/features/site-details/notations.tsx | 167 - .../site-details/parcel-description.tsx | 62 - .../features/site-details/participants.tsx | 71 - .../features/site-details/site-profile.tsx | 87 - .../site-details/sub-search/SubSearch.tsx | 33 - .../sub-search/subsearch.module.css | 4 - .../src/features/site-details/summary.tsx | 53 - .../site-details/suspect-land-uses.tsx | 58 - .../site-details/table/SiteDetailsTable.tsx | 162 - .../src/features/user/userSlice.ts | 23 - .../src/helpers/formatDateToString.ts | 3 - .../site-search/src/helpers/formatLatLng.ts | 8 - frontend/site-search/src/index.css | 70 - frontend/site-search/src/main.tsx | 93 - .../site-search/src/pages/advanced-search.tsx | 12 - frontend/site-search/src/pages/map.module.css | 60 - frontend/site-search/src/pages/map.tsx | 158 - frontend/site-search/src/pages/search.css | 33 - frontend/site-search/src/pages/search.tsx | 229 - .../src/pages/site-details.module.css | 91 - .../site-search/src/pages/site-details.tsx | 116 - .../src/scripts/dummy-data.sites.json | 108882 --------------- .../src/scripts/generate-dummy-data.ts | 29 - frontend/site-search/src/store.ts | 16 - frontend/site-search/src/vite-env.d.ts | 1 - frontend/site-search/tsconfig.json | 30 - frontend/site-search/tsconfig.node.json | 10 - frontend/site-search/vite.config.ts | 11 - ora2pg/README | 3495 - ora2pg/modify_geo.py | 44 - ora2pg/ora2pg.conf | 1382 - ora2pg/output_sis_ddl.sql | 1888 - ora2pg/rename_files.py | 28 - ora2pg/typeorm-model-generator.bat | 1 - 332 files changed, 180332 deletions(-) delete mode 100644 backend/sites/.dockerignore delete mode 100644 backend/sites/.eslintrc.js delete mode 100644 backend/sites/.gitignore delete mode 100644 backend/sites/.prettierrc delete mode 100644 backend/sites/Dockerfile delete mode 100644 backend/sites/Dockerfile-migrations-openshift delete mode 100644 backend/sites/README.md delete mode 100644 backend/sites/initDB.sh delete mode 100644 backend/sites/local.Dockerfile delete mode 100644 backend/sites/local_start.sh delete mode 100644 backend/sites/nest-cli.json delete mode 100644 backend/sites/package-lock.json delete mode 100644 backend/sites/package.json delete mode 100644 backend/sites/schema.graphql delete mode 100644 backend/sites/src/app.controller.spec.ts delete mode 100644 backend/sites/src/app.controller.ts delete mode 100644 backend/sites/src/app.module.ts delete mode 100644 backend/sites/src/app.service.ts delete mode 100644 backend/sites/src/app/controllers/site.controller.ts delete mode 100644 backend/sites/src/app/dto/recentView.dto.ts delete mode 100644 backend/sites/src/app/dto/response/baseHttpResponse.ts delete mode 100644 backend/sites/src/app/dto/response/fetchSiteResponse.ts delete mode 100644 backend/sites/src/app/entities/bceRegionCd.entity.ts delete mode 100644 backend/sites/src/app/entities/cityRegions.entity.ts delete mode 100644 backend/sites/src/app/entities/classificationCd.entity.ts delete mode 100644 backend/sites/src/app/entities/conditionsText.entity.ts delete mode 100644 backend/sites/src/app/entities/contaminationClassCd.entity.ts delete mode 100644 backend/sites/src/app/entities/docParticRoleCd.entity.ts delete mode 100644 backend/sites/src/app/entities/eventClassCd.entity.ts delete mode 100644 backend/sites/src/app/entities/eventParticRoleCd.entity.ts delete mode 100644 backend/sites/src/app/entities/eventPartics.entity.ts delete mode 100644 backend/sites/src/app/entities/eventTypeCd.entity.ts delete mode 100644 backend/sites/src/app/entities/events.entity.ts delete mode 100644 backend/sites/src/app/entities/landHistories.entity.ts delete mode 100644 backend/sites/src/app/entities/landUseCd.entity.ts delete mode 100644 backend/sites/src/app/entities/ltoDownload.entity.ts delete mode 100644 backend/sites/src/app/entities/ltoPrevDownload.entity.ts delete mode 100644 backend/sites/src/app/entities/mailout.entity.ts delete mode 100644 backend/sites/src/app/entities/particRoleCd.entity.ts delete mode 100644 backend/sites/src/app/entities/peopleOrgs.entity.ts delete mode 100644 backend/sites/src/app/entities/planTable.entity.ts delete mode 100644 backend/sites/src/app/entities/profileAnswers.entity.ts delete mode 100644 backend/sites/src/app/entities/profileCategories.entity.ts delete mode 100644 backend/sites/src/app/entities/profileQuestions.entity.ts delete mode 100644 backend/sites/src/app/entities/profileSubmissions.entity.ts delete mode 100644 backend/sites/src/app/entities/recentViews.entity.ts delete mode 100644 backend/sites/src/app/entities/sisAddresses.entity.ts delete mode 100644 backend/sites/src/app/entities/siteAssocs.entity.ts delete mode 100644 backend/sites/src/app/entities/siteContaminationClassXref.entity.ts delete mode 100644 backend/sites/src/app/entities/siteCrownLandContaminated.entity.ts delete mode 100644 backend/sites/src/app/entities/siteCrownLandStatusCd.entity.ts delete mode 100644 backend/sites/src/app/entities/siteDocPartics.entity.ts delete mode 100644 backend/sites/src/app/entities/siteDocs.entity.ts delete mode 100644 backend/sites/src/app/entities/siteParticRoles.entity.ts delete mode 100644 backend/sites/src/app/entities/sitePartics.entity.ts delete mode 100644 backend/sites/src/app/entities/siteProfileLandUses.entity.ts delete mode 100644 backend/sites/src/app/entities/siteProfileOwners.entity.ts delete mode 100644 backend/sites/src/app/entities/siteProfiles.entity.ts delete mode 100644 backend/sites/src/app/entities/siteRegistry.entity.ts delete mode 100644 backend/sites/src/app/entities/siteRegistryModule.entity.ts delete mode 100644 backend/sites/src/app/entities/siteRiskCd.entity.ts delete mode 100644 backend/sites/src/app/entities/siteStaffs.entity.ts delete mode 100644 backend/sites/src/app/entities/siteStatusCd.entity.ts delete mode 100644 backend/sites/src/app/entities/siteSubdivisions.entity.ts delete mode 100644 backend/sites/src/app/entities/sites.entity.ts delete mode 100644 backend/sites/src/app/entities/spatialRefSys.entity.ts delete mode 100644 backend/sites/src/app/entities/subdivisions.entity.ts delete mode 100644 backend/sites/src/app/entities/submissionCd.entity.ts delete mode 100644 backend/sites/src/app/mockData/site.mockData.ts delete mode 100644 backend/sites/src/app/resolvers/dashboard.resolver.spec.ts delete mode 100644 backend/sites/src/app/resolvers/dashboard.resolver.ts delete mode 100644 backend/sites/src/app/resolvers/site.resolver.spec.ts delete mode 100644 backend/sites/src/app/resolvers/site.resolver.ts delete mode 100644 backend/sites/src/app/services/dashboard.service.spec.ts delete mode 100644 backend/sites/src/app/services/dashboard.service.ts delete mode 100644 backend/sites/src/app/services/site.service.spec.ts delete mode 100644 backend/sites/src/app/services/site.service.ts delete mode 100644 backend/sites/src/app/site.module.ts delete mode 100644 backend/sites/src/app/utils/site.util.ts delete mode 100644 backend/sites/src/main.ts delete mode 100644 backend/sites/src/migrations/1711646316453-master-script.ts delete mode 100644 backend/sites/src/migrations/1715628483959-master-script.ts delete mode 100644 backend/sites/start.sh delete mode 100644 backend/sites/test/app.e2e-spec.ts delete mode 100644 backend/sites/test/jest-e2e.json delete mode 100644 backend/sites/tsconfig.build.json delete mode 100644 backend/sites/tsconfig.json delete mode 100644 backend/sites/typeOrm.config.ts delete mode 100644 etl/ReadMe.md delete mode 100644 etl/debezium-jdbc/.classpath delete mode 100644 etl/debezium-jdbc/.project delete mode 100644 etl/debezium-jdbc/.settings/org.eclipse.core.resources.prefs delete mode 100644 etl/debezium-jdbc/.settings/org.eclipse.jdt.apt.core.prefs delete mode 100644 etl/debezium-jdbc/.settings/org.eclipse.jdt.core.prefs delete mode 100644 etl/debezium-jdbc/.settings/org.eclipse.m2e.core.prefs delete mode 100644 etl/debezium-jdbc/Dockerfile delete mode 100644 etl/debezium-jdbc/InstallCert$SavingTrustManager.class delete mode 100644 etl/debezium-jdbc/InstallCert.class delete mode 100644 etl/debezium-jdbc/connect-log4j.properties delete mode 100644 etl/debezium-jdbc/connect.password delete mode 100644 etl/debezium-jdbc/connect_jaas.conf delete mode 100644 etl/debezium-jdbc/dependency-reduced-pom.xml delete mode 100644 etl/debezium-jdbc/lib/jts-core-1.19.0.jar delete mode 100644 etl/debezium-jdbc/lib/jts-io-ora-1.19.0.jar delete mode 100644 etl/debezium-jdbc/lib/kafka-connect-jdbc-10.7.2.jar delete mode 100644 etl/debezium-jdbc/lib/sdoapi-11.2.0.jar delete mode 100644 etl/debezium-jdbc/lib/sdoutl-11.2.0.jar delete mode 100644 etl/debezium-jdbc/log4j.properties delete mode 100644 etl/debezium-jdbc/pom.xml delete mode 100644 etl/debezium-jdbc/src/main/java/ca/bc/gov/epd/kafka/connect/transform/ToUpperCase.java delete mode 100644 etl/debezium-kafka/Dockerfile delete mode 100644 etl/debezium-kafka/connect-log4j.properties delete mode 100644 etl/debezium-kafka/log4j.properties delete mode 100644 etl/debezium-postgis/15-3.3/Dockerfile delete mode 100644 etl/debezium-postgis/15-3.3/docker-entrypoint-initdb.d/init-permissions.sh delete mode 100644 etl/debezium-postgis/15-3.3/postgresql.conf.sample delete mode 100644 etl/docker-compose.yaml delete mode 100644 etl/init.sql delete mode 100644 etl/local.env delete mode 100644 etl/register-oracle-jdbc-sink-connector.json delete mode 100644 etl/register-postgres-source-connector.json delete mode 100644 etl/sample.env delete mode 100644 frontend/Site/.dockerignore delete mode 100644 frontend/Site/.gitignore delete mode 100644 frontend/Site/Dockerfile delete mode 100644 frontend/Site/README.md delete mode 100644 frontend/Site/babel.config.js delete mode 100644 frontend/Site/nginx.conf delete mode 100644 frontend/Site/package-lock.json delete mode 100644 frontend/Site/package.json delete mode 100644 frontend/Site/public/favicon.ico delete mode 100644 frontend/Site/public/index.html delete mode 100644 frontend/Site/public/logo192.png delete mode 100644 frontend/Site/public/logo512.png delete mode 100644 frontend/Site/public/manifest.json delete mode 100644 frontend/Site/public/robots.txt delete mode 100644 frontend/Site/src/App.css delete mode 100644 frontend/Site/src/App.test.tsx delete mode 100644 frontend/Site/src/App.tsx delete mode 100644 frontend/Site/src/app/Store.ts delete mode 100644 frontend/Site/src/app/auth/UserManagerSetting.ts delete mode 100644 frontend/Site/src/app/components/account/UserAccount.css delete mode 100644 frontend/Site/src/app/components/account/UserAccount.tsx delete mode 100644 frontend/Site/src/app/components/action/Actions.css delete mode 100644 frontend/Site/src/app/components/action/Actions.tsx delete mode 100644 frontend/Site/src/app/components/action/ActionsConfig.ts delete mode 100644 frontend/Site/src/app/components/action/IActions.ts delete mode 100644 frontend/Site/src/app/components/common/IChangeType.ts delete mode 100644 frontend/Site/src/app/components/common/icon.ts delete mode 100644 frontend/Site/src/app/components/form/Form.css delete mode 100644 frontend/Site/src/app/components/form/Form.tsx delete mode 100644 frontend/Site/src/app/components/input-controls/IFormField.ts delete mode 100644 frontend/Site/src/app/components/input-controls/InputControls.tsx delete mode 100644 frontend/Site/src/app/components/language/LanguageSwitcher.css delete mode 100644 frontend/Site/src/app/components/language/LanguageSwitcher.tsx delete mode 100644 frontend/Site/src/app/components/modaldialog/ModalDialog.css delete mode 100644 frontend/Site/src/app/components/modaldialog/ModalDialog.tsx delete mode 100644 frontend/Site/src/app/components/navigation/Footer.css delete mode 100644 frontend/Site/src/app/components/navigation/Footer.tsx delete mode 100644 frontend/Site/src/app/components/navigation/Header.css delete mode 100644 frontend/Site/src/app/components/navigation/Header.tsx delete mode 100644 frontend/Site/src/app/components/navigation/MobileNavMenu.css delete mode 100644 frontend/Site/src/app/components/navigation/MobileNavMenu.test.tsx delete mode 100644 frontend/Site/src/app/components/navigation/MobileNavMenu.tsx delete mode 100644 frontend/Site/src/app/components/navigation/SideBar.css delete mode 100644 frontend/Site/src/app/components/navigation/SideBar.test.tsx delete mode 100644 frontend/Site/src/app/components/navigation/SideBar.tsx delete mode 100644 frontend/Site/src/app/components/navigation/dto/SideNav.ts delete mode 100644 frontend/Site/src/app/components/navigation/navigationpills/INavigationPills.ts delete mode 100644 frontend/Site/src/app/components/navigation/navigationpills/NavigationPills.css delete mode 100644 frontend/Site/src/app/components/navigation/navigationpills/NavigationPills.tsx delete mode 100644 frontend/Site/src/app/components/search/ISearchInput.ts delete mode 100644 frontend/Site/src/app/components/search/SearchInput.css delete mode 100644 frontend/Site/src/app/components/search/SearchInput.tsx delete mode 100644 frontend/Site/src/app/components/simple/CustomButtons.css delete mode 100644 frontend/Site/src/app/components/simple/CustomButtons.tsx delete mode 100644 frontend/Site/src/app/components/simple/CustomLabel.css delete mode 100644 frontend/Site/src/app/components/simple/CustomLabel.tsx delete mode 100644 frontend/Site/src/app/components/simple/PageContainer.css delete mode 100644 frontend/Site/src/app/components/simple/PageContainer.tsx delete mode 100644 frontend/Site/src/app/components/simple/PanelWithUpDown.tsx delete mode 100644 frontend/Site/src/app/components/sort/ISort.ts delete mode 100644 frontend/Site/src/app/components/sort/Sort.tsx delete mode 100644 frontend/Site/src/app/components/sort/SortConfig.ts delete mode 100644 frontend/Site/src/app/components/table/Table.css delete mode 100644 frontend/Site/src/app/components/table/Table.tsx delete mode 100644 frontend/Site/src/app/components/table/TableColumn.ts delete mode 100644 frontend/Site/src/app/components/table/body/TableBody.tsx delete mode 100644 frontend/Site/src/app/components/table/header/TableHeader.css delete mode 100644 frontend/Site/src/app/components/table/header/TableHeader.tsx delete mode 100644 frontend/Site/src/app/components/table/pagination/Pagination.css delete mode 100644 frontend/Site/src/app/components/table/pagination/Pagination.test.jsx delete mode 100644 frontend/Site/src/app/components/table/pagination/Pagination.tsx delete mode 100644 frontend/Site/src/app/components/widget/IWidget.ts delete mode 100644 frontend/Site/src/app/components/widget/Widget.css delete mode 100644 frontend/Site/src/app/components/widget/Widget.tsx delete mode 100644 frontend/Site/src/app/constants/Constant.ts delete mode 100644 frontend/Site/src/app/features/common/CommonDataSlice.ts delete mode 100644 frontend/Site/src/app/features/dashboard/Dashboard.css delete mode 100644 frontend/Site/src/app/features/dashboard/Dashboard.test.jsx delete mode 100644 frontend/Site/src/app/features/dashboard/Dashboard.tsx delete mode 100644 frontend/Site/src/app/features/dashboard/DashboardConfig.tsx delete mode 100644 frontend/Site/src/app/features/dashboard/DashboardSlice.ts delete mode 100644 frontend/Site/src/app/features/details/LabelComponent.css delete mode 100644 frontend/Site/src/app/features/details/LabelComponent.tsx delete mode 100644 frontend/Site/src/app/features/details/NavigationPillsConfig.tsx delete mode 100644 frontend/Site/src/app/features/details/SiteDetails.css delete mode 100644 frontend/Site/src/app/features/details/SiteDetails.tsx delete mode 100644 frontend/Site/src/app/features/details/SummaryForm.css delete mode 100644 frontend/Site/src/app/features/details/SummaryForm.tsx delete mode 100644 frontend/Site/src/app/features/details/dto/SiteDetailsMode.ts delete mode 100644 frontend/Site/src/app/features/details/notations/INotations.ts delete mode 100644 frontend/Site/src/app/features/details/notations/Notations.css delete mode 100644 frontend/Site/src/app/features/details/notations/Notations.tsx delete mode 100644 frontend/Site/src/app/features/details/notations/NotationsConfig.ts delete mode 100644 frontend/Site/src/app/features/details/summary/Summary.css delete mode 100644 frontend/Site/src/app/features/details/summary/Summary.tsx delete mode 100644 frontend/Site/src/app/features/map/MapSearch.tsx delete mode 100644 frontend/Site/src/app/features/site/Details.tsx delete mode 100644 frontend/Site/src/app/features/site/Intro.css delete mode 100644 frontend/Site/src/app/features/site/Intro.test.tsx delete mode 100644 frontend/Site/src/app/features/site/Intro.tsx delete mode 100644 frontend/Site/src/app/features/site/Search.css delete mode 100644 frontend/Site/src/app/features/site/Search.test.jsx delete mode 100644 frontend/Site/src/app/features/site/Search.tsx delete mode 100644 frontend/Site/src/app/features/site/SearchResults.css delete mode 100644 frontend/Site/src/app/features/site/SearchResults.test.jsx delete mode 100644 frontend/Site/src/app/features/site/SearchResults.tsx delete mode 100644 frontend/Site/src/app/features/site/columns/Column.css delete mode 100644 frontend/Site/src/app/features/site/columns/Column.tsx delete mode 100644 frontend/Site/src/app/features/site/dto/Columns.ts delete mode 100644 frontend/Site/src/app/features/site/dto/DashboardState.ts delete mode 100644 frontend/Site/src/app/features/site/dto/Site.ts delete mode 100644 frontend/Site/src/app/features/site/dto/SiteFilterConfig.ts delete mode 100644 frontend/Site/src/app/features/site/dto/SiteSlice.ts delete mode 100644 frontend/Site/src/app/features/site/dto/SiteState.ts delete mode 100644 frontend/Site/src/app/features/site/filters/SiteFilterForm.css delete mode 100644 frontend/Site/src/app/features/site/filters/SiteFilterForm.test.jsx delete mode 100644 frontend/Site/src/app/features/site/filters/SiteFilterForm.tsx delete mode 100644 frontend/Site/src/app/features/site/graphql/Dashboard.ts delete mode 100644 frontend/Site/src/app/features/site/graphql/Site.ts delete mode 100644 frontend/Site/src/app/helpers/endpoints.ts delete mode 100644 frontend/Site/src/app/helpers/envManager.ts delete mode 100644 frontend/Site/src/app/helpers/requests/status.ts delete mode 100644 frontend/Site/src/app/helpers/requests/userMode.ts delete mode 100644 frontend/Site/src/app/helpers/requests/userType.ts delete mode 100644 frontend/Site/src/app/helpers/sessionManager.ts delete mode 100644 frontend/Site/src/app/helpers/utility.ts delete mode 100644 frontend/Site/src/app/images/avatar.png delete mode 100644 frontend/Site/src/app/images/calendar.png delete mode 100644 frontend/Site/src/app/images/dropdown.png delete mode 100644 frontend/Site/src/app/images/logos/bcLogo.svg delete mode 100644 frontend/Site/src/app/images/logos/logo-banner-old.png delete mode 100644 frontend/Site/src/app/images/logos/logo-banner.png delete mode 100644 frontend/Site/src/app/images/logos/logo-vertical.png delete mode 100644 frontend/Site/src/app/images/logos/logo-white.png delete mode 100644 frontend/Site/src/app/images/moon.png delete mode 100644 frontend/Site/src/app/routes/ProtectedRoute.tsx delete mode 100644 frontend/Site/src/app/routes/Routes.tsx delete mode 100644 frontend/Site/src/declaration.d.ts delete mode 100644 frontend/Site/src/index.css delete mode 100644 frontend/Site/src/index.tsx delete mode 100644 frontend/Site/src/logo.svg delete mode 100644 frontend/Site/src/reportWebVitals.js delete mode 100644 frontend/Site/src/setupTests.js delete mode 100644 frontend/Site/src/utilities/test/TestUtils.tsx delete mode 100644 frontend/Site/tsconfig.json delete mode 100644 frontend/site-search/.eslintrc.cjs delete mode 100644 frontend/site-search/.gitignore delete mode 100644 frontend/site-search/Dockerfile delete mode 100644 frontend/site-search/README.md delete mode 100644 frontend/site-search/index.html delete mode 100644 frontend/site-search/nginx.conf delete mode 100644 frontend/site-search/package-lock.json delete mode 100644 frontend/site-search/package.json delete mode 100644 frontend/site-search/public/vite.svg delete mode 100644 frontend/site-search/src/App.css delete mode 100644 frontend/site-search/src/App.tsx delete mode 100644 frontend/site-search/src/api/dummy-data.tsx delete mode 100644 frontend/site-search/src/api/sites.ts delete mode 100644 frontend/site-search/src/assets/react.svg delete mode 100644 frontend/site-search/src/components/Header.tsx delete mode 100644 frontend/site-search/src/components/Highlighted.tsx delete mode 100644 frontend/site-search/src/components/SiteRegistryIcon.tsx delete mode 100644 frontend/site-search/src/features/map/MapDetailsPane.tsx delete mode 100644 frontend/site-search/src/features/map/UpdateMapCentre.tsx delete mode 100644 frontend/site-search/src/features/selection/selection.ts delete mode 100644 frontend/site-search/src/features/simple-search/search-results.tsx delete mode 100644 frontend/site-search/src/features/simple-search/search-toggle.tsx delete mode 100644 frontend/site-search/src/features/simple-search/simple-search.ts delete mode 100644 frontend/site-search/src/features/site-details/SiteGridItem.tsx delete mode 100644 frontend/site-search/src/features/site-details/TableEditItem.tsx delete mode 100644 frontend/site-search/src/features/site-details/activity-log.tsx delete mode 100644 frontend/site-search/src/features/site-details/associated-sites.tsx delete mode 100644 frontend/site-search/src/features/site-details/css/siteDetails.module.css delete mode 100644 frontend/site-search/src/features/site-details/css/summary.module.css delete mode 100644 frontend/site-search/src/features/site-details/documents.tsx delete mode 100644 frontend/site-search/src/features/site-details/edit-mode/editModeSlice.ts delete mode 100644 frontend/site-search/src/features/site-details/notations.tsx delete mode 100644 frontend/site-search/src/features/site-details/parcel-description.tsx delete mode 100644 frontend/site-search/src/features/site-details/participants.tsx delete mode 100644 frontend/site-search/src/features/site-details/site-profile.tsx delete mode 100644 frontend/site-search/src/features/site-details/sub-search/SubSearch.tsx delete mode 100644 frontend/site-search/src/features/site-details/sub-search/subsearch.module.css delete mode 100644 frontend/site-search/src/features/site-details/summary.tsx delete mode 100644 frontend/site-search/src/features/site-details/suspect-land-uses.tsx delete mode 100644 frontend/site-search/src/features/site-details/table/SiteDetailsTable.tsx delete mode 100644 frontend/site-search/src/features/user/userSlice.ts delete mode 100644 frontend/site-search/src/helpers/formatDateToString.ts delete mode 100644 frontend/site-search/src/helpers/formatLatLng.ts delete mode 100644 frontend/site-search/src/index.css delete mode 100644 frontend/site-search/src/main.tsx delete mode 100644 frontend/site-search/src/pages/advanced-search.tsx delete mode 100644 frontend/site-search/src/pages/map.module.css delete mode 100644 frontend/site-search/src/pages/map.tsx delete mode 100644 frontend/site-search/src/pages/search.css delete mode 100644 frontend/site-search/src/pages/search.tsx delete mode 100644 frontend/site-search/src/pages/site-details.module.css delete mode 100644 frontend/site-search/src/pages/site-details.tsx delete mode 100644 frontend/site-search/src/scripts/dummy-data.sites.json delete mode 100755 frontend/site-search/src/scripts/generate-dummy-data.ts delete mode 100644 frontend/site-search/src/store.ts delete mode 100644 frontend/site-search/src/vite-env.d.ts delete mode 100644 frontend/site-search/tsconfig.json delete mode 100644 frontend/site-search/tsconfig.node.json delete mode 100644 frontend/site-search/vite.config.ts delete mode 100644 ora2pg/README delete mode 100644 ora2pg/modify_geo.py delete mode 100644 ora2pg/ora2pg.conf delete mode 100644 ora2pg/output_sis_ddl.sql delete mode 100644 ora2pg/rename_files.py delete mode 100644 ora2pg/typeorm-model-generator.bat diff --git a/backend/sites/.dockerignore b/backend/sites/.dockerignore deleted file mode 100644 index a64df67c..00000000 --- a/backend/sites/.dockerignore +++ /dev/null @@ -1,6 +0,0 @@ -Dockerfile -.dockerignore -node_modules -build -npm-debug.log -dist \ No newline at end of file diff --git a/backend/sites/.eslintrc.js b/backend/sites/.eslintrc.js deleted file mode 100644 index 4666bb30..00000000 --- a/backend/sites/.eslintrc.js +++ /dev/null @@ -1,24 +0,0 @@ -module.exports = { - parser: '@typescript-eslint/parser', - parserOptions: { - project: 'tsconfig.json', - tsconfigRootDir: __dirname, - sourceType: 'module', - }, - plugins: ['@typescript-eslint/eslint-plugin'], - extends: [ - 'plugin:@typescript-eslint/recommended' - ], - root: true, - env: { - node: true, - jest: true, - }, - ignorePatterns: ['.eslintrc.js'], - rules: { - '@typescript-eslint/interface-name-prefix': 'off', - '@typescript-eslint/explicit-function-return-type': 'off', - '@typescript-eslint/explicit-module-boundary-types': 'off', - '@typescript-eslint/no-explicit-any': 'off', - }, -}; diff --git a/backend/sites/.gitignore b/backend/sites/.gitignore deleted file mode 100644 index 4b56acfb..00000000 --- a/backend/sites/.gitignore +++ /dev/null @@ -1,56 +0,0 @@ -# compiled output -/dist -/node_modules -/build - -# Logs -logs -*.log -npm-debug.log* -pnpm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-debug.log* - -# OS -.DS_Store - -# Tests -/coverage -/.nyc_output - -# IDEs and editors -/.idea -.project -.classpath -.c9/ -*.launch -.settings/ -*.sublime-workspace - -# IDE - VSCode -.vscode/* -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json -!.vscode/extensions.json - -# dotenv environment variable files -.env -.env.development.local -.env.test.local -.env.production.local -.env.local - -# temp directory -.temp -.tmp - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Diagnostic reports (https://nodejs.org/api/report.html) -report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json diff --git a/backend/sites/.prettierrc b/backend/sites/.prettierrc deleted file mode 100644 index f5d91ac5..00000000 --- a/backend/sites/.prettierrc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "singleQuote": true, - "trailingComma": "all", - "endOfLine":"auto" -} \ No newline at end of file diff --git a/backend/sites/Dockerfile b/backend/sites/Dockerfile deleted file mode 100644 index f44a21a6..00000000 --- a/backend/sites/Dockerfile +++ /dev/null @@ -1,39 +0,0 @@ -# RedHat UBI 8 with nodejs 16 -FROM node:16.14.0-alpine - -# Set npm cache directory -ENV NPM_CONFIG_CACHE=/home/node/.npm - -# NPM Permission Fix -RUN mkdir -p /home/node/.npm \ - && chown -R 1001:0 /home/node/.npm - -# Install packages, build, and keep only prod packages -WORKDIR /app -#test - -# Copy package.json and package-lock.json -COPY package*.json ./ - -# Install app dependencies using npm ci -RUN npm ci - -# Bundle app source -COPY . ./ - -# Change ownership of files to non-root user -RUN chown -R 1001:0 /app \ - && chmod -R g=u /app - -# Switch to non-root user -USER 1001 -#test - -# Build the application -RUN npm run build - -# Expose port -EXPOSE 4007 - -# Start the API -CMD ["sh", "start.sh"] \ No newline at end of file diff --git a/backend/sites/Dockerfile-migrations-openshift b/backend/sites/Dockerfile-migrations-openshift deleted file mode 100644 index fc9859e7..00000000 --- a/backend/sites/Dockerfile-migrations-openshift +++ /dev/null @@ -1,25 +0,0 @@ -FROM node:16.14.0-alpine - -# Set npm cache directory -ENV NPM_CONFIG_CACHE=/home/node/.npm - -# Install packages, build, and keep only prod packages -WORKDIR /app - -# A wildcard is used to ensure both package.json AND package-lock.json are copied -COPY package*.json ./ - -# Install app dependencies using the `npm ci` command instead of `npm install` -RUN npm config set unsafe-perm true \ - && npm ci \ - && npm config set unsafe-perm false - -# Bundle app source -COPY . . -#test - -# Install postgresql-client -RUN apk add --no-cache postgresql-client - -# Define the entrypoint -ENTRYPOINT [ "sh", "initDB.sh" ] \ No newline at end of file diff --git a/backend/sites/README.md b/backend/sites/README.md deleted file mode 100644 index 7c09b3c5..00000000 --- a/backend/sites/README.md +++ /dev/null @@ -1,73 +0,0 @@ -

- Nest Logo -

- -[circleci-image]: https://img.shields.io/circleci/build/github/nestjs/nest/master?token=abc123def456 -[circleci-url]: https://circleci.com/gh/nestjs/nest - -

A progressive Node.js framework for building efficient and scalable server-side applications.

-

-NPM Version -Package License -NPM Downloads -CircleCI -Coverage -Discord -Backers on Open Collective -Sponsors on Open Collective - - Support us - -

- - -## Description - -[Nest](https://github.com/nestjs/nest) framework TypeScript starter repository. - -## Installation - -```bash -$ npm install -``` - -## Running the app - -```bash -# development -$ npm run start - -# watch mode -$ npm run start:dev - -# production mode -$ npm run start:prod -``` - -## Test - -```bash -# unit tests -$ npm run test - -# e2e tests -$ npm run test:e2e - -# test coverage -$ npm run test:cov -``` - -## Support - -Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please [read more here](https://docs.nestjs.com/support). - -## Stay in touch - -- Author - [Kamil Myƛliwiec](https://kamilmysliwiec.com) -- Website - [https://nestjs.com](https://nestjs.com/) -- Twitter - [@nestframework](https://twitter.com/nestframework) - -## License - -Nest is [MIT licensed](LICENSE). diff --git a/backend/sites/initDB.sh b/backend/sites/initDB.sh deleted file mode 100644 index c9ecd19b..00000000 --- a/backend/sites/initDB.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/sh - -#Make sure you change line endings to LF - -if [ ! "$POSTGRESQL_HOST" ]; -then - echo 'Sourcing from .env' - . ./.env -else - echo 'Environment variables set...' -fi - -# create database -psql "user=$POSTGRES_ADMIN_USERNAME password=$POSTGRES_ADMIN_PASSWORD host=$POSTGRESQL_HOST port=$POSTGRESQL_PORT" -c "CREATE DATABASE $POSTGRES_DATABASE OWNER $POSTGRES_ADMIN_USERNAME;" - -# create extension -psql "user=$POSTGRES_ADMIN_USERNAME password=$POSTGRES_ADMIN_PASSWORD host=$POSTGRESQL_HOST port=$POSTGRESQL_PORT dbname=$POSTGRES_DATABASE" -c 'CREATE EXTENSION IF NOT EXISTS "uuid-ossp" WITH SCHEMA public;' - -#create postgis extension -psql "user=$POSTGRES_ADMIN_USERNAME password=$POSTGRES_ADMIN_PASSWORD host=$POSTGRESQL_HOST port=$POSTGRESQL_PORT dbname=$POSTGRES_DATABASE" -c 'CREATE EXTENSION IF NOT EXISTS "postgis" WITH SCHEMA public;' - -echo 'pwd' -echo $POSTGRES_DB_PASSWORD; - -# create schema user -psql "user=$POSTGRES_ADMIN_USERNAME password=$POSTGRES_ADMIN_PASSWORD host=$POSTGRESQL_HOST port=$POSTGRESQL_PORT dbname=$POSTGRES_DATABASE" -c "CREATE ROLE $POSTGRES_DB_USERNAME WITH LOGIN NOSUPERUSER NOCREATEDB NOCREATEROLE NOINHERIT NOREPLICATION CONNECTION LIMIT -1 PASSWORD '$POSTGRES_DB_PASSWORD';" - -# create schema -psql "user=$POSTGRES_ADMIN_USERNAME password=$POSTGRES_ADMIN_PASSWORD host=$POSTGRESQL_HOST port=$POSTGRESQL_PORT dbname=$POSTGRES_DATABASE" -c "CREATE SCHEMA IF NOT EXISTS $POSTGRES_DB_SCHEMA AUTHORIZATION $POSTGRES_DB_USERNAME" - -echo "init db complete" - -# # Set NPM_CONFIG_CACHE environment variable -# export NPM_CONFIG_CACHE=/home/node/.npm - -# # Ensure ownership of .npm folder -# mkdir -p /home/node/.npm \ -# && chown -R node:node /home/node/.npm - -# # NPM Permission Fix -# mkdir -p /.npm -# chown -R 1015500000:0 /.npm - -# run type orm migrations -npm run typeorm:run-migrations - -echo "migrations completed" - -exit 0 \ No newline at end of file diff --git a/backend/sites/local.Dockerfile b/backend/sites/local.Dockerfile deleted file mode 100644 index ce018d93..00000000 --- a/backend/sites/local.Dockerfile +++ /dev/null @@ -1,32 +0,0 @@ -# RedHat UBI 8 with nodejs 14 -FROM node:16.14.0-alpine -#FROM artifacts.developer.gov.bc.ca/docker-remote/node:14.17.1-alpine - -# Install packages, build and keep only prod packages -WORKDIR /app - -# A wildcard is used to ensure both package.json AND package-lock.json are copied -COPY package*.json ./ - -# Set NODE_ENV environment variable -#ENV NODE_ENV production - -# Install app dependencies using the `npm ci` command instead of `npm install` -RUN npm ci - -# Bundle app source -COPY . ./ - -RUN npm run build - -RUN set -x \ - && chmod -R 777 /app/ - -RUN apk add postgresql-client - -# Expose port - mostly a convention, for readability -EXPOSE 4005 - -# Start up command - -ENTRYPOINT [ "sh", "local_start.sh" ] \ No newline at end of file diff --git a/backend/sites/local_start.sh b/backend/sites/local_start.sh deleted file mode 100644 index d6861f36..00000000 --- a/backend/sites/local_start.sh +++ /dev/null @@ -1,11 +0,0 @@ -# create DB dependencies - database, schema -sh initDB.sh - -# run type orm migrations -npm run typeorm:run-migrations - -# Creates a "dist" folder with the production build -npm run build - -# start the API -npm run start \ No newline at end of file diff --git a/backend/sites/nest-cli.json b/backend/sites/nest-cli.json deleted file mode 100644 index a8170d1d..00000000 --- a/backend/sites/nest-cli.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/nest-cli", - "collection": "@nestjs/schematics", - "sourceRoot": "src", - "compilerOptions": { - "deleteOutDir": true - } -} diff --git a/backend/sites/package-lock.json b/backend/sites/package-lock.json deleted file mode 100644 index bf9c21cc..00000000 --- a/backend/sites/package-lock.json +++ /dev/null @@ -1,18844 +0,0 @@ -{ - "name": "siteapi", - "version": "0.0.1", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "siteapi", - "version": "0.0.1", - "license": "UNLICENSED", - "dependencies": { - "@apollo/federation": "^0.37.1", - "@apollo/subgraph": "^2.2.3", - "@nestjs/apollo": "^12.1.0", - "@nestjs/common": "^10.3.8", - "@nestjs/config": "^2.3.1", - "@nestjs/core": "^10.3.8", - "@nestjs/graphql": "^12.1.1", - "@nestjs/platform-express": "^10.3.8", - "@nestjs/typeorm": "^10.0.2", - "apollo-server-express": "^3.10.2", - "class-transformer": "^0.5.1", - "graphql": "^16.6.0", - "keycloak-connect": "^24.0.3", - "nest-keycloak-connect": "^1.10.0", - "pg": "^8.11.5", - "reflect-metadata": "^0.2.2", - "rimraf": "^5.0.5", - "rxjs": "^7.8.1", - "typeorm": "^0.3.20" - }, - "devDependencies": { - "@nestjs/cli": "^10.3.2", - "@nestjs/config": "^3.2.2", - "@nestjs/schematics": "^10.1.1", - "@nestjs/testing": "^10.3.8", - "@types/express": "^4.17.21", - "@types/jest": "29.5.12", - "@types/node": "^20.12.7", - "@types/supertest": "^6.0.2", - "@typescript-eslint/eslint-plugin": "^5.0.0", - "@typescript-eslint/parser": "^5.0.0", - "class-validator": "^0.14.1", - "eslint": "^8.0.1", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-prettier": "^5.1.3", - "jest": "29.7.0", - "prettier": "^3.2.5", - "source-map-support": "^0.5.21", - "supertest": "^6.3.4", - "ts-jest": "29.1.2", - "ts-loader": "^9.5.1", - "ts-node": "^10.9.2", - "tsconfig-paths": "4.2.0", - "typescript": "^5.4.5" - } - }, - "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, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@angular-devkit/core": { - "version": "17.1.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-17.1.2.tgz", - "integrity": "sha512-ku+/W/HMCBacSWFppenr9y6Lx8mDuTuQvn1IkTyBLiJOpWnzgVbx9kHDeaDchGa1PwLlJUBBrv27t3qgJOIDPw==", - "dev": true, - "dependencies": { - "ajv": "8.12.0", - "ajv-formats": "2.1.1", - "jsonc-parser": "3.2.0", - "picomatch": "3.0.1", - "rxjs": "7.8.1", - "source-map": "0.7.4" - }, - "engines": { - "node": "^18.13.0 || >=20.9.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "chokidar": "^3.5.2" - }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } - } - }, - "node_modules/@angular-devkit/schematics": { - "version": "17.1.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-17.1.2.tgz", - "integrity": "sha512-8S9RuM8olFN/gwN+mjbuF1CwHX61f0i59EGXz9tXLnKRUTjsRR+8vVMTAmX0dvVAT5fJTG/T69X+HX7FeumdqA==", - "dev": true, - "dependencies": { - "@angular-devkit/core": "17.1.2", - "jsonc-parser": "3.2.0", - "magic-string": "0.30.5", - "ora": "5.4.1", - "rxjs": "7.8.1" - }, - "engines": { - "node": "^18.13.0 || >=20.9.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@angular-devkit/schematics-cli": { - "version": "17.1.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics-cli/-/schematics-cli-17.1.2.tgz", - "integrity": "sha512-bvXykYzSST05qFdlgIzUguNOb3z0hCa8HaTwtqdmQo9aFPf+P+/AC56I64t1iTchMjQtf3JrBQhYM25gUdcGbg==", - "dev": true, - "dependencies": { - "@angular-devkit/core": "17.1.2", - "@angular-devkit/schematics": "17.1.2", - "ansi-colors": "4.1.3", - "inquirer": "9.2.12", - "symbol-observable": "4.0.0", - "yargs-parser": "21.1.1" - }, - "bin": { - "schematics": "bin/schematics.js" - }, - "engines": { - "node": "^18.13.0 || >=20.9.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@angular-devkit/schematics-cli/node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", - "dev": true, - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@angular-devkit/schematics-cli/node_modules/cli-width": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", - "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", - "dev": true, - "engines": { - "node": ">= 12" - } - }, - "node_modules/@angular-devkit/schematics-cli/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==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@angular-devkit/schematics-cli/node_modules/figures": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz", - "integrity": "sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^5.0.0", - "is-unicode-supported": "^1.2.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@angular-devkit/schematics-cli/node_modules/inquirer": { - "version": "9.2.12", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-9.2.12.tgz", - "integrity": "sha512-mg3Fh9g2zfuVWJn6lhST0O7x4n03k7G8Tx5nvikJkbq8/CK47WDVm+UznF0G6s5Zi0KcyUisr6DU8T67N5U+1Q==", - "dev": true, - "dependencies": { - "@ljharb/through": "^2.3.11", - "ansi-escapes": "^4.3.2", - "chalk": "^5.3.0", - "cli-cursor": "^3.1.0", - "cli-width": "^4.1.0", - "external-editor": "^3.1.0", - "figures": "^5.0.0", - "lodash": "^4.17.21", - "mute-stream": "1.0.0", - "ora": "^5.4.1", - "run-async": "^3.0.0", - "rxjs": "^7.8.1", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^6.2.0" - }, - "engines": { - "node": ">=14.18.0" - } - }, - "node_modules/@angular-devkit/schematics-cli/node_modules/is-unicode-supported": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", - "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@angular-devkit/schematics-cli/node_modules/mute-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz", - "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@angular-devkit/schematics-cli/node_modules/run-async": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-3.0.0.tgz", - "integrity": "sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/@apollo/cache-control-types": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@apollo/cache-control-types/-/cache-control-types-1.0.3.tgz", - "integrity": "sha512-F17/vCp7QVwom9eG7ToauIKdAxpSoadsJnqIfyryLFSkLSOEqu+eC5Z3N8OXcUVStuOMcNHlyraRsA6rRICu4g==", - "peerDependencies": { - "graphql": "14.x || 15.x || 16.x" - } - }, - "node_modules/@apollo/federation": { - "version": "0.37.1", - "resolved": "https://registry.npmjs.org/@apollo/federation/-/federation-0.37.1.tgz", - "integrity": "sha512-cLoBrBLt2dUEUmfISvGJ9YevnRGWhj+bVVJ8pP0bBrLfy1GWRYrsV8Jd87U2YeMEp7wuYM6M2PjE4Oy6PBMf2w==", - "deprecated": "The @apollo/federation package is deprecated and will reach end-of-life September 22, 2023. It contains outdated utilities for both running subgraphs and composing supergraph schemas. Please migrate to the appropriate package for your use case (@apollo/subgraph or @apollo/composition). For more details, see our announcement blog post (https://www.apollographql.com/blog/announcement/backend/announcing-the-end-of-life-schedule-for-apollo-gateway-v0-x/) and documentation (https://www.apollographql.com/docs/federation/federation-2/backward-compatibility/#is-official-support-ending-for-apollogateway-v0x).", - "dependencies": { - "@apollo/subgraph": "^0.5.1", - "apollo-server-types": "^3.0.2", - "lodash.xorby": "^4.7.0" - }, - "engines": { - "node": ">=12.13.0 <18.0" - }, - "peerDependencies": { - "graphql": "^15.8.0 || ^16.0.0" - } - }, - "node_modules/@apollo/federation-internals": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/@apollo/federation-internals/-/federation-internals-2.7.4.tgz", - "integrity": "sha512-344X7b+9MWhbr0DetDNIHxxTh6WB3K+kr1uQJAlsllwQ32Br/4kb5X2hSJ24tG3X8ZurYeJuYTeobDQLt9Dahw==", - "dependencies": { - "@types/uuid": "^9.0.0", - "chalk": "^4.1.0", - "js-levenshtein": "^1.1.6", - "uuid": "^9.0.0" - }, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "graphql": "^16.5.0" - } - }, - "node_modules/@apollo/federation/node_modules/@apollo/subgraph": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/@apollo/subgraph/-/subgraph-0.5.1.tgz", - "integrity": "sha512-pj+igKgdpmTfgUmscTNuVdLip8WZ8jFKS5FGb/tD2hj4xPwaQ+MfszLsuNfoytp7d63PdLorIndxcHCW+rb7Dg==", - "deprecated": "All v0.x versions of @apollo/subgraph are now deprecated with an end-of-life date of September 22, 2023. Apollo recommends upgrading to v2.x as soon as possible. For more details, see our announcement blog post (https://www.apollographql.com/blog/announcement/backend/announcing-the-end-of-life-schedule-for-apollo-gateway-v0-x/) and documentation (https://www.apollographql.com/docs/federation/federation-2/backward-compatibility/#is-official-support-ending-for-apollogateway-v0x).", - "dependencies": { - "@apollo/cache-control-types": "^1.0.2" - }, - "engines": { - "node": ">=12.13.0 <18.0" - }, - "peerDependencies": { - "graphql": "^15.8.0 || ^16.0.0" - } - }, - "node_modules/@apollo/protobufjs": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@apollo/protobufjs/-/protobufjs-1.2.7.tgz", - "integrity": "sha512-Lahx5zntHPZia35myYDBRuF58tlwPskwHc5CWBZC/4bMKB6siTBWwtMrkqXcsNwQiFSzSx5hKdRPUmemrEp3Gg==", - "hasInstallScript": true, - "dependencies": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^4.0.0", - "long": "^4.0.0" - }, - "bin": { - "apollo-pbjs": "bin/pbjs", - "apollo-pbts": "bin/pbts" - } - }, - "node_modules/@apollo/server": { - "version": "4.10.4", - "resolved": "https://registry.npmjs.org/@apollo/server/-/server-4.10.4.tgz", - "integrity": "sha512-HS12CUa1wq8f5zKXOKJRwRdESFp4por9AINecpcsEUV9jsCP/NqPILgx0hCOOFJuKxmnaL7070xO6l5xmOq4Fw==", - "peer": true, - "dependencies": { - "@apollo/cache-control-types": "^1.0.3", - "@apollo/server-gateway-interface": "^1.1.1", - "@apollo/usage-reporting-protobuf": "^4.1.1", - "@apollo/utils.createhash": "^2.0.0", - "@apollo/utils.fetcher": "^2.0.0", - "@apollo/utils.isnodelike": "^2.0.0", - "@apollo/utils.keyvaluecache": "^2.1.0", - "@apollo/utils.logger": "^2.0.0", - "@apollo/utils.usagereporting": "^2.1.0", - "@apollo/utils.withrequired": "^2.0.0", - "@graphql-tools/schema": "^9.0.0", - "@josephg/resolvable": "^1.0.0", - "@types/express": "^4.17.13", - "@types/express-serve-static-core": "^4.17.30", - "@types/node-fetch": "^2.6.1", - "async-retry": "^1.2.1", - "cors": "^2.8.5", - "express": "^4.17.1", - "loglevel": "^1.6.8", - "lru-cache": "^7.10.1", - "negotiator": "^0.6.3", - "node-abort-controller": "^3.1.1", - "node-fetch": "^2.6.7", - "uuid": "^9.0.0", - "whatwg-mimetype": "^3.0.0" - }, - "engines": { - "node": ">=14.16.0" - }, - "peerDependencies": { - "graphql": "^16.6.0" - } - }, - "node_modules/@apollo/server-gateway-interface": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@apollo/server-gateway-interface/-/server-gateway-interface-1.1.1.tgz", - "integrity": "sha512-pGwCl/po6+rxRmDMFgozKQo2pbsSwE91TpsDBAOgf74CRDPXHHtM88wbwjab0wMMZh95QfR45GGyDIdhY24bkQ==", - "peer": true, - "dependencies": { - "@apollo/usage-reporting-protobuf": "^4.1.1", - "@apollo/utils.fetcher": "^2.0.0", - "@apollo/utils.keyvaluecache": "^2.1.0", - "@apollo/utils.logger": "^2.0.0" - }, - "peerDependencies": { - "graphql": "14.x || 15.x || 16.x" - } - }, - "node_modules/@apollo/server-plugin-landing-page-graphql-playground": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@apollo/server-plugin-landing-page-graphql-playground/-/server-plugin-landing-page-graphql-playground-4.0.0.tgz", - "integrity": "sha512-PBDtKI/chJ+hHeoJUUH9Kuqu58txQl00vUGuxqiC9XcReulIg7RjsyD0G1u3drX4V709bxkL5S0nTeXfRHD0qA==", - "deprecated": "The use of GraphQL Playground in Apollo Server was supported in previous versions, but this is no longer the case as of December 31, 2022. This package exists for v4 migration purposes only. We do not intend to resolve security issues or other bugs with this package if they arise, so please migrate away from this to [Apollo Server's default Explorer](https://www.apollographql.com/docs/apollo-server/api/plugin/landing-pages) as soon as possible.", - "dependencies": { - "@apollographql/graphql-playground-html": "1.6.29" - }, - "engines": { - "node": ">=14.0" - }, - "peerDependencies": { - "@apollo/server": "^4.0.0" - } - }, - "node_modules/@apollo/subgraph": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/@apollo/subgraph/-/subgraph-2.7.4.tgz", - "integrity": "sha512-HZHFPrOQgfvZcJCX3u07t8OfVx/Ax8rffXAF13HeFDlkRadSSA+DiFH9I92OAhmlnJ4XzE/uhdpYXxBTURW/8Q==", - "dependencies": { - "@apollo/cache-control-types": "^1.0.2", - "@apollo/federation-internals": "2.7.4" - }, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "graphql": "^16.5.0" - } - }, - "node_modules/@apollo/usage-reporting-protobuf": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@apollo/usage-reporting-protobuf/-/usage-reporting-protobuf-4.1.1.tgz", - "integrity": "sha512-u40dIUePHaSKVshcedO7Wp+mPiZsaU6xjv9J+VyxpoU/zL6Jle+9zWeG98tr/+SZ0nZ4OXhrbb8SNr0rAPpIDA==", - "dependencies": { - "@apollo/protobufjs": "1.2.7" - } - }, - "node_modules/@apollo/utils.createhash": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.createhash/-/utils.createhash-2.0.1.tgz", - "integrity": "sha512-fQO4/ZOP8LcXWvMNhKiee+2KuKyqIcfHrICA+M4lj/h/Lh1H10ICcUtk6N/chnEo5HXu0yejg64wshdaiFitJg==", - "peer": true, - "dependencies": { - "@apollo/utils.isnodelike": "^2.0.1", - "sha.js": "^2.4.11" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@apollo/utils.dropunuseddefinitions": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.dropunuseddefinitions/-/utils.dropunuseddefinitions-2.0.1.tgz", - "integrity": "sha512-EsPIBqsSt2BwDsv8Wu76LK5R1KtsVkNoO4b0M5aK0hx+dGg9xJXuqlr7Fo34Dl+y83jmzn+UvEW+t1/GP2melA==", - "peer": true, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "graphql": "14.x || 15.x || 16.x" - } - }, - "node_modules/@apollo/utils.fetcher": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.fetcher/-/utils.fetcher-2.0.1.tgz", - "integrity": "sha512-jvvon885hEyWXd4H6zpWeN3tl88QcWnHp5gWF5OPF34uhvoR+DFqcNxs9vrRaBBSY3qda3Qe0bdud7tz2zGx1A==", - "peer": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/@apollo/utils.isnodelike": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.isnodelike/-/utils.isnodelike-2.0.1.tgz", - "integrity": "sha512-w41XyepR+jBEuVpoRM715N2ZD0xMD413UiJx8w5xnAZD2ZkSJnMJBoIzauK83kJpSgNuR6ywbV29jG9NmxjK0Q==", - "peer": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/@apollo/utils.keyvaluecache": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.keyvaluecache/-/utils.keyvaluecache-2.1.1.tgz", - "integrity": "sha512-qVo5PvUUMD8oB9oYvq4ViCjYAMWnZ5zZwEjNF37L2m1u528x5mueMlU+Cr1UinupCgdB78g+egA1G98rbJ03Vw==", - "peer": true, - "dependencies": { - "@apollo/utils.logger": "^2.0.1", - "lru-cache": "^7.14.1" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@apollo/utils.logger": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.logger/-/utils.logger-2.0.1.tgz", - "integrity": "sha512-YuplwLHaHf1oviidB7MxnCXAdHp3IqYV8n0momZ3JfLniae92eYqMIx+j5qJFX6WKJPs6q7bczmV4lXIsTu5Pg==", - "peer": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/@apollo/utils.printwithreducedwhitespace": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.printwithreducedwhitespace/-/utils.printwithreducedwhitespace-2.0.1.tgz", - "integrity": "sha512-9M4LUXV/fQBh8vZWlLvb/HyyhjJ77/I5ZKu+NBWV/BmYGyRmoEP9EVAy7LCVoY3t8BDcyCAGfxJaLFCSuQkPUg==", - "peer": true, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "graphql": "14.x || 15.x || 16.x" - } - }, - "node_modules/@apollo/utils.removealiases": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.removealiases/-/utils.removealiases-2.0.1.tgz", - "integrity": "sha512-0joRc2HBO4u594Op1nev+mUF6yRnxoUH64xw8x3bX7n8QBDYdeYgY4tF0vJReTy+zdn2xv6fMsquATSgC722FA==", - "peer": true, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "graphql": "14.x || 15.x || 16.x" - } - }, - "node_modules/@apollo/utils.sortast": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.sortast/-/utils.sortast-2.0.1.tgz", - "integrity": "sha512-eciIavsWpJ09za1pn37wpsCGrQNXUhM0TktnZmHwO+Zy9O4fu/WdB4+5BvVhFiZYOXvfjzJUcc+hsIV8RUOtMw==", - "peer": true, - "dependencies": { - "lodash.sortby": "^4.7.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "graphql": "14.x || 15.x || 16.x" - } - }, - "node_modules/@apollo/utils.stripsensitiveliterals": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.stripsensitiveliterals/-/utils.stripsensitiveliterals-2.0.1.tgz", - "integrity": "sha512-QJs7HtzXS/JIPMKWimFnUMK7VjkGQTzqD9bKD1h3iuPAqLsxd0mUNVbkYOPTsDhUKgcvUOfOqOJWYohAKMvcSA==", - "peer": true, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "graphql": "14.x || 15.x || 16.x" - } - }, - "node_modules/@apollo/utils.usagereporting": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@apollo/utils.usagereporting/-/utils.usagereporting-2.1.0.tgz", - "integrity": "sha512-LPSlBrn+S17oBy5eWkrRSGb98sWmnEzo3DPTZgp8IQc8sJe0prDgDuppGq4NeQlpoqEHz0hQeYHAOA0Z3aQsxQ==", - "peer": true, - "dependencies": { - "@apollo/usage-reporting-protobuf": "^4.1.0", - "@apollo/utils.dropunuseddefinitions": "^2.0.1", - "@apollo/utils.printwithreducedwhitespace": "^2.0.1", - "@apollo/utils.removealiases": "2.0.1", - "@apollo/utils.sortast": "^2.0.1", - "@apollo/utils.stripsensitiveliterals": "^2.0.1" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "graphql": "14.x || 15.x || 16.x" - } - }, - "node_modules/@apollo/utils.withrequired": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.withrequired/-/utils.withrequired-2.0.1.tgz", - "integrity": "sha512-YBDiuAX9i1lLc6GeTy1m7DGLFn/gMnvXqlalOIMjM7DeOgIacEjjfwPqb0M1CQ2v11HhR15d1NmxJoRCfrNqcA==", - "peer": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/@apollographql/apollo-tools": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@apollographql/apollo-tools/-/apollo-tools-0.5.4.tgz", - "integrity": "sha512-shM3q7rUbNyXVVRkQJQseXv6bnYM3BUma/eZhwXR4xsuM+bqWnJKvW7SAfRjP7LuSCocrexa5AXhjjawNHrIlw==", - "engines": { - "node": ">=8", - "npm": ">=6" - }, - "peerDependencies": { - "graphql": "^14.2.1 || ^15.0.0 || ^16.0.0" - } - }, - "node_modules/@apollographql/graphql-playground-html": { - "version": "1.6.29", - "resolved": "https://registry.npmjs.org/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.29.tgz", - "integrity": "sha512-xCcXpoz52rI4ksJSdOCxeOCn2DLocxwHf9dVT/Q90Pte1LX+LY+91SFtJF3KXVHH8kEin+g1KKCQPKBjZJfWNA==", - "dependencies": { - "xss": "^1.0.8" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.24.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", - "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.24.2", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.4.tgz", - "integrity": "sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.4.tgz", - "integrity": "sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.2", - "@babel/generator": "^7.24.4", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.24.4", - "@babel/parser": "^7.24.4", - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.1", - "@babel/types": "^7.24.0", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "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/generator": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.4.tgz", - "integrity": "sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.0", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", - "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "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-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.24.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz", - "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", - "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", - "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz", - "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", - "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.4.tgz", - "integrity": "sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==", - "dev": true, - "dependencies": { - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.1", - "@babel/types": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.24.2", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", - "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "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, - "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, - "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, - "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 - }, - "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, - "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, - "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, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.4.tgz", - "integrity": "sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz", - "integrity": "sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz", - "integrity": "sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/template": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", - "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz", - "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.24.1", - "@babel/generator": "^7.24.1", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.24.1", - "@babel/types": "^7.24.0", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse/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/@babel/types": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", - "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "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/@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "devOptional": true, - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "devOptional": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "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.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.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": "^12.22.0 || ^14.17.0 || >=16.0.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, - "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/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/js": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@graphql-tools/merge": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.4.2.tgz", - "integrity": "sha512-XbrHAaj8yDuINph+sAfuq3QCZ/tKblrTLOpirK0+CAgNlZUCHs0Fa+xtMUURgwCVThLle1AF7svJCxFizygLsw==", - "dependencies": { - "@graphql-tools/utils": "^9.2.1", - "tslib": "^2.4.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/mock": { - "version": "8.7.20", - "resolved": "https://registry.npmjs.org/@graphql-tools/mock/-/mock-8.7.20.tgz", - "integrity": "sha512-ljcHSJWjC/ZyzpXd5cfNhPI7YljRVvabKHPzKjEs5ElxWu2cdlLGvyNYepApXDsM/OJG/2xuhGM+9GWu5gEAPQ==", - "dependencies": { - "@graphql-tools/schema": "^9.0.18", - "@graphql-tools/utils": "^9.2.1", - "fast-json-stable-stringify": "^2.1.0", - "tslib": "^2.4.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/schema": { - "version": "9.0.19", - "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-9.0.19.tgz", - "integrity": "sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w==", - "dependencies": { - "@graphql-tools/merge": "^8.4.1", - "@graphql-tools/utils": "^9.2.1", - "tslib": "^2.4.0", - "value-or-promise": "^1.0.12" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/utils": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-9.2.1.tgz", - "integrity": "sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A==", - "dependencies": { - "@graphql-typed-document-node/core": "^3.1.1", - "tslib": "^2.4.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-typed-document-node/core": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz", - "integrity": "sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==", - "peerDependencies": { - "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", - "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^2.0.2", - "debug": "^4.3.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.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/object-schema": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "dev": true - }, - "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==", - "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==", - "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==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==", - "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==", - "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/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/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/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", - "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/core": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", - "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", - "dev": true, - "dependencies": { - "@jest/console": "^29.7.0", - "@jest/reporters": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.7.0", - "jest-config": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-resolve-dependencies": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "jest-watcher": "^29.7.0", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/environment": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", - "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", - "dev": true, - "dependencies": { - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", - "dev": true, - "dependencies": { - "expect": "^29.7.0", - "jest-snapshot": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/expect-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", - "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", - "dev": true, - "dependencies": { - "jest-get-type": "^29.6.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/fake-timers": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", - "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/globals": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", - "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/expect": "^29.7.0", - "@jest/types": "^29.6.3", - "jest-mock": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/reporters": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", - "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", - "dev": true, - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^6.0.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/reporters/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", - "dev": true, - "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/source-map": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", - "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.18", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/test-result": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", - "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", - "dev": true, - "dependencies": { - "@jest/console": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/test-sequencer": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", - "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", - "dev": true, - "dependencies": { - "@jest/test-result": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/transform": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", - "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/types": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@josephg/resolvable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@josephg/resolvable/-/resolvable-1.0.1.tgz", - "integrity": "sha512-CtzORUwWTTOTqfVtHaKRJ0I1kNQd1bpn3sUh8I3nJDVY+5/M/Oe1DnEWzPQvqq/xPIIkzzzIP7mfCoAjFRvDhg==" - }, - "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.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "devOptional": 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/source-map": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", - "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "devOptional": true - }, - "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/@ljharb/through": { - "version": "2.3.13", - "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.13.tgz", - "integrity": "sha512-/gKJun8NNiWGZJkGzI/Ragc53cOdcLNdzjLaIa+GEjguQs0ulsurx8WN0jijdK9yPqDvziX995sMRLyLt1uZMQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/@lukeed/csprng": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz", - "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@nestjs/apollo": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/@nestjs/apollo/-/apollo-12.1.0.tgz", - "integrity": "sha512-Ywe+hzs5gBbvP9yPdl78UaQJ4sqR/lYk0hawgftlLLdFEWqIUFpt6kTKIOAxeb/HMbZVNIBd9LrWoMl4S4p7HQ==", - "dependencies": { - "@apollo/server-plugin-landing-page-graphql-playground": "4.0.0", - "iterall": "1.3.0", - "lodash.omit": "4.5.0", - "tslib": "2.6.2" - }, - "peerDependencies": { - "@apollo/gateway": "^2.0.0", - "@apollo/server": "^4.3.2", - "@apollo/subgraph": "^2.0.0", - "@as-integrations/fastify": "^1.3.0 || ^2.0.0", - "@nestjs/common": "^9.3.8 || ^10.0.0", - "@nestjs/core": "^9.3.8 || ^10.0.0", - "@nestjs/graphql": "^12.0.0", - "graphql": "^16.6.0" - }, - "peerDependenciesMeta": { - "@apollo/gateway": { - "optional": true - }, - "@apollo/subgraph": { - "optional": true - }, - "@as-integrations/fastify": { - "optional": true - } - } - }, - "node_modules/@nestjs/cli": { - "version": "10.3.2", - "resolved": "https://registry.npmjs.org/@nestjs/cli/-/cli-10.3.2.tgz", - "integrity": "sha512-aWmD1GLluWrbuC4a1Iz/XBk5p74Uj6nIVZj6Ov03JbTfgtWqGFLtXuMetvzMiHxfrHehx/myt2iKAPRhKdZvTg==", - "dev": true, - "dependencies": { - "@angular-devkit/core": "17.1.2", - "@angular-devkit/schematics": "17.1.2", - "@angular-devkit/schematics-cli": "17.1.2", - "@nestjs/schematics": "^10.0.1", - "chalk": "4.1.2", - "chokidar": "3.6.0", - "cli-table3": "0.6.3", - "commander": "4.1.1", - "fork-ts-checker-webpack-plugin": "9.0.2", - "glob": "10.3.10", - "inquirer": "8.2.6", - "node-emoji": "1.11.0", - "ora": "5.4.1", - "rimraf": "4.4.1", - "shelljs": "0.8.5", - "source-map-support": "0.5.21", - "tree-kill": "1.2.2", - "tsconfig-paths": "4.2.0", - "tsconfig-paths-webpack-plugin": "4.1.0", - "typescript": "5.3.3", - "webpack": "5.90.1", - "webpack-node-externals": "3.0.0" - }, - "bin": { - "nest": "bin/nest.js" - }, - "engines": { - "node": ">= 16.14" - }, - "peerDependencies": { - "@swc/cli": "^0.1.62 || ^0.3.0", - "@swc/core": "^1.3.62" - }, - "peerDependenciesMeta": { - "@swc/cli": { - "optional": true - }, - "@swc/core": { - "optional": true - } - } - }, - "node_modules/@nestjs/cli/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, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@nestjs/cli/node_modules/minimatch": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz", - "integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@nestjs/cli/node_modules/minipass": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", - "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@nestjs/cli/node_modules/rimraf": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-4.4.1.tgz", - "integrity": "sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og==", - "dev": true, - "dependencies": { - "glob": "^9.2.0" - }, - "bin": { - "rimraf": "dist/cjs/src/bin.js" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@nestjs/cli/node_modules/rimraf/node_modules/glob": { - "version": "9.3.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz", - "integrity": "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "minimatch": "^8.0.2", - "minipass": "^4.2.4", - "path-scurry": "^1.6.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@nestjs/cli/node_modules/typescript": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", - "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/@nestjs/cli/node_modules/webpack": { - "version": "5.90.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.1.tgz", - "integrity": "sha512-SstPdlAC5IvgFnhiRok8hqJo/+ArAbNv7rhU4fnWGHNVfN59HSQFaxZDSAL3IFG2YmqxuRs+IU33milSxbPlog==", - "dev": true, - "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.5", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.21.10", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.10", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/@nestjs/common": { - "version": "10.3.8", - "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-10.3.8.tgz", - "integrity": "sha512-P+vPEIvqx2e+fonsYVlFXKvoChyJ8Tq+lfpqdVFqblovHbFr3kZ/nYX0cPs+XuW6bnRT8tz0SSR9XBGU43kJhw==", - "dependencies": { - "iterare": "1.2.1", - "tslib": "2.6.2", - "uid": "2.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nest" - }, - "peerDependencies": { - "class-transformer": "*", - "class-validator": "*", - "reflect-metadata": "^0.1.12 || ^0.2.0", - "rxjs": "^7.1.0" - }, - "peerDependenciesMeta": { - "class-transformer": { - "optional": true - }, - "class-validator": { - "optional": true - } - } - }, - "node_modules/@nestjs/config": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@nestjs/config/-/config-3.2.2.tgz", - "integrity": "sha512-vGICPOui5vE6kPz1iwQ7oCnp3qWgqxldPmBQ9onkVoKlBtyc83KJCr7CjuVtf4OdovMAVcux1d8Q6jglU2ZphA==", - "dev": true, - "dependencies": { - "dotenv": "16.4.5", - "dotenv-expand": "10.0.0", - "lodash": "4.17.21", - "uuid": "9.0.1" - }, - "peerDependencies": { - "@nestjs/common": "^8.0.0 || ^9.0.0 || ^10.0.0", - "rxjs": "^7.1.0" - } - }, - "node_modules/@nestjs/core": { - "version": "10.3.8", - "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-10.3.8.tgz", - "integrity": "sha512-AxF4tpYLDNn5Wfb3C4bNaaHJ4pREH5FJrSisR2A5zkYpQFORFs0Tc36lOFPMwBTy8Iv2wUwWLUVc5ftBnxEv4w==", - "hasInstallScript": true, - "dependencies": { - "@nuxtjs/opencollective": "0.3.2", - "fast-safe-stringify": "2.1.1", - "iterare": "1.2.1", - "path-to-regexp": "3.2.0", - "tslib": "2.6.2", - "uid": "2.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nest" - }, - "peerDependencies": { - "@nestjs/common": "^10.0.0", - "@nestjs/microservices": "^10.0.0", - "@nestjs/platform-express": "^10.0.0", - "@nestjs/websockets": "^10.0.0", - "reflect-metadata": "^0.1.12 || ^0.2.0", - "rxjs": "^7.1.0" - }, - "peerDependenciesMeta": { - "@nestjs/microservices": { - "optional": true - }, - "@nestjs/platform-express": { - "optional": true - }, - "@nestjs/websockets": { - "optional": true - } - } - }, - "node_modules/@nestjs/graphql": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/@nestjs/graphql/-/graphql-12.1.1.tgz", - "integrity": "sha512-Y2fPrB1bCzkSFEhE5prAJM6dGUwJwBhKSH4rkg5LRSrQnb89kqmELRreaWtisECSnA25mb4MjaRKA3svX1toBg==", - "dependencies": { - "@graphql-tools/merge": "9.0.1", - "@graphql-tools/schema": "10.0.2", - "@graphql-tools/utils": "10.0.13", - "@nestjs/mapped-types": "2.0.5", - "chokidar": "3.6.0", - "fast-glob": "3.3.2", - "graphql-tag": "2.12.6", - "graphql-ws": "5.14.3", - "lodash": "4.17.21", - "normalize-path": "3.0.0", - "subscriptions-transport-ws": "0.11.0", - "tslib": "2.6.2", - "uuid": "9.0.1", - "ws": "8.16.0" - }, - "peerDependencies": { - "@apollo/subgraph": "^2.0.0", - "@nestjs/common": "^9.3.8 || ^10.0.0", - "@nestjs/core": "^9.3.8 || ^10.0.0", - "class-transformer": "*", - "class-validator": "*", - "graphql": "^16.6.0", - "reflect-metadata": "^0.1.13 || ^0.2.0", - "ts-morph": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0" - }, - "peerDependenciesMeta": { - "@apollo/subgraph": { - "optional": true - }, - "class-transformer": { - "optional": true - }, - "class-validator": { - "optional": true - }, - "ts-morph": { - "optional": true - } - } - }, - "node_modules/@nestjs/graphql/node_modules/@graphql-tools/merge": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-9.0.1.tgz", - "integrity": "sha512-hIEExWO9fjA6vzsVjJ3s0cCQ+Q/BEeMVJZtMXd7nbaVefVy0YDyYlEkeoYYNV3NVVvu1G9lr6DM1Qd0DGo9Caw==", - "dependencies": { - "@graphql-tools/utils": "^10.0.10", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@nestjs/graphql/node_modules/@graphql-tools/schema": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-10.0.2.tgz", - "integrity": "sha512-TbPsIZnWyDCLhgPGnDjt4hosiNU2mF/rNtSk5BVaXWnZqvKJ6gzJV4fcHcvhRIwtscDMW2/YTnK6dLVnk8pc4w==", - "dependencies": { - "@graphql-tools/merge": "^9.0.1", - "@graphql-tools/utils": "^10.0.10", - "tslib": "^2.4.0", - "value-or-promise": "^1.0.12" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@nestjs/graphql/node_modules/@graphql-tools/utils": { - "version": "10.0.13", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-10.0.13.tgz", - "integrity": "sha512-fMILwGr5Dm2zefNItjQ6C2rauigklv69LIwppccICuGTnGaOp3DspLt/6Lxj72cbg5d9z60Sr+Egco3CJKLsNg==", - "dependencies": { - "@graphql-typed-document-node/core": "^3.1.1", - "cross-inspect": "1.0.0", - "dset": "^3.1.2", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@nestjs/mapped-types": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nestjs/mapped-types/-/mapped-types-2.0.5.tgz", - "integrity": "sha512-bSJv4pd6EY99NX9CjBIyn4TVDoSit82DUZlL4I3bqNfy5Gt+gXTa86i3I/i0iIV9P4hntcGM5GyO+FhZAhxtyg==", - "peerDependencies": { - "@nestjs/common": "^8.0.0 || ^9.0.0 || ^10.0.0", - "class-transformer": "^0.4.0 || ^0.5.0", - "class-validator": "^0.13.0 || ^0.14.0", - "reflect-metadata": "^0.1.12 || ^0.2.0" - }, - "peerDependenciesMeta": { - "class-transformer": { - "optional": true - }, - "class-validator": { - "optional": true - } - } - }, - "node_modules/@nestjs/platform-express": { - "version": "10.3.8", - "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-10.3.8.tgz", - "integrity": "sha512-sifLoxgEJvAgbim1UuW6wyScMfkS9SVQRH+lN33N/9ZvZSjO6NSDLOe+wxqsnZkia+QrjFC0qy0ITRAsggfqbg==", - "dependencies": { - "body-parser": "1.20.2", - "cors": "2.8.5", - "express": "4.19.2", - "multer": "1.4.4-lts.1", - "tslib": "2.6.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nest" - }, - "peerDependencies": { - "@nestjs/common": "^10.0.0", - "@nestjs/core": "^10.0.0" - } - }, - "node_modules/@nestjs/schematics": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/@nestjs/schematics/-/schematics-10.1.1.tgz", - "integrity": "sha512-o4lfCnEeIkfJhGBbLZxTuVWcGuqDCFwg5OrvpgRUBM7vI/vONvKKiB5riVNpO+JqXoH0I42NNeDb0m4V5RREig==", - "dev": true, - "dependencies": { - "@angular-devkit/core": "17.1.2", - "@angular-devkit/schematics": "17.1.2", - "comment-json": "4.2.3", - "jsonc-parser": "3.2.1", - "pluralize": "8.0.0" - }, - "peerDependencies": { - "typescript": ">=4.8.2" - } - }, - "node_modules/@nestjs/schematics/node_modules/jsonc-parser": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", - "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", - "dev": true - }, - "node_modules/@nestjs/testing": { - "version": "10.3.8", - "resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-10.3.8.tgz", - "integrity": "sha512-hpX9das2TdFTKQ4/2ojhjI6YgXtCfXRKui3A4Qaj54VVzc5+mtK502Jj18Vzji98o9MVS6skmYu+S/UvW3U6Fw==", - "dev": true, - "dependencies": { - "tslib": "2.6.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nest" - }, - "peerDependencies": { - "@nestjs/common": "^10.0.0", - "@nestjs/core": "^10.0.0", - "@nestjs/microservices": "^10.0.0", - "@nestjs/platform-express": "^10.0.0" - }, - "peerDependenciesMeta": { - "@nestjs/microservices": { - "optional": true - }, - "@nestjs/platform-express": { - "optional": true - } - } - }, - "node_modules/@nestjs/typeorm": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@nestjs/typeorm/-/typeorm-10.0.2.tgz", - "integrity": "sha512-H738bJyydK4SQkRCTeh1aFBxoO1E9xdL/HaLGThwrqN95os5mEyAtK7BLADOS+vldP4jDZ2VQPLj4epWwRqCeQ==", - "dependencies": { - "uuid": "9.0.1" - }, - "peerDependencies": { - "@nestjs/common": "^8.0.0 || ^9.0.0 || ^10.0.0", - "@nestjs/core": "^8.0.0 || ^9.0.0 || ^10.0.0", - "reflect-metadata": "^0.1.13 || ^0.2.0", - "rxjs": "^7.2.0", - "typeorm": "^0.3.0" - } - }, - "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==", - "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==", - "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==", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nuxtjs/opencollective": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@nuxtjs/opencollective/-/opencollective-0.3.2.tgz", - "integrity": "sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==", - "dependencies": { - "chalk": "^4.1.0", - "consola": "^2.15.0", - "node-fetch": "^2.6.1" - }, - "bin": { - "opencollective": "bin/opencollective.js" - }, - "engines": { - "node": ">=8.0.0", - "npm": ">=5.0.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==", - "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, - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, - "node_modules/@protobufjs/aspromise": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" - }, - "node_modules/@protobufjs/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" - }, - "node_modules/@protobufjs/codegen": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" - }, - "node_modules/@protobufjs/eventemitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" - }, - "node_modules/@protobufjs/fetch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", - "dependencies": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" - } - }, - "node_modules/@protobufjs/float": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" - }, - "node_modules/@protobufjs/inquire": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" - }, - "node_modules/@protobufjs/path": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" - }, - "node_modules/@protobufjs/pool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" - }, - "node_modules/@protobufjs/utf8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" - }, - "node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, - "node_modules/@sinonjs/commons": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", - "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.0" - } - }, - "node_modules/@sqltools/formatter": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/@sqltools/formatter/-/formatter-1.2.5.tgz", - "integrity": "sha512-Uy0+khmZqUrUGm5dmMqVlnvufZRSK0FbYzVgp0UMstm+F5+W2/jnEEQyc9vo1ZR/E5ZI/B1WjjoTqBqwJL6Krw==" - }, - "node_modules/@testim/chrome-version": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@testim/chrome-version/-/chrome-version-1.1.4.tgz", - "integrity": "sha512-kIhULpw9TrGYnHp/8VfdcneIcxKnLixmADtukQRtJUmsVlMg0niMkwV0xZmi8hqa57xqilIHjWFA0GKvEjVU5g==", - "optional": true - }, - "node_modules/@tootallnate/quickjs-emscripten": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", - "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==", - "optional": true - }, - "node_modules/@tsconfig/node10": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", - "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", - "devOptional": true - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "devOptional": true - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "devOptional": true - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "devOptional": true - }, - "node_modules/@types/accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Pay9fq2lM2wXPWbteBsRAGiWH2hig4ZE2asK+mm7kUzlxRTfL961rj89I6zV/E3PcIkDqyuBEcMxFT7rccugeQ==", - "dependencies": { - "@types/node": "*" - } - }, - "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.8", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", - "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", - "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.20.7" - } - }, - "node_modules/@types/body-parser": { - "version": "1.19.5", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", - "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "node_modules/@types/connect": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", - "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/cookiejar": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.5.tgz", - "integrity": "sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==", - "dev": true - }, - "node_modules/@types/cors": { - "version": "2.8.12", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", - "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==" - }, - "node_modules/@types/eslint": { - "version": "8.56.10", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz", - "integrity": "sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==", - "dev": true, - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "dev": true, - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", - "dev": true - }, - "node_modules/@types/express": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", - "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "node_modules/@types/express-serve-static-core": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.0.tgz", - "integrity": "sha512-bGyep3JqPCRry1wq+O5n7oiBgGWmeIJXPjXXCo8EK0u8duZGSYar7cGqd3ML2JUsLGeB7fmc06KYo9fLGWqPvQ==", - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "node_modules/@types/graceful-fs": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", - "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/http-errors": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", - "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==" - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "dev": true - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/jest": { - "version": "29.5.12", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz", - "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==", - "dev": true, - "dependencies": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" - } - }, - "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/long": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", - "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" - }, - "node_modules/@types/methods": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@types/methods/-/methods-1.1.4.tgz", - "integrity": "sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==", - "dev": true - }, - "node_modules/@types/mime": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==" - }, - "node_modules/@types/node": { - "version": "20.12.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz", - "integrity": "sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==", - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/@types/node-fetch": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.11.tgz", - "integrity": "sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==", - "peer": true, - "dependencies": { - "@types/node": "*", - "form-data": "^4.0.0" - } - }, - "node_modules/@types/qs": { - "version": "6.9.15", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz", - "integrity": "sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==" - }, - "node_modules/@types/range-parser": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", - "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==" - }, - "node_modules/@types/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/send": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", - "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "node_modules/@types/serve-static": { - "version": "1.15.7", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", - "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", - "dependencies": { - "@types/http-errors": "*", - "@types/node": "*", - "@types/send": "*" - } - }, - "node_modules/@types/stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", - "dev": true - }, - "node_modules/@types/superagent": { - "version": "8.1.6", - "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-8.1.6.tgz", - "integrity": "sha512-yzBOv+6meEHSzV2NThYYOA6RtqvPr3Hbob9ZLp3i07SH27CrYVfm8CrF7ydTmidtelsFiKx2I4gZAiAOamGgvQ==", - "dev": true, - "dependencies": { - "@types/cookiejar": "^2.1.5", - "@types/methods": "^1.1.4", - "@types/node": "*" - } - }, - "node_modules/@types/supertest": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-6.0.2.tgz", - "integrity": "sha512-137ypx2lk/wTQbW6An6safu9hXmajAifU/s7szAHLN/FeIm5w7yR0Wkl9fdJMRSHwOn4HLAI0DaB2TOORuhPDg==", - "dev": true, - "dependencies": { - "@types/methods": "^1.1.4", - "@types/superagent": "^8.1.0" - } - }, - "node_modules/@types/uuid": { - "version": "9.0.8", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", - "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==" - }, - "node_modules/@types/validator": { - "version": "13.11.9", - "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.11.9.tgz", - "integrity": "sha512-FCTsikRozryfayPuiI46QzH3fnrOoctTjvOYZkho9BTFLCOZ2rgZJHMOVgCOfttjPJcgOx52EpkY0CMfy87MIw==", - "devOptional": true - }, - "node_modules/@types/yargs": { - "version": "17.0.32", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", - "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", - "dev": true - }, - "node_modules/@types/yauzl": { - "version": "2.10.3", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", - "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", - "optional": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", - "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", - "dev": true, - "dependencies": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/type-utils": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "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" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "debug": "^4.3.4" - }, - "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" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "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/@typescript-eslint/type-utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", - "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", - "dev": true, - "dependencies": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "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/@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/@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/@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/@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==", - "dev": true - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", - "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", - "dev": true, - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", - "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", - "dev": true, - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", - "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.12.1" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", - "dev": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", - "dev": true, - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", - "dev": true - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", - "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-opt": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1", - "@webassemblyjs/wast-printer": "1.12.1" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", - "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", - "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", - "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", - "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "devOptional": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", - "dev": true, - "peerDependencies": { - "acorn": "^8" - } - }, - "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, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", - "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", - "devOptional": true, - "engines": { - "node": ">=0.4.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==", - "optional": 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/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/anymatch/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/apollo-datasource": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/apollo-datasource/-/apollo-datasource-3.3.2.tgz", - "integrity": "sha512-L5TiS8E2Hn/Yz7SSnWIVbZw0ZfEIXZCa5VUiVxD9P53JvSrf4aStvsFDlGWPvpIdCR+aly2CfoB79B9/JjKFqg==", - "deprecated": "The `apollo-datasource` package is part of Apollo Server v2 and v3, which are now deprecated (end-of-life October 22nd 2023 and October 22nd 2024, respectively). See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.", - "dependencies": { - "@apollo/utils.keyvaluecache": "^1.0.1", - "apollo-server-env": "^4.2.1" - }, - "engines": { - "node": ">=12.0" - } - }, - "node_modules/apollo-datasource/node_modules/@apollo/utils.keyvaluecache": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@apollo/utils.keyvaluecache/-/utils.keyvaluecache-1.0.2.tgz", - "integrity": "sha512-p7PVdLPMnPzmXSQVEsy27cYEjVON+SH/Wb7COyW3rQN8+wJgT1nv9jZouYtztWW8ZgTkii5T6tC9qfoDREd4mg==", - "dependencies": { - "@apollo/utils.logger": "^1.0.0", - "lru-cache": "7.10.1 - 7.13.1" - } - }, - "node_modules/apollo-datasource/node_modules/@apollo/utils.logger": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.logger/-/utils.logger-1.0.1.tgz", - "integrity": "sha512-XdlzoY7fYNK4OIcvMD2G94RoFZbzTQaNP0jozmqqMudmaGo2I/2Jx71xlDJ801mWA/mbYRihyaw6KJii7k5RVA==" - }, - "node_modules/apollo-datasource/node_modules/lru-cache": { - "version": "7.13.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.13.1.tgz", - "integrity": "sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ==", - "engines": { - "node": ">=12" - } - }, - "node_modules/apollo-reporting-protobuf": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/apollo-reporting-protobuf/-/apollo-reporting-protobuf-3.4.0.tgz", - "integrity": "sha512-h0u3EbC/9RpihWOmcSsvTW2O6RXVaD/mPEjfrPkxRPTEPWqncsgOoRJw+wih4OqfH3PvTJvoEIf4LwKrUaqWog==", - "deprecated": "The `apollo-reporting-protobuf` package is part of Apollo Server v2 and v3, which are now deprecated (end-of-life October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/usage-reporting-protobuf` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.", - "dependencies": { - "@apollo/protobufjs": "1.2.6" - } - }, - "node_modules/apollo-reporting-protobuf/node_modules/@apollo/protobufjs": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@apollo/protobufjs/-/protobufjs-1.2.6.tgz", - "integrity": "sha512-Wqo1oSHNUj/jxmsVp4iR3I480p6qdqHikn38lKrFhfzcDJ7lwd7Ck7cHRl4JE81tWNArl77xhnG/OkZhxKBYOw==", - "hasInstallScript": true, - "dependencies": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^4.0.0", - "@types/node": "^10.1.0", - "long": "^4.0.0" - }, - "bin": { - "apollo-pbjs": "bin/pbjs", - "apollo-pbts": "bin/pbts" - } - }, - "node_modules/apollo-reporting-protobuf/node_modules/@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" - }, - "node_modules/apollo-server-core": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-3.13.0.tgz", - "integrity": "sha512-v/g6DR6KuHn9DYSdtQijz8dLOkP78I5JSVJzPkARhDbhpH74QNwrQ2PP2URAPPEDJ2EeZNQDX8PvbYkAKqg+kg==", - "dependencies": { - "@apollo/utils.keyvaluecache": "^1.0.1", - "@apollo/utils.logger": "^1.0.0", - "@apollo/utils.usagereporting": "^1.0.0", - "@apollographql/apollo-tools": "^0.5.3", - "@apollographql/graphql-playground-html": "1.6.29", - "@graphql-tools/mock": "^8.1.2", - "@graphql-tools/schema": "^8.0.0", - "@josephg/resolvable": "^1.0.0", - "apollo-datasource": "^3.3.2", - "apollo-reporting-protobuf": "^3.4.0", - "apollo-server-env": "^4.2.1", - "apollo-server-errors": "^3.3.1", - "apollo-server-plugin-base": "^3.7.2", - "apollo-server-types": "^3.8.0", - "async-retry": "^1.2.1", - "fast-json-stable-stringify": "^2.1.0", - "graphql-tag": "^2.11.0", - "loglevel": "^1.6.8", - "lru-cache": "^6.0.0", - "node-abort-controller": "^3.0.1", - "sha.js": "^2.4.11", - "uuid": "^9.0.0", - "whatwg-mimetype": "^3.0.0" - }, - "engines": { - "node": ">=12.0" - }, - "peerDependencies": { - "graphql": "^15.3.0 || ^16.0.0" - } - }, - "node_modules/apollo-server-core/node_modules/@apollo/utils.dropunuseddefinitions": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@apollo/utils.dropunuseddefinitions/-/utils.dropunuseddefinitions-1.1.0.tgz", - "integrity": "sha512-jU1XjMr6ec9pPoL+BFWzEPW7VHHulVdGKMkPAMiCigpVIT11VmCbnij0bWob8uS3ODJ65tZLYKAh/55vLw2rbg==", - "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "graphql": "14.x || 15.x || 16.x" - } - }, - "node_modules/apollo-server-core/node_modules/@apollo/utils.keyvaluecache": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@apollo/utils.keyvaluecache/-/utils.keyvaluecache-1.0.2.tgz", - "integrity": "sha512-p7PVdLPMnPzmXSQVEsy27cYEjVON+SH/Wb7COyW3rQN8+wJgT1nv9jZouYtztWW8ZgTkii5T6tC9qfoDREd4mg==", - "dependencies": { - "@apollo/utils.logger": "^1.0.0", - "lru-cache": "7.10.1 - 7.13.1" - } - }, - "node_modules/apollo-server-core/node_modules/@apollo/utils.keyvaluecache/node_modules/lru-cache": { - "version": "7.13.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.13.1.tgz", - "integrity": "sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ==", - "engines": { - "node": ">=12" - } - }, - "node_modules/apollo-server-core/node_modules/@apollo/utils.logger": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.logger/-/utils.logger-1.0.1.tgz", - "integrity": "sha512-XdlzoY7fYNK4OIcvMD2G94RoFZbzTQaNP0jozmqqMudmaGo2I/2Jx71xlDJ801mWA/mbYRihyaw6KJii7k5RVA==" - }, - "node_modules/apollo-server-core/node_modules/@apollo/utils.printwithreducedwhitespace": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@apollo/utils.printwithreducedwhitespace/-/utils.printwithreducedwhitespace-1.1.0.tgz", - "integrity": "sha512-GfFSkAv3n1toDZ4V6u2d7L4xMwLA+lv+6hqXicMN9KELSJ9yy9RzuEXaX73c/Ry+GzRsBy/fdSUGayGqdHfT2Q==", - "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "graphql": "14.x || 15.x || 16.x" - } - }, - "node_modules/apollo-server-core/node_modules/@apollo/utils.removealiases": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@apollo/utils.removealiases/-/utils.removealiases-1.0.0.tgz", - "integrity": "sha512-6cM8sEOJW2LaGjL/0vHV0GtRaSekrPQR4DiywaApQlL9EdROASZU5PsQibe2MWeZCOhNrPRuHh4wDMwPsWTn8A==", - "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "graphql": "14.x || 15.x || 16.x" - } - }, - "node_modules/apollo-server-core/node_modules/@apollo/utils.sortast": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@apollo/utils.sortast/-/utils.sortast-1.1.0.tgz", - "integrity": "sha512-VPlTsmUnOwzPK5yGZENN069y6uUHgeiSlpEhRnLFYwYNoJHsuJq2vXVwIaSmts015WTPa2fpz1inkLYByeuRQA==", - "dependencies": { - "lodash.sortby": "^4.7.0" - }, - "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "graphql": "14.x || 15.x || 16.x" - } - }, - "node_modules/apollo-server-core/node_modules/@apollo/utils.stripsensitiveliterals": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@apollo/utils.stripsensitiveliterals/-/utils.stripsensitiveliterals-1.2.0.tgz", - "integrity": "sha512-E41rDUzkz/cdikM5147d8nfCFVKovXxKBcjvLEQ7bjZm/cg9zEcXvS6vFY8ugTubI3fn6zoqo0CyU8zT+BGP9w==", - "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "graphql": "14.x || 15.x || 16.x" - } - }, - "node_modules/apollo-server-core/node_modules/@apollo/utils.usagereporting": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.usagereporting/-/utils.usagereporting-1.0.1.tgz", - "integrity": "sha512-6dk+0hZlnDbahDBB2mP/PZ5ybrtCJdLMbeNJD+TJpKyZmSY6bA3SjI8Cr2EM9QA+AdziywuWg+SgbWUF3/zQqQ==", - "dependencies": { - "@apollo/usage-reporting-protobuf": "^4.0.0", - "@apollo/utils.dropunuseddefinitions": "^1.1.0", - "@apollo/utils.printwithreducedwhitespace": "^1.1.0", - "@apollo/utils.removealiases": "1.0.0", - "@apollo/utils.sortast": "^1.1.0", - "@apollo/utils.stripsensitiveliterals": "^1.2.0" - }, - "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "graphql": "14.x || 15.x || 16.x" - } - }, - "node_modules/apollo-server-core/node_modules/@graphql-tools/merge": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.3.1.tgz", - "integrity": "sha512-BMm99mqdNZbEYeTPK3it9r9S6rsZsQKtlqJsSBknAclXq2pGEfOxjcIZi+kBSkHZKPKCRrYDd5vY0+rUmIHVLg==", - "dependencies": { - "@graphql-tools/utils": "8.9.0", - "tslib": "^2.4.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/apollo-server-core/node_modules/@graphql-tools/schema": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-8.5.1.tgz", - "integrity": "sha512-0Esilsh0P/qYcB5DKQpiKeQs/jevzIadNTaT0jeWklPMwNbT7yMX4EqZany7mbeRRlSRwMzNzL5olyFdffHBZg==", - "dependencies": { - "@graphql-tools/merge": "8.3.1", - "@graphql-tools/utils": "8.9.0", - "tslib": "^2.4.0", - "value-or-promise": "1.0.11" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/apollo-server-core/node_modules/@graphql-tools/utils": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.9.0.tgz", - "integrity": "sha512-pjJIWH0XOVnYGXCqej8g/u/tsfV4LvLlj0eATKQu5zwnxd/TiTHq7Cg313qUPTFFHZ3PP5wJ15chYVtLDwaymg==", - "dependencies": { - "tslib": "^2.4.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/apollo-server-core/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==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/apollo-server-core/node_modules/value-or-promise": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/value-or-promise/-/value-or-promise-1.0.11.tgz", - "integrity": "sha512-41BrgH+dIbCFXClcSapVs5M6GkENd3gQOJpEfPDNa71LsUGMXDL0jMWpI/Rh7WhX+Aalfz2TTS3Zt5pUsbnhLg==", - "engines": { - "node": ">=12" - } - }, - "node_modules/apollo-server-core/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/apollo-server-env": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/apollo-server-env/-/apollo-server-env-4.2.1.tgz", - "integrity": "sha512-vm/7c7ld+zFMxibzqZ7SSa5tBENc4B0uye9LTfjJwGoQFY5xsUPH5FpO5j0bMUDZ8YYNbrF9SNtzc5Cngcr90g==", - "deprecated": "The `apollo-server-env` package is part of Apollo Server v2 and v3, which are now deprecated (end-of-life October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/utils.fetcher` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.", - "dependencies": { - "node-fetch": "^2.6.7" - }, - "engines": { - "node": ">=12.0" - } - }, - "node_modules/apollo-server-errors": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/apollo-server-errors/-/apollo-server-errors-3.3.1.tgz", - "integrity": "sha512-xnZJ5QWs6FixHICXHxUfm+ZWqqxrNuPlQ+kj5m6RtEgIpekOPssH/SD9gf2B4HuWV0QozorrygwZnux8POvyPA==", - "deprecated": "The `apollo-server-errors` package is part of Apollo Server v2 and v3, which are now deprecated (end-of-life October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/server` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.", - "engines": { - "node": ">=12.0" - }, - "peerDependencies": { - "graphql": "^15.3.0 || ^16.0.0" - } - }, - "node_modules/apollo-server-express": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/apollo-server-express/-/apollo-server-express-3.13.0.tgz", - "integrity": "sha512-iSxICNbDUyebOuM8EKb3xOrpIwOQgKxGbR2diSr4HP3IW8T3njKFOoMce50vr+moOCe1ev8BnLcw9SNbuUtf7g==", - "dependencies": { - "@types/accepts": "^1.3.5", - "@types/body-parser": "1.19.2", - "@types/cors": "2.8.12", - "@types/express": "4.17.14", - "@types/express-serve-static-core": "4.17.31", - "accepts": "^1.3.5", - "apollo-server-core": "^3.13.0", - "apollo-server-types": "^3.8.0", - "body-parser": "^1.19.0", - "cors": "^2.8.5", - "parseurl": "^1.3.3" - }, - "engines": { - "node": ">=12.0" - }, - "peerDependencies": { - "express": "^4.17.1", - "graphql": "^15.3.0 || ^16.0.0" - } - }, - "node_modules/apollo-server-express/node_modules/@types/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "node_modules/apollo-server-express/node_modules/@types/express": { - "version": "4.17.14", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.14.tgz", - "integrity": "sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg==", - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.18", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "node_modules/apollo-server-express/node_modules/@types/express-serve-static-core": { - "version": "4.17.31", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz", - "integrity": "sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==", - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, - "node_modules/apollo-server-plugin-base": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/apollo-server-plugin-base/-/apollo-server-plugin-base-3.7.2.tgz", - "integrity": "sha512-wE8dwGDvBOGehSsPTRZ8P/33Jan6/PmL0y0aN/1Z5a5GcbFhDaaJCjK5cav6npbbGL2DPKK0r6MPXi3k3N45aw==", - "deprecated": "The `apollo-server-plugin-base` package is part of Apollo Server v2 and v3, which are now deprecated (end-of-life October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/server` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.", - "dependencies": { - "apollo-server-types": "^3.8.0" - }, - "engines": { - "node": ">=12.0" - }, - "peerDependencies": { - "graphql": "^15.3.0 || ^16.0.0" - } - }, - "node_modules/apollo-server-types": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/apollo-server-types/-/apollo-server-types-3.8.0.tgz", - "integrity": "sha512-ZI/8rTE4ww8BHktsVpb91Sdq7Cb71rdSkXELSwdSR0eXu600/sY+1UXhTWdiJvk+Eq5ljqoHLwLbY2+Clq2b9A==", - "deprecated": "The `apollo-server-types` package is part of Apollo Server v2 and v3, which are now deprecated (end-of-life October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/server` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.", - "dependencies": { - "@apollo/utils.keyvaluecache": "^1.0.1", - "@apollo/utils.logger": "^1.0.0", - "apollo-reporting-protobuf": "^3.4.0", - "apollo-server-env": "^4.2.1" - }, - "engines": { - "node": ">=12.0" - }, - "peerDependencies": { - "graphql": "^15.3.0 || ^16.0.0" - } - }, - "node_modules/apollo-server-types/node_modules/@apollo/utils.keyvaluecache": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@apollo/utils.keyvaluecache/-/utils.keyvaluecache-1.0.2.tgz", - "integrity": "sha512-p7PVdLPMnPzmXSQVEsy27cYEjVON+SH/Wb7COyW3rQN8+wJgT1nv9jZouYtztWW8ZgTkii5T6tC9qfoDREd4mg==", - "dependencies": { - "@apollo/utils.logger": "^1.0.0", - "lru-cache": "7.10.1 - 7.13.1" - } - }, - "node_modules/apollo-server-types/node_modules/@apollo/utils.logger": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.logger/-/utils.logger-1.0.1.tgz", - "integrity": "sha512-XdlzoY7fYNK4OIcvMD2G94RoFZbzTQaNP0jozmqqMudmaGo2I/2Jx71xlDJ801mWA/mbYRihyaw6KJii7k5RVA==" - }, - "node_modules/apollo-server-types/node_modules/lru-cache": { - "version": "7.13.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.13.1.tgz", - "integrity": "sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ==", - "engines": { - "node": ">=12" - } - }, - "node_modules/app-root-path": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-3.1.0.tgz", - "integrity": "sha512-biN3PwB2gUtjaYy/isrU3aNWI5w+fAfvHkSvCKeQGxhmYpwKFUxudR3Yya+KqVRHBmEDYh+/lTozYCFbmzX4nA==", - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/append-field": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", - "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==" - }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "devOptional": true - }, - "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/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, - "node_modules/array-timsort": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-timsort/-/array-timsort-1.0.3.tgz", - "integrity": "sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==", - "dev": true - }, - "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/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", - "dev": true - }, - "node_modules/asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/ast-types": { - "version": "0.13.4", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", - "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", - "optional": true, - "dependencies": { - "tslib": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/async-retry": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.3.tgz", - "integrity": "sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==", - "dependencies": { - "retry": "0.13.1" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "node_modules/axios": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", - "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", - "optional": true, - "dependencies": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "node_modules/babel-jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", - "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", - "dev": true, - "dependencies": { - "@jest/transform": "^29.7.0", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.6.3", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" - } - }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dev": true, - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-istanbul/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-plugin-jest-hoist": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", - "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", - "dev": true, - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "dev": true, - "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/babel-preset-jest": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", - "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", - "dev": true, - "dependencies": { - "babel-plugin-jest-hoist": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/backo2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", - "integrity": "sha512-zj6Z6M7Eq+PBZ7PQxl5NT665MvJdAkzp0f60nAJ+sLaSCBPMwVak5ZegFbgVCzFcCJTKFoMizvM5Ld7+JrRJHA==" - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/basic-ftp": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz", - "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==", - "optional": true, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/bl/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" - }, - "node_modules/browserslist": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", - "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", - "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" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", - "dev": true, - "dependencies": { - "fast-json-stable-stringify": "2.x" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "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": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", - "optional": true, - "engines": { - "node": "*" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "node_modules/busboy": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", - "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", - "dependencies": { - "streamsearch": "^1.1.0" - }, - "engines": { - "node": ">=10.16.0" - } - }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" - }, - "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": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001612", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001612.tgz", - "integrity": "sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g==", - "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" - } - ] - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/chromedriver": { - "version": "123.0.4", - "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-123.0.4.tgz", - "integrity": "sha512-3Yi7y7q35kkSAOTbRisiww/SL2w+DqafDPAaUShpSuLMmPaOvHQR0i3bm2/33QBiQ8fUb1J/MzppzVL6IDqvhA==", - "hasInstallScript": true, - "optional": true, - "dependencies": { - "@testim/chrome-version": "^1.1.4", - "axios": "^1.6.7", - "compare-versions": "^6.1.0", - "extract-zip": "^2.0.1", - "proxy-agent": "^6.4.0", - "proxy-from-env": "^1.1.0", - "tcp-port-used": "^1.0.2" - }, - "bin": { - "chromedriver": "bin/chromedriver" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "engines": { - "node": ">=8" - } - }, - "node_modules/cjs-module-lexer": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", - "dev": true - }, - "node_modules/class-transformer": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.5.1.tgz", - "integrity": "sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw==" - }, - "node_modules/class-validator": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/class-validator/-/class-validator-0.14.1.tgz", - "integrity": "sha512-2VEG9JICxIqTpoK1eMzZqaV+u/EiwEJkMGzTrZf6sU/fwsnOITVgYJ8yojSy6CaXtO9V0Cc6ZQZ8h8m4UBuLwQ==", - "devOptional": true, - "dependencies": { - "@types/validator": "^13.11.8", - "libphonenumber-js": "^1.10.53", - "validator": "^13.9.0" - } - }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-highlight": { - "version": "2.1.11", - "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz", - "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==", - "dependencies": { - "chalk": "^4.0.0", - "highlight.js": "^10.7.1", - "mz": "^2.4.0", - "parse5": "^5.1.1", - "parse5-htmlparser2-tree-adapter": "^6.0.0", - "yargs": "^16.0.0" - }, - "bin": { - "highlight": "bin/highlight" - }, - "engines": { - "node": ">=8.0.0", - "npm": ">=5.0.0" - } - }, - "node_modules/cli-highlight/node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/cli-highlight/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==", - "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/cli-highlight/node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cli-highlight/node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "engines": { - "node": ">=10" - } - }, - "node_modules/cli-spinners": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", - "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-table3": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", - "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0" - }, - "engines": { - "node": "10.* || >= 12.*" - }, - "optionalDependencies": { - "@colors/colors": "1.5.0" - } - }, - "node_modules/cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/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==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/cliui/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==", - "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/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "dev": true, - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/collect-v8-coverage": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", - "dev": true - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "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==" - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/comment-json": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/comment-json/-/comment-json-4.2.3.tgz", - "integrity": "sha512-SsxdiOf064DWoZLH799Ata6u7iV658A11PlWtZATDlXPpKGJnbJZ5Z24ybixAi+LUUqJ/GKowAejtC5GFUG7Tw==", - "dev": true, - "dependencies": { - "array-timsort": "^1.0.3", - "core-util-is": "^1.0.3", - "esprima": "^4.0.1", - "has-own-prop": "^2.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/compare-versions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-6.1.0.tgz", - "integrity": "sha512-LNZQXhqUvqUTotpZ00qLSaify3b4VFD588aRr8MKFw4CMUr98ytzCW5wDH5qx/DEY5kCDXcbcRuCqL0szEf2tg==", - "optional": true - }, - "node_modules/component-emitter": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", - "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/consola": { - "version": "2.15.3", - "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", - "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" - }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/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/cookie": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", - "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" - }, - "node_modules/cookiejar": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", - "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==", - "dev": true - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "node_modules/cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "dependencies": { - "object-assign": "^4", - "vary": "^1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "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/create-jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", - "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "prompts": "^2.0.1" - }, - "bin": { - "create-jest": "bin/create-jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "devOptional": true - }, - "node_modules/cross-inspect": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cross-inspect/-/cross-inspect-1.0.0.tgz", - "integrity": "sha512-4PFfn4b5ZN6FMNGSZlyb7wUhuN8wvj8t/VQHZdM4JsDcruGJ8L2kf9zao98QIrBPFCpdk27qst/AGTl7pL3ypQ==", - "dependencies": { - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "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==", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cssfilter": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/cssfilter/-/cssfilter-0.0.10.tgz", - "integrity": "sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw==" - }, - "node_modules/data-uri-to-buffer": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", - "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==", - "optional": true, - "engines": { - "node": ">= 14" - } - }, - "node_modules/dayjs": { - "version": "1.11.10", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", - "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/dedent": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", - "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", - "dev": true, - "peerDependencies": { - "babel-plugin-macros": "^3.1.0" - }, - "peerDependenciesMeta": { - "babel-plugin-macros": { - "optional": true - } - } - }, - "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==", - "devOptional": true - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "dev": true, - "dependencies": { - "clone": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/degenerator": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", - "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", - "optional": true, - "dependencies": { - "ast-types": "^0.13.4", - "escodegen": "^2.1.0", - "esprima": "^4.0.1" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/dezalgo": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", - "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", - "dev": true, - "dependencies": { - "asap": "^2.0.0", - "wrappy": "1" - } - }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "devOptional": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/diff-sequences": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "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/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dotenv": { - "version": "16.4.5", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", - "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://dotenvx.com" - } - }, - "node_modules/dotenv-expand": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-10.0.0.tgz", - "integrity": "sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/dset": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.3.tgz", - "integrity": "sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - }, - "node_modules/electron-to-chromium": { - "version": "1.4.746", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.746.tgz", - "integrity": "sha512-jeWaIta2rIG2FzHaYIhSuVWqC6KJYo7oSBX4Jv7g+aVujKztfvdpf+n6MGwZdC5hQXbax4nntykLH2juIQrfPg==", - "dev": true - }, - "node_modules/elliptic": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.5.tgz", - "integrity": "sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==", - "dependencies": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "optional": true, - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/enhanced-resolve": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", - "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "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-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", - "dependencies": { - "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==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-module-lexer": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.0.tgz", - "integrity": "sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw==", - "dev": true - }, - "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/escodegen": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", - "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", - "optional": true, - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, - "node_modules/escodegen/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "optional": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/escodegen/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "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-plugin-prettier": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz", - "integrity": "sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==", - "dev": true, - "dependencies": { - "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.8.6" - }, - "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-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": "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, - "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/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, - "engines": { - "node": ">=4.0" - } - }, - "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/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, - "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/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "devOptional": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "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/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "devOptional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/eventemitter3": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", - "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/execa/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", - "dev": true, - "dependencies": { - "@jest/expect-utils": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/express": { - "version": "4.19.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", - "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.2", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.6.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/express/node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" - }, - "node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/extract-zip": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", - "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", - "optional": true, - "dependencies": { - "debug": "^4.1.1", - "get-stream": "^5.1.0", - "yauzl": "^2.10.0" - }, - "bin": { - "extract-zip": "cli.js" - }, - "engines": { - "node": ">= 10.17.0" - }, - "optionalDependencies": { - "@types/yauzl": "^2.9.1" - } - }, - "node_modules/extract-zip/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "optional": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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.3.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", - "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", - "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==", - "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==" - }, - "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/fast-safe-stringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", - "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" - }, - "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "dev": true, - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", - "optional": true, - "dependencies": { - "pend": "~1.2.0" - } - }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/figures/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "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/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", - "dev": true, - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flat-cache/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/flat-cache/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/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/follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "optional": true, - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "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==", - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/fork-ts-checker-webpack-plugin": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-9.0.2.tgz", - "integrity": "sha512-Uochze2R8peoN1XqlSi/rGUkDQpRogtLFocP9+PGu68zk1BDAKXfdeCdyVZpgTk8V8WFVQXdEz426VKjXLO1Gg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.16.7", - "chalk": "^4.1.2", - "chokidar": "^3.5.3", - "cosmiconfig": "^8.2.0", - "deepmerge": "^4.2.2", - "fs-extra": "^10.0.0", - "memfs": "^3.4.1", - "minimatch": "^3.0.4", - "node-abort-controller": "^3.0.1", - "schema-utils": "^3.1.1", - "semver": "^7.3.5", - "tapable": "^2.2.1" - }, - "engines": { - "node": ">=12.13.0", - "yarn": ">=1.0.0" - }, - "peerDependencies": { - "typescript": ">3.6.0", - "webpack": "^5.11.0" - } - }, - "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==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/formidable": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.2.tgz", - "integrity": "sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==", - "dev": true, - "dependencies": { - "dezalgo": "^1.0.4", - "hexoid": "^1.0.0", - "once": "^1.4.0", - "qs": "^6.11.0" - }, - "funding": { - "url": "https://ko-fi.com/tunnckoCore/commissions" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/fs-monkey": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", - "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==", - "dev": true - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^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==", - "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==", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", - "dependencies": { - "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-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-uri": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.3.tgz", - "integrity": "sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==", - "optional": true, - "dependencies": { - "basic-ftp": "^5.0.2", - "data-uri-to-buffer": "^6.0.2", - "debug": "^4.3.4", - "fs-extra": "^11.2.0" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/get-uri/node_modules/fs-extra": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", - "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", - "optional": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "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==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true - }, - "node_modules/glob/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==", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "devOptional": 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/graphql": { - "version": "16.8.1", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.8.1.tgz", - "integrity": "sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==", - "engines": { - "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" - } - }, - "node_modules/graphql-tag": { - "version": "2.12.6", - "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz", - "integrity": "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==", - "dependencies": { - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" - } - }, - "node_modules/graphql-ws": { - "version": "5.14.3", - "resolved": "https://registry.npmjs.org/graphql-ws/-/graphql-ws-5.14.3.tgz", - "integrity": "sha512-F/i2xNIVbaEF2xWggID0X/UZQa2V8kqKDPO8hwmu53bVOcTL7uNkxnexeEgSCVxYBQUTUNEI8+e4LO1FOhKPKQ==", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "graphql": ">=0.11 <=16" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-own-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-own-prop/-/has-own-prop-2.0.0.tgz", - "integrity": "sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==", - "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==", - "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==", - "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==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/hexoid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz", - "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/highlight.js": { - "version": "10.7.3", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", - "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", - "engines": { - "node": "*" - } - }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "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/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "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==", - "optional": true, - "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/https-proxy-agent": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", - "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", - "optional": true, - "dependencies": { - "agent-base": "^7.0.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "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-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/inquirer": { - "version": "8.2.6", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz", - "integrity": "sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.4.1", - "run-async": "^2.4.0", - "rxjs": "^7.5.5", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6", - "wrap-ansi": "^6.0.1" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/ip-address": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", - "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", - "optional": true, - "dependencies": { - "jsbn": "1.1.0", - "sprintf-js": "^1.1.3" - }, - "engines": { - "node": ">= 12" - } - }, - "node_modules/ip-regex": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", - "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", - "optional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "engines": { - "node": ">= 0.10" - } - }, - "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-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==", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "dev": true, - "dependencies": { - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-url": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", - "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", - "optional": true - }, - "node_modules/is2": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/is2/-/is2-2.0.9.tgz", - "integrity": "sha512-rZkHeBn9Zzq52sd9IUIV3a5mfwBY+o2HePMh0wkGBM4z4qjvy2GwVxQ6nNXSfw6MmVP6gf1QIlWjiOavhM3x5g==", - "optional": true, - "dependencies": { - "deep-is": "^0.1.3", - "ip-regex": "^4.1.0", - "is-url": "^1.2.4" - }, - "engines": { - "node": ">=v0.10.0" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "node_modules/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-instrument": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz", - "integrity": "sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.23.9", - "@babel/parser": "^7.23.9", - "@istanbuljs/schema": "^0.1.3", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^7.5.4" - }, - "engines": { - "node": ">=10" - } - }, - "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-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-source-maps/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/istanbul-reports": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", - "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", - "dev": true, - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/iterall": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.3.0.tgz", - "integrity": "sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==" - }, - "node_modules/iterare": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/iterare/-/iterare-1.2.1.tgz", - "integrity": "sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==", - "engines": { - "node": ">=6" - } - }, - "node_modules/jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", - "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", - "dev": true, - "dependencies": { - "@jest/core": "^29.7.0", - "@jest/types": "^29.6.3", - "import-local": "^3.0.2", - "jest-cli": "^29.7.0" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-changed-files": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", - "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", - "dev": true, - "dependencies": { - "execa": "^5.0.0", - "jest-util": "^29.7.0", - "p-limit": "^3.1.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-circus": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", - "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/expect": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^1.0.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.7.0", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "p-limit": "^3.1.0", - "pretty-format": "^29.7.0", - "pure-rand": "^6.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-cli": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", - "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", - "dev": true, - "dependencies": { - "@jest/core": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "create-jest": "^29.7.0", - "exit": "^0.1.2", - "import-local": "^3.0.2", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "yargs": "^17.3.1" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-config": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", - "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.7.0", - "@jest/types": "^29.6.3", - "babel-jest": "^29.7.0", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.7.0", - "jest-environment-node": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@types/node": "*", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/jest-config/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/jest-diff": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", - "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.6.3", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-docblock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", - "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", - "dev": true, - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-each": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", - "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "jest-util": "^29.7.0", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-environment-node": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", - "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-get-type": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-haste-map": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", - "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/jest-leak-detector": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", - "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", - "dev": true, - "dependencies": { - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-matcher-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", - "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-message-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", - "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-mock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", - "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "dev": true, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } - } - }, - "node_modules/jest-regex-util": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", - "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-resolve": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", - "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "resolve": "^1.20.0", - "resolve.exports": "^2.0.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-resolve-dependencies": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", - "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", - "dev": true, - "dependencies": { - "jest-regex-util": "^29.6.3", - "jest-snapshot": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-runner": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", - "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", - "dev": true, - "dependencies": { - "@jest/console": "^29.7.0", - "@jest/environment": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.7.0", - "jest-environment-node": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-leak-detector": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-resolve": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-util": "^29.7.0", - "jest-watcher": "^29.7.0", - "jest-worker": "^29.7.0", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-runner/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jest-runner/node_modules/source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/jest-runtime": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", - "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/globals": "^29.7.0", - "@jest/source-map": "^29.6.3", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-runtime/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/jest-snapshot": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", - "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "natural-compare": "^1.4.0", - "pretty-format": "^29.7.0", - "semver": "^7.5.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-util/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/jest-validate": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", - "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "leven": "^3.1.0", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-validate/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/jest-watcher": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", - "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", - "dev": true, - "dependencies": { - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.7.0", - "string-length": "^4.0.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", - "dev": true, - "dependencies": { - "@types/node": "*", - "jest-util": "^29.7.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/js-levenshtein": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", - "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", - "engines": { - "node": ">=0.10.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==", - "dev": true - }, - "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/jsbn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", - "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", - "optional": true - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "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/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/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "devOptional": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jwk-to-pem": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/jwk-to-pem/-/jwk-to-pem-2.0.5.tgz", - "integrity": "sha512-L90jwellhO8jRKYwbssU9ifaMVqajzj3fpRjDKcsDzrslU9syRbFqfkXtT4B89HYAap+xsxNcxgBSB09ig+a7A==", - "dependencies": { - "asn1.js": "^5.3.0", - "elliptic": "^6.5.4", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/keycloak-connect": { - "version": "24.0.3", - "resolved": "https://registry.npmjs.org/keycloak-connect/-/keycloak-connect-24.0.3.tgz", - "integrity": "sha512-kG3JH9MvttJMyGgXAvfxBj4/G5PAIFZQBNjaZ0gVcE28qspRpUKAazLnFj1L7oISOeSVXFEF4JJBwDPbnNeGKg==", - "dependencies": { - "jwk-to-pem": "^2.0.0" - }, - "engines": { - "node": ">=14" - }, - "optionalDependencies": { - "chromedriver": "latest" - } - }, - "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/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/levn": { - "version": "0.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/libphonenumber-js": { - "version": "1.10.61", - "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.10.61.tgz", - "integrity": "sha512-TsQsyzDttDvvzWNkbp/i0fVbzTGJIG0mUu/uNalIaRQEYeJxVQ/FPg+EJgSqfSXezREjM0V3RZ8cLVsKYhhw0Q==", - "devOptional": true - }, - "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/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "dev": true, - "engines": { - "node": ">=6.11.5" - } - }, - "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/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "dev": true - }, - "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.omit": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", - "integrity": "sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg==" - }, - "node_modules/lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" - }, - "node_modules/lodash.xorby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.xorby/-/lodash.xorby-4.7.0.tgz", - "integrity": "sha512-gYiD6nvuQy0AEkMoUju+t4f4Rn18fjsLB/7x7YZFqtFT9kmegRLrj/uGEQVyVDy7otTmSrIMXNOk2wwuLcfHCQ==" - }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/loglevel": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.9.1.tgz", - "integrity": "sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==", - "engines": { - "node": ">= 0.6.0" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/loglevel" - } - }, - "node_modules/long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" - }, - "node_modules/lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - "engines": { - "node": ">=12" - } - }, - "node_modules/magic-string": { - "version": "0.30.5", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", - "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", - "dev": true, - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.15" - }, - "engines": { - "node": ">=12" - } - }, - "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/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "devOptional": true - }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "dependencies": { - "tmpl": "1.0.5" - } - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/memfs": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", - "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", - "dev": true, - "dependencies": { - "fs-monkey": "^1.0.4" - }, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/micromatch/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "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==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "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/multer": { - "version": "1.4.4-lts.1", - "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.4-lts.1.tgz", - "integrity": "sha512-WeSGziVj6+Z2/MwQo3GvqzgR+9Uc+qt8SwHKh3gvNPiISKfsMfG4SvCOFYlxxgkXt7yIV2i1yczehm0EOKIxIg==", - "dependencies": { - "append-field": "^1.0.0", - "busboy": "^1.0.0", - "concat-stream": "^1.5.2", - "mkdirp": "^0.5.4", - "object-assign": "^4.1.1", - "type-is": "^1.6.4", - "xtend": "^4.0.0" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "node_modules/mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "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/natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "node_modules/nest-keycloak-connect": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/nest-keycloak-connect/-/nest-keycloak-connect-1.10.0.tgz", - "integrity": "sha512-OhuYZEKud/YEhmyiZhPn+8Cse9NhWZkCT0elCqn3xqVTdDjqVFiRPcVUHrD6/IkuAXpe8M1AzbQFc1KooX6Xpg==", - "peerDependencies": { - "@nestjs/common": ">=6.0.0 <11.0.0", - "@nestjs/core": ">=6.0.0 <11.0.0", - "@nestjs/graphql": ">=6", - "keycloak-connect": ">=10.0.0 <25.0.0" - }, - "peerDependenciesMeta": { - "@nestjs/graphql": { - "optional": true - } - } - }, - "node_modules/netmask": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", - "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", - "optional": true, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/node-abort-controller": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", - "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==" - }, - "node_modules/node-emoji": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", - "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", - "dev": true, - "dependencies": { - "lodash": "^4.17.21" - } - }, - "node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true - }, - "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "dev": true - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "devOptional": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/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/ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "dev": true, - "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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/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/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/pac-proxy-agent": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.1.tgz", - "integrity": "sha512-ASV8yU4LLKBAjqIPMbrgtaKIvxQri/yh2OpI+S6hVa9JRkUI3Y3NPFbfngDtY7oFtSMD3w31Xns89mDa3Feo5A==", - "optional": true, - "dependencies": { - "@tootallnate/quickjs-emscripten": "^0.23.0", - "agent-base": "^7.0.2", - "debug": "^4.3.4", - "get-uri": "^6.0.1", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.2", - "pac-resolver": "^7.0.0", - "socks-proxy-agent": "^8.0.2" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/pac-resolver": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz", - "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==", - "optional": true, - "dependencies": { - "degenerator": "^5.0.0", - "netmask": "^2.0.2" - }, - "engines": { - "node": ">= 14" - } - }, - "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-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/parse5": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", - "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==" - }, - "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", - "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", - "dependencies": { - "parse5": "^6.0.1" - } - }, - "node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "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": "1.10.2", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.2.tgz", - "integrity": "sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==", - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", - "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", - "engines": { - "node": "14 || >=16.14" - } - }, - "node_modules/path-to-regexp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.2.0.tgz", - "integrity": "sha512-jczvQbCUS7XmS7o+y1aEO9OBVFeZBQ1MDSEqmO7xSoPgOPoowY/SxLpZ6Vh97/8qHZOteiCKb7gkG9gA2ZUxJA==" - }, - "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/pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", - "optional": true - }, - "node_modules/pg": { - "version": "8.11.5", - "resolved": "https://registry.npmjs.org/pg/-/pg-8.11.5.tgz", - "integrity": "sha512-jqgNHSKL5cbDjFlHyYsCXmQDrfIX/3RsNwYqpd4N0Kt8niLuNoRNH+aazv6cOd43gPh9Y4DjQCtb+X0MH0Hvnw==", - "dependencies": { - "pg-connection-string": "^2.6.4", - "pg-pool": "^3.6.2", - "pg-protocol": "^1.6.1", - "pg-types": "^2.1.0", - "pgpass": "1.x" - }, - "engines": { - "node": ">= 8.0.0" - }, - "optionalDependencies": { - "pg-cloudflare": "^1.1.1" - }, - "peerDependencies": { - "pg-native": ">=3.0.1" - }, - "peerDependenciesMeta": { - "pg-native": { - "optional": true - } - } - }, - "node_modules/pg-cloudflare": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.1.1.tgz", - "integrity": "sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==", - "optional": true - }, - "node_modules/pg-connection-string": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.4.tgz", - "integrity": "sha512-v+Z7W/0EO707aNMaAEfiGnGL9sxxumwLl2fJvCQtMn9Fxsg+lPpPkdcyBSv/KFgpGdYkMfn+EI1Or2EHjpgLCA==" - }, - "node_modules/pg-int8": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", - "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/pg-pool": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.6.2.tgz", - "integrity": "sha512-Htjbg8BlwXqSBQ9V8Vjtc+vzf/6fVUuak/3/XXKA9oxZprwW3IMDQTGHP+KDmVL7rtd+R1QjbnCFPuTHm3G4hg==", - "peerDependencies": { - "pg": ">=8.0" - } - }, - "node_modules/pg-protocol": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.6.1.tgz", - "integrity": "sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg==" - }, - "node_modules/pg-types": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", - "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", - "dependencies": { - "pg-int8": "1.0.1", - "postgres-array": "~2.0.0", - "postgres-bytea": "~1.0.0", - "postgres-date": "~1.0.4", - "postgres-interval": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/pgpass": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz", - "integrity": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==", - "dependencies": { - "split2": "^4.1.0" - } - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "node_modules/picomatch": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-3.0.1.tgz", - "integrity": "sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "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": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/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/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pluralize": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", - "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/postgres-array": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", - "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/postgres-bytea": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz", - "integrity": "sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postgres-date": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", - "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postgres-interval": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", - "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", - "dependencies": { - "xtend": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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.2.5", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", - "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", - "dev": true, - "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/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/proxy-agent": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.4.0.tgz", - "integrity": "sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==", - "optional": true, - "dependencies": { - "agent-base": "^7.0.2", - "debug": "^4.3.4", - "http-proxy-agent": "^7.0.1", - "https-proxy-agent": "^7.0.3", - "lru-cache": "^7.14.1", - "pac-proxy-agent": "^7.0.1", - "proxy-from-env": "^1.1.0", - "socks-proxy-agent": "^8.0.2" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "optional": true - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "optional": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/pure-rand": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", - "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/dubzzz" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fast-check" - } - ] - }, - "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "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==", - "dev": true - }, - "node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/readable-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/readdirp/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "dev": true, - "dependencies": { - "resolve": "^1.1.6" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/reflect-metadata": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", - "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==" - }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "engines": { - "node": ">=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/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "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-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { - "version": "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/resolve.exports": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/restore-cursor/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.5.tgz", - "integrity": "sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==", - "dependencies": { - "glob": "^10.3.7" - }, - "bin": { - "rimraf": "dist/esm/bin.mjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/schema-utils/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/schema-utils/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/schema-utils/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/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/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "dependencies": { - "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/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" - } - }, - "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==", - "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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "dev": true, - "dependencies": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "bin": { - "shjs": "bin/shjs" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/shelljs/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", - "dependencies": { - "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/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "node_modules/slash": { - "version": "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/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "optional": true, - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", - "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", - "optional": true, - "dependencies": { - "ip-address": "^9.0.5", - "smart-buffer": "^4.2.0" - }, - "engines": { - "node": ">= 10.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks-proxy-agent": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.3.tgz", - "integrity": "sha512-VNegTZKhuGq5vSD6XNKlbqWhyt/40CgoEw8XxD6dhnm8Jq9IEa3nIa4HwnM8XOqU0CdB0BwWVXusqiFXfHB3+A==", - "optional": true, - "dependencies": { - "agent-base": "^7.1.1", - "debug": "^4.3.4", - "socks": "^2.7.1" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/split2": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", - "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", - "engines": { - "node": ">= 10.x" - } - }, - "node_modules/sprintf-js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", - "optional": true - }, - "node_modules/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/streamsearch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", - "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "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": { - "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==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "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==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/subscriptions-transport-ws": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/subscriptions-transport-ws/-/subscriptions-transport-ws-0.11.0.tgz", - "integrity": "sha512-8D4C6DIH5tGiAIpp5I0wD/xRlNiZAPGHygzCe7VzyzUoxHtawzjNAY9SUTXU05/EY2NMY9/9GF0ycizkXr1CWQ==", - "deprecated": "The `subscriptions-transport-ws` package is no longer maintained. We recommend you use `graphql-ws` instead. For help migrating Apollo software to `graphql-ws`, see https://www.apollographql.com/docs/apollo-server/data/subscriptions/#switching-from-subscriptions-transport-ws For general help using `graphql-ws`, see https://github.com/enisdenjo/graphql-ws/blob/master/README.md", - "dependencies": { - "backo2": "^1.0.2", - "eventemitter3": "^3.1.0", - "iterall": "^1.2.1", - "symbol-observable": "^1.0.4", - "ws": "^5.2.0 || ^6.0.0 || ^7.0.0" - }, - "peerDependencies": { - "graphql": "^15.7.2 || ^16.0.0" - } - }, - "node_modules/subscriptions-transport-ws/node_modules/symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/subscriptions-transport-ws/node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/superagent": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz", - "integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==", - "dev": true, - "dependencies": { - "component-emitter": "^1.3.0", - "cookiejar": "^2.1.4", - "debug": "^4.3.4", - "fast-safe-stringify": "^2.1.1", - "form-data": "^4.0.0", - "formidable": "^2.1.2", - "methods": "^1.1.2", - "mime": "2.6.0", - "qs": "^6.11.0", - "semver": "^7.3.8" - }, - "engines": { - "node": ">=6.4.0 <13 || >=14" - } - }, - "node_modules/superagent/node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/supertest": { - "version": "6.3.4", - "resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.4.tgz", - "integrity": "sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw==", - "dev": true, - "dependencies": { - "methods": "^1.1.2", - "superagent": "^8.1.2" - }, - "engines": { - "node": ">=6.4.0" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/symbol-observable": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", - "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/synckit": { - "version": "0.8.8", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.8.tgz", - "integrity": "sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==", - "dev": true, - "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/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/tcp-port-used": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/tcp-port-used/-/tcp-port-used-1.0.2.tgz", - "integrity": "sha512-l7ar8lLUD3XS1V2lfoJlCBaeoaWo/2xfYt81hM7VlvR4RrMVFqfmzfhLVk40hAb368uitje5gPtBRL1m/DGvLA==", - "optional": true, - "dependencies": { - "debug": "4.3.1", - "is2": "^2.0.6" - } - }, - "node_modules/tcp-port-used/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "optional": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/terser": { - "version": "5.30.4", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.30.4.tgz", - "integrity": "sha512-xRdd0v64a8mFK9bnsKVdoNP9GQIKUAaJPTaqEQDL4w/J8WaW4sWXXoMZ+6SimPkfT5bElreXf8m9HnmPc3E1BQ==", - "dev": true, - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.10", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", - "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.20", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.26.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/terser-webpack-plugin/node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/terser-webpack-plugin/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/test-exclude/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "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/thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", - "dependencies": { - "any-promise": "^1.0.0" - } - }, - "node_modules/thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", - "dependencies": { - "thenify": ">= 3.1.0 < 4" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true - }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "node_modules/tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true, - "bin": { - "tree-kill": "cli.js" - } - }, - "node_modules/ts-jest": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.2.tgz", - "integrity": "sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==", - "dev": true, - "dependencies": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^29.0.0", - "json5": "^2.2.3", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "^7.5.3", - "yargs-parser": "^21.0.1" - }, - "bin": { - "ts-jest": "cli.js" - }, - "engines": { - "node": "^16.10.0 || ^18.0.0 || >=20.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.0.0-beta.0 <8", - "@jest/types": "^29.0.0", - "babel-jest": "^29.0.0", - "jest": "^29.0.0", - "typescript": ">=4.3 <6" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "@jest/types": { - "optional": true - }, - "babel-jest": { - "optional": true - }, - "esbuild": { - "optional": true - } - } - }, - "node_modules/ts-loader": { - "version": "9.5.1", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz", - "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4", - "source-map": "^0.7.4" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "typescript": "*", - "webpack": "^5.0.0" - } - }, - "node_modules/ts-node": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", - "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", - "devOptional": true, - "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, - "node_modules/tsconfig-paths": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", - "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", - "dev": true, - "dependencies": { - "json5": "^2.2.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tsconfig-paths-webpack-plugin": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-4.1.0.tgz", - "integrity": "sha512-xWFISjviPydmtmgeUAuXp4N1fky+VCtfhOkDUFIv5ea7p4wuTomI4QTrXvFBX2S4jZsmyTSrStQl+E+4w+RzxA==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.7.0", - "tsconfig-paths": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/tsconfig-paths/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/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "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/tsutils/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/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/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" - }, - "node_modules/typeorm": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/typeorm/-/typeorm-0.3.20.tgz", - "integrity": "sha512-sJ0T08dV5eoZroaq9uPKBoNcGslHBR4E4y+EBHs//SiGbblGe7IeduP/IH4ddCcj0qp3PHwDwGnuvqEAnKlq/Q==", - "dependencies": { - "@sqltools/formatter": "^1.2.5", - "app-root-path": "^3.1.0", - "buffer": "^6.0.3", - "chalk": "^4.1.2", - "cli-highlight": "^2.1.11", - "dayjs": "^1.11.9", - "debug": "^4.3.4", - "dotenv": "^16.0.3", - "glob": "^10.3.10", - "mkdirp": "^2.1.3", - "reflect-metadata": "^0.2.1", - "sha.js": "^2.4.11", - "tslib": "^2.5.0", - "uuid": "^9.0.0", - "yargs": "^17.6.2" - }, - "bin": { - "typeorm": "cli.js", - "typeorm-ts-node-commonjs": "cli-ts-node-commonjs.js", - "typeorm-ts-node-esm": "cli-ts-node-esm.js" - }, - "engines": { - "node": ">=16.13.0" - }, - "funding": { - "url": "https://opencollective.com/typeorm" - }, - "peerDependencies": { - "@google-cloud/spanner": "^5.18.0", - "@sap/hana-client": "^2.12.25", - "better-sqlite3": "^7.1.2 || ^8.0.0 || ^9.0.0", - "hdb-pool": "^0.1.6", - "ioredis": "^5.0.4", - "mongodb": "^5.8.0", - "mssql": "^9.1.1 || ^10.0.1", - "mysql2": "^2.2.5 || ^3.0.1", - "oracledb": "^6.3.0", - "pg": "^8.5.1", - "pg-native": "^3.0.0", - "pg-query-stream": "^4.0.0", - "redis": "^3.1.1 || ^4.0.0", - "sql.js": "^1.4.0", - "sqlite3": "^5.0.3", - "ts-node": "^10.7.0", - "typeorm-aurora-data-api-driver": "^2.0.0" - }, - "peerDependenciesMeta": { - "@google-cloud/spanner": { - "optional": true - }, - "@sap/hana-client": { - "optional": true - }, - "better-sqlite3": { - "optional": true - }, - "hdb-pool": { - "optional": true - }, - "ioredis": { - "optional": true - }, - "mongodb": { - "optional": true - }, - "mssql": { - "optional": true - }, - "mysql2": { - "optional": true - }, - "oracledb": { - "optional": true - }, - "pg": { - "optional": true - }, - "pg-native": { - "optional": true - }, - "pg-query-stream": { - "optional": true - }, - "redis": { - "optional": true - }, - "sql.js": { - "optional": true - }, - "sqlite3": { - "optional": true - }, - "ts-node": { - "optional": true - }, - "typeorm-aurora-data-api-driver": { - "optional": true - } - } - }, - "node_modules/typeorm/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/typeorm/node_modules/mkdirp": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-2.1.6.tgz", - "integrity": "sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==", - "bin": { - "mkdirp": "dist/cjs/src/bin.js" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/typescript": { - "version": "5.4.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", - "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", - "devOptional": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/uid": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/uid/-/uid-2.0.2.tgz", - "integrity": "sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==", - "dependencies": { - "@lukeed/csprng": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" - }, - "node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "devOptional": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "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" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.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/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "devOptional": true - }, - "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/validator": { - "version": "13.11.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.11.0.tgz", - "integrity": "sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==", - "devOptional": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/value-or-promise": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/value-or-promise/-/value-or-promise-1.0.12.tgz", - "integrity": "sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==", - "engines": { - "node": ">=12" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, - "dependencies": { - "makeerror": "1.0.12" - } - }, - "node_modules/watchpack": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", - "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", - "dev": true, - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dev": true, - "dependencies": { - "defaults": "^1.0.3" - } - }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "node_modules/webpack": { - "version": "5.91.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.91.0.tgz", - "integrity": "sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==", - "dev": true, - "peer": true, - "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.5", - "@webassemblyjs/ast": "^1.12.1", - "@webassemblyjs/wasm-edit": "^1.12.1", - "@webassemblyjs/wasm-parser": "^1.12.1", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.21.10", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.16.0", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.11", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.10", - "watchpack": "^2.4.1", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-node-externals": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz", - "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/whatwg-mimetype": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", - "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", - "engines": { - "node": ">=12" - } - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-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==", - "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/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "devOptional": true - }, - "node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/write-file-atomic/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/ws": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", - "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", - "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/xss": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.15.tgz", - "integrity": "sha512-FVdlVVC67WOIPvfOwhoMETV72f6GbW7aOabBC3WxN/oUdoEMDyLz4OgRv5/gck2ZeNqEQu+Tb0kloovXOfpYVg==", - "dependencies": { - "commander": "^2.20.3", - "cssfilter": "0.0.10" - }, - "bin": { - "xss": "bin/xss" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/xss/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "engines": { - "node": ">=10" - } - }, - "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/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "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-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==", - "engines": { - "node": ">=12" - } - }, - "node_modules/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", - "optional": true, - "dependencies": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "devOptional": true, - "engines": { - "node": ">=6" - } - }, - "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" - } - } - }, - "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" - } - }, - "@angular-devkit/core": { - "version": "17.1.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-17.1.2.tgz", - "integrity": "sha512-ku+/W/HMCBacSWFppenr9y6Lx8mDuTuQvn1IkTyBLiJOpWnzgVbx9kHDeaDchGa1PwLlJUBBrv27t3qgJOIDPw==", - "dev": true, - "requires": { - "ajv": "8.12.0", - "ajv-formats": "2.1.1", - "jsonc-parser": "3.2.0", - "picomatch": "3.0.1", - "rxjs": "7.8.1", - "source-map": "0.7.4" - } - }, - "@angular-devkit/schematics": { - "version": "17.1.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-17.1.2.tgz", - "integrity": "sha512-8S9RuM8olFN/gwN+mjbuF1CwHX61f0i59EGXz9tXLnKRUTjsRR+8vVMTAmX0dvVAT5fJTG/T69X+HX7FeumdqA==", - "dev": true, - "requires": { - "@angular-devkit/core": "17.1.2", - "jsonc-parser": "3.2.0", - "magic-string": "0.30.5", - "ora": "5.4.1", - "rxjs": "7.8.1" - } - }, - "@angular-devkit/schematics-cli": { - "version": "17.1.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics-cli/-/schematics-cli-17.1.2.tgz", - "integrity": "sha512-bvXykYzSST05qFdlgIzUguNOb3z0hCa8HaTwtqdmQo9aFPf+P+/AC56I64t1iTchMjQtf3JrBQhYM25gUdcGbg==", - "dev": true, - "requires": { - "@angular-devkit/core": "17.1.2", - "@angular-devkit/schematics": "17.1.2", - "ansi-colors": "4.1.3", - "inquirer": "9.2.12", - "symbol-observable": "4.0.0", - "yargs-parser": "21.1.1" - }, - "dependencies": { - "chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", - "dev": true - }, - "cli-width": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", - "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", - "dev": true - }, - "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==", - "dev": true - }, - "figures": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz", - "integrity": "sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==", - "dev": true, - "requires": { - "escape-string-regexp": "^5.0.0", - "is-unicode-supported": "^1.2.0" - } - }, - "inquirer": { - "version": "9.2.12", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-9.2.12.tgz", - "integrity": "sha512-mg3Fh9g2zfuVWJn6lhST0O7x4n03k7G8Tx5nvikJkbq8/CK47WDVm+UznF0G6s5Zi0KcyUisr6DU8T67N5U+1Q==", - "dev": true, - "requires": { - "@ljharb/through": "^2.3.11", - "ansi-escapes": "^4.3.2", - "chalk": "^5.3.0", - "cli-cursor": "^3.1.0", - "cli-width": "^4.1.0", - "external-editor": "^3.1.0", - "figures": "^5.0.0", - "lodash": "^4.17.21", - "mute-stream": "1.0.0", - "ora": "^5.4.1", - "run-async": "^3.0.0", - "rxjs": "^7.8.1", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^6.2.0" - } - }, - "is-unicode-supported": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", - "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", - "dev": true - }, - "mute-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz", - "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==", - "dev": true - }, - "run-async": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-3.0.0.tgz", - "integrity": "sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==", - "dev": true - } - } - }, - "@apollo/cache-control-types": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@apollo/cache-control-types/-/cache-control-types-1.0.3.tgz", - "integrity": "sha512-F17/vCp7QVwom9eG7ToauIKdAxpSoadsJnqIfyryLFSkLSOEqu+eC5Z3N8OXcUVStuOMcNHlyraRsA6rRICu4g==", - "requires": {} - }, - "@apollo/federation": { - "version": "0.37.1", - "resolved": "https://registry.npmjs.org/@apollo/federation/-/federation-0.37.1.tgz", - "integrity": "sha512-cLoBrBLt2dUEUmfISvGJ9YevnRGWhj+bVVJ8pP0bBrLfy1GWRYrsV8Jd87U2YeMEp7wuYM6M2PjE4Oy6PBMf2w==", - "requires": { - "@apollo/subgraph": "^0.5.1", - "apollo-server-types": "^3.0.2", - "lodash.xorby": "^4.7.0" - }, - "dependencies": { - "@apollo/subgraph": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/@apollo/subgraph/-/subgraph-0.5.1.tgz", - "integrity": "sha512-pj+igKgdpmTfgUmscTNuVdLip8WZ8jFKS5FGb/tD2hj4xPwaQ+MfszLsuNfoytp7d63PdLorIndxcHCW+rb7Dg==", - "requires": { - "@apollo/cache-control-types": "^1.0.2" - } - } - } - }, - "@apollo/federation-internals": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/@apollo/federation-internals/-/federation-internals-2.7.4.tgz", - "integrity": "sha512-344X7b+9MWhbr0DetDNIHxxTh6WB3K+kr1uQJAlsllwQ32Br/4kb5X2hSJ24tG3X8ZurYeJuYTeobDQLt9Dahw==", - "requires": { - "@types/uuid": "^9.0.0", - "chalk": "^4.1.0", - "js-levenshtein": "^1.1.6", - "uuid": "^9.0.0" - } - }, - "@apollo/protobufjs": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@apollo/protobufjs/-/protobufjs-1.2.7.tgz", - "integrity": "sha512-Lahx5zntHPZia35myYDBRuF58tlwPskwHc5CWBZC/4bMKB6siTBWwtMrkqXcsNwQiFSzSx5hKdRPUmemrEp3Gg==", - "requires": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^4.0.0", - "long": "^4.0.0" - } - }, - "@apollo/server": { - "version": "4.10.4", - "resolved": "https://registry.npmjs.org/@apollo/server/-/server-4.10.4.tgz", - "integrity": "sha512-HS12CUa1wq8f5zKXOKJRwRdESFp4por9AINecpcsEUV9jsCP/NqPILgx0hCOOFJuKxmnaL7070xO6l5xmOq4Fw==", - "peer": true, - "requires": { - "@apollo/cache-control-types": "^1.0.3", - "@apollo/server-gateway-interface": "^1.1.1", - "@apollo/usage-reporting-protobuf": "^4.1.1", - "@apollo/utils.createhash": "^2.0.0", - "@apollo/utils.fetcher": "^2.0.0", - "@apollo/utils.isnodelike": "^2.0.0", - "@apollo/utils.keyvaluecache": "^2.1.0", - "@apollo/utils.logger": "^2.0.0", - "@apollo/utils.usagereporting": "^2.1.0", - "@apollo/utils.withrequired": "^2.0.0", - "@graphql-tools/schema": "^9.0.0", - "@josephg/resolvable": "^1.0.0", - "@types/express": "^4.17.13", - "@types/express-serve-static-core": "^4.17.30", - "@types/node-fetch": "^2.6.1", - "async-retry": "^1.2.1", - "cors": "^2.8.5", - "express": "^4.17.1", - "loglevel": "^1.6.8", - "lru-cache": "^7.10.1", - "negotiator": "^0.6.3", - "node-abort-controller": "^3.1.1", - "node-fetch": "^2.6.7", - "uuid": "^9.0.0", - "whatwg-mimetype": "^3.0.0" - } - }, - "@apollo/server-gateway-interface": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@apollo/server-gateway-interface/-/server-gateway-interface-1.1.1.tgz", - "integrity": "sha512-pGwCl/po6+rxRmDMFgozKQo2pbsSwE91TpsDBAOgf74CRDPXHHtM88wbwjab0wMMZh95QfR45GGyDIdhY24bkQ==", - "peer": true, - "requires": { - "@apollo/usage-reporting-protobuf": "^4.1.1", - "@apollo/utils.fetcher": "^2.0.0", - "@apollo/utils.keyvaluecache": "^2.1.0", - "@apollo/utils.logger": "^2.0.0" - } - }, - "@apollo/server-plugin-landing-page-graphql-playground": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@apollo/server-plugin-landing-page-graphql-playground/-/server-plugin-landing-page-graphql-playground-4.0.0.tgz", - "integrity": "sha512-PBDtKI/chJ+hHeoJUUH9Kuqu58txQl00vUGuxqiC9XcReulIg7RjsyD0G1u3drX4V709bxkL5S0nTeXfRHD0qA==", - "requires": { - "@apollographql/graphql-playground-html": "1.6.29" - } - }, - "@apollo/subgraph": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/@apollo/subgraph/-/subgraph-2.7.4.tgz", - "integrity": "sha512-HZHFPrOQgfvZcJCX3u07t8OfVx/Ax8rffXAF13HeFDlkRadSSA+DiFH9I92OAhmlnJ4XzE/uhdpYXxBTURW/8Q==", - "requires": { - "@apollo/cache-control-types": "^1.0.2", - "@apollo/federation-internals": "2.7.4" - } - }, - "@apollo/usage-reporting-protobuf": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@apollo/usage-reporting-protobuf/-/usage-reporting-protobuf-4.1.1.tgz", - "integrity": "sha512-u40dIUePHaSKVshcedO7Wp+mPiZsaU6xjv9J+VyxpoU/zL6Jle+9zWeG98tr/+SZ0nZ4OXhrbb8SNr0rAPpIDA==", - "requires": { - "@apollo/protobufjs": "1.2.7" - } - }, - "@apollo/utils.createhash": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.createhash/-/utils.createhash-2.0.1.tgz", - "integrity": "sha512-fQO4/ZOP8LcXWvMNhKiee+2KuKyqIcfHrICA+M4lj/h/Lh1H10ICcUtk6N/chnEo5HXu0yejg64wshdaiFitJg==", - "peer": true, - "requires": { - "@apollo/utils.isnodelike": "^2.0.1", - "sha.js": "^2.4.11" - } - }, - "@apollo/utils.dropunuseddefinitions": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.dropunuseddefinitions/-/utils.dropunuseddefinitions-2.0.1.tgz", - "integrity": "sha512-EsPIBqsSt2BwDsv8Wu76LK5R1KtsVkNoO4b0M5aK0hx+dGg9xJXuqlr7Fo34Dl+y83jmzn+UvEW+t1/GP2melA==", - "peer": true, - "requires": {} - }, - "@apollo/utils.fetcher": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.fetcher/-/utils.fetcher-2.0.1.tgz", - "integrity": "sha512-jvvon885hEyWXd4H6zpWeN3tl88QcWnHp5gWF5OPF34uhvoR+DFqcNxs9vrRaBBSY3qda3Qe0bdud7tz2zGx1A==", - "peer": true - }, - "@apollo/utils.isnodelike": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.isnodelike/-/utils.isnodelike-2.0.1.tgz", - "integrity": "sha512-w41XyepR+jBEuVpoRM715N2ZD0xMD413UiJx8w5xnAZD2ZkSJnMJBoIzauK83kJpSgNuR6ywbV29jG9NmxjK0Q==", - "peer": true - }, - "@apollo/utils.keyvaluecache": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.keyvaluecache/-/utils.keyvaluecache-2.1.1.tgz", - "integrity": "sha512-qVo5PvUUMD8oB9oYvq4ViCjYAMWnZ5zZwEjNF37L2m1u528x5mueMlU+Cr1UinupCgdB78g+egA1G98rbJ03Vw==", - "peer": true, - "requires": { - "@apollo/utils.logger": "^2.0.1", - "lru-cache": "^7.14.1" - } - }, - "@apollo/utils.logger": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.logger/-/utils.logger-2.0.1.tgz", - "integrity": "sha512-YuplwLHaHf1oviidB7MxnCXAdHp3IqYV8n0momZ3JfLniae92eYqMIx+j5qJFX6WKJPs6q7bczmV4lXIsTu5Pg==", - "peer": true - }, - "@apollo/utils.printwithreducedwhitespace": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.printwithreducedwhitespace/-/utils.printwithreducedwhitespace-2.0.1.tgz", - "integrity": "sha512-9M4LUXV/fQBh8vZWlLvb/HyyhjJ77/I5ZKu+NBWV/BmYGyRmoEP9EVAy7LCVoY3t8BDcyCAGfxJaLFCSuQkPUg==", - "peer": true, - "requires": {} - }, - "@apollo/utils.removealiases": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.removealiases/-/utils.removealiases-2.0.1.tgz", - "integrity": "sha512-0joRc2HBO4u594Op1nev+mUF6yRnxoUH64xw8x3bX7n8QBDYdeYgY4tF0vJReTy+zdn2xv6fMsquATSgC722FA==", - "peer": true, - "requires": {} - }, - "@apollo/utils.sortast": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.sortast/-/utils.sortast-2.0.1.tgz", - "integrity": "sha512-eciIavsWpJ09za1pn37wpsCGrQNXUhM0TktnZmHwO+Zy9O4fu/WdB4+5BvVhFiZYOXvfjzJUcc+hsIV8RUOtMw==", - "peer": true, - "requires": { - "lodash.sortby": "^4.7.0" - } - }, - "@apollo/utils.stripsensitiveliterals": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.stripsensitiveliterals/-/utils.stripsensitiveliterals-2.0.1.tgz", - "integrity": "sha512-QJs7HtzXS/JIPMKWimFnUMK7VjkGQTzqD9bKD1h3iuPAqLsxd0mUNVbkYOPTsDhUKgcvUOfOqOJWYohAKMvcSA==", - "peer": true, - "requires": {} - }, - "@apollo/utils.usagereporting": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@apollo/utils.usagereporting/-/utils.usagereporting-2.1.0.tgz", - "integrity": "sha512-LPSlBrn+S17oBy5eWkrRSGb98sWmnEzo3DPTZgp8IQc8sJe0prDgDuppGq4NeQlpoqEHz0hQeYHAOA0Z3aQsxQ==", - "peer": true, - "requires": { - "@apollo/usage-reporting-protobuf": "^4.1.0", - "@apollo/utils.dropunuseddefinitions": "^2.0.1", - "@apollo/utils.printwithreducedwhitespace": "^2.0.1", - "@apollo/utils.removealiases": "2.0.1", - "@apollo/utils.sortast": "^2.0.1", - "@apollo/utils.stripsensitiveliterals": "^2.0.1" - } - }, - "@apollo/utils.withrequired": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.withrequired/-/utils.withrequired-2.0.1.tgz", - "integrity": "sha512-YBDiuAX9i1lLc6GeTy1m7DGLFn/gMnvXqlalOIMjM7DeOgIacEjjfwPqb0M1CQ2v11HhR15d1NmxJoRCfrNqcA==", - "peer": true - }, - "@apollographql/apollo-tools": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@apollographql/apollo-tools/-/apollo-tools-0.5.4.tgz", - "integrity": "sha512-shM3q7rUbNyXVVRkQJQseXv6bnYM3BUma/eZhwXR4xsuM+bqWnJKvW7SAfRjP7LuSCocrexa5AXhjjawNHrIlw==", - "requires": {} - }, - "@apollographql/graphql-playground-html": { - "version": "1.6.29", - "resolved": "https://registry.npmjs.org/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.29.tgz", - "integrity": "sha512-xCcXpoz52rI4ksJSdOCxeOCn2DLocxwHf9dVT/Q90Pte1LX+LY+91SFtJF3KXVHH8kEin+g1KKCQPKBjZJfWNA==", - "requires": { - "xss": "^1.0.8" - } - }, - "@babel/code-frame": { - "version": "7.24.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", - "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", - "dev": true, - "requires": { - "@babel/highlight": "^7.24.2", - "picocolors": "^1.0.0" - } - }, - "@babel/compat-data": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.4.tgz", - "integrity": "sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==", - "dev": true - }, - "@babel/core": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.4.tgz", - "integrity": "sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.2", - "@babel/generator": "^7.24.4", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.24.4", - "@babel/parser": "^7.24.4", - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.1", - "@babel/types": "^7.24.0", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "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/generator": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.4.tgz", - "integrity": "sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==", - "dev": true, - "requires": { - "@babel/types": "^7.24.0", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^2.5.1" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", - "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "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 - } - } - }, - "@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true - }, - "@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "requires": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-module-imports": { - "version": "7.24.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz", - "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==", - "dev": true, - "requires": { - "@babel/types": "^7.24.0" - } - }, - "@babel/helper-module-transforms": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", - "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", - "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", - "dev": true - }, - "@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-string-parser": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz", - "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", - "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", - "dev": true - }, - "@babel/helpers": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.4.tgz", - "integrity": "sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==", - "dev": true, - "requires": { - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.1", - "@babel/types": "^7.24.0" - } - }, - "@babel/highlight": { - "version": "7.24.2", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", - "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.22.20", - "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.24.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.4.tgz", - "integrity": "sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==", - "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-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-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.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz", - "integrity": "sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.24.0" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz", - "integrity": "sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.24.0" - } - }, - "@babel/template": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", - "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.23.5", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0" - } - }, - "@babel/traverse": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz", - "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.24.1", - "@babel/generator": "^7.24.1", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.24.1", - "@babel/types": "^7.24.0", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "dependencies": { - "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 - } - } - }, - "@babel/types": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", - "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - } - }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "dev": true, - "optional": true - }, - "@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "devOptional": true, - "requires": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "dependencies": { - "@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "devOptional": true, - "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - } - } - }, - "@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.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", - "dev": true - }, - "@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.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" - } - }, - "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": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", - "dev": true - }, - "@graphql-tools/merge": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.4.2.tgz", - "integrity": "sha512-XbrHAaj8yDuINph+sAfuq3QCZ/tKblrTLOpirK0+CAgNlZUCHs0Fa+xtMUURgwCVThLle1AF7svJCxFizygLsw==", - "requires": { - "@graphql-tools/utils": "^9.2.1", - "tslib": "^2.4.0" - } - }, - "@graphql-tools/mock": { - "version": "8.7.20", - "resolved": "https://registry.npmjs.org/@graphql-tools/mock/-/mock-8.7.20.tgz", - "integrity": "sha512-ljcHSJWjC/ZyzpXd5cfNhPI7YljRVvabKHPzKjEs5ElxWu2cdlLGvyNYepApXDsM/OJG/2xuhGM+9GWu5gEAPQ==", - "requires": { - "@graphql-tools/schema": "^9.0.18", - "@graphql-tools/utils": "^9.2.1", - "fast-json-stable-stringify": "^2.1.0", - "tslib": "^2.4.0" - } - }, - "@graphql-tools/schema": { - "version": "9.0.19", - "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-9.0.19.tgz", - "integrity": "sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w==", - "requires": { - "@graphql-tools/merge": "^8.4.1", - "@graphql-tools/utils": "^9.2.1", - "tslib": "^2.4.0", - "value-or-promise": "^1.0.12" - } - }, - "@graphql-tools/utils": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-9.2.1.tgz", - "integrity": "sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A==", - "requires": { - "@graphql-typed-document-node/core": "^3.1.1", - "tslib": "^2.4.0" - } - }, - "@graphql-typed-document-node/core": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz", - "integrity": "sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==", - "requires": {} - }, - "@humanwhocodes/config-array": { - "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^2.0.2", - "debug": "^4.3.1", - "minimatch": "^3.0.5" - } - }, - "@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/object-schema": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "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==", - "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==" - }, - "ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==" - }, - "emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "requires": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - } - }, - "strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "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==", - "requires": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - } - } - } - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "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 - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - } - } - }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true - }, - "@jest/console": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", - "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "slash": "^3.0.0" - } - }, - "@jest/core": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", - "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", - "dev": true, - "requires": { - "@jest/console": "^29.7.0", - "@jest/reporters": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.7.0", - "jest-config": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-resolve-dependencies": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "jest-watcher": "^29.7.0", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "@jest/environment": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", - "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", - "dev": true, - "requires": { - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0" - } - }, - "@jest/expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", - "dev": true, - "requires": { - "expect": "^29.7.0", - "jest-snapshot": "^29.7.0" - } - }, - "@jest/expect-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", - "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", - "dev": true, - "requires": { - "jest-get-type": "^29.6.3" - } - }, - "@jest/fake-timers": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", - "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - } - }, - "@jest/globals": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", - "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", - "dev": true, - "requires": { - "@jest/environment": "^29.7.0", - "@jest/expect": "^29.7.0", - "@jest/types": "^29.6.3", - "jest-mock": "^29.7.0" - } - }, - "@jest/reporters": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", - "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", - "dev": true, - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^6.0.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } - } - }, - "@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", - "dev": true, - "requires": { - "@sinclair/typebox": "^0.27.8" - } - }, - "@jest/source-map": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", - "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.18", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" - } - }, - "@jest/test-result": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", - "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", - "dev": true, - "requires": { - "@jest/console": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/test-sequencer": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", - "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", - "dev": true, - "requires": { - "@jest/test-result": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "slash": "^3.0.0" - } - }, - "@jest/transform": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", - "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" - } - }, - "@jest/types": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - } - }, - "@josephg/resolvable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@josephg/resolvable/-/resolvable-1.0.1.tgz", - "integrity": "sha512-CtzORUwWTTOTqfVtHaKRJ0I1kNQd1bpn3sUh8I3nJDVY+5/M/Oe1DnEWzPQvqq/xPIIkzzzIP7mfCoAjFRvDhg==" - }, - "@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.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "devOptional": 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/source-map": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", - "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25" - } - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "devOptional": 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" - } - }, - "@ljharb/through": { - "version": "2.3.13", - "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.13.tgz", - "integrity": "sha512-/gKJun8NNiWGZJkGzI/Ragc53cOdcLNdzjLaIa+GEjguQs0ulsurx8WN0jijdK9yPqDvziX995sMRLyLt1uZMQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.7" - } - }, - "@lukeed/csprng": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz", - "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==" - }, - "@nestjs/apollo": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/@nestjs/apollo/-/apollo-12.1.0.tgz", - "integrity": "sha512-Ywe+hzs5gBbvP9yPdl78UaQJ4sqR/lYk0hawgftlLLdFEWqIUFpt6kTKIOAxeb/HMbZVNIBd9LrWoMl4S4p7HQ==", - "requires": { - "@apollo/server-plugin-landing-page-graphql-playground": "4.0.0", - "iterall": "1.3.0", - "lodash.omit": "4.5.0", - "tslib": "2.6.2" - } - }, - "@nestjs/cli": { - "version": "10.3.2", - "resolved": "https://registry.npmjs.org/@nestjs/cli/-/cli-10.3.2.tgz", - "integrity": "sha512-aWmD1GLluWrbuC4a1Iz/XBk5p74Uj6nIVZj6Ov03JbTfgtWqGFLtXuMetvzMiHxfrHehx/myt2iKAPRhKdZvTg==", - "dev": true, - "requires": { - "@angular-devkit/core": "17.1.2", - "@angular-devkit/schematics": "17.1.2", - "@angular-devkit/schematics-cli": "17.1.2", - "@nestjs/schematics": "^10.0.1", - "chalk": "4.1.2", - "chokidar": "3.6.0", - "cli-table3": "0.6.3", - "commander": "4.1.1", - "fork-ts-checker-webpack-plugin": "9.0.2", - "glob": "10.3.10", - "inquirer": "8.2.6", - "node-emoji": "1.11.0", - "ora": "5.4.1", - "rimraf": "4.4.1", - "shelljs": "0.8.5", - "source-map-support": "0.5.21", - "tree-kill": "1.2.2", - "tsconfig-paths": "4.2.0", - "tsconfig-paths-webpack-plugin": "4.1.0", - "typescript": "5.3.3", - "webpack": "5.90.1", - "webpack-node-externals": "3.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" - } - }, - "minimatch": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz", - "integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - }, - "minipass": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", - "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==", - "dev": true - }, - "rimraf": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-4.4.1.tgz", - "integrity": "sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og==", - "dev": true, - "requires": { - "glob": "^9.2.0" - }, - "dependencies": { - "glob": { - "version": "9.3.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz", - "integrity": "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "minimatch": "^8.0.2", - "minipass": "^4.2.4", - "path-scurry": "^1.6.1" - } - } - } - }, - "typescript": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", - "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", - "dev": true - }, - "webpack": { - "version": "5.90.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.1.tgz", - "integrity": "sha512-SstPdlAC5IvgFnhiRok8hqJo/+ArAbNv7rhU4fnWGHNVfN59HSQFaxZDSAL3IFG2YmqxuRs+IU33milSxbPlog==", - "dev": true, - "requires": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.5", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.21.10", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.10", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - } - } - } - }, - "@nestjs/common": { - "version": "10.3.8", - "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-10.3.8.tgz", - "integrity": "sha512-P+vPEIvqx2e+fonsYVlFXKvoChyJ8Tq+lfpqdVFqblovHbFr3kZ/nYX0cPs+XuW6bnRT8tz0SSR9XBGU43kJhw==", - "requires": { - "iterare": "1.2.1", - "tslib": "2.6.2", - "uid": "2.0.2" - } - }, - "@nestjs/config": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@nestjs/config/-/config-3.2.2.tgz", - "integrity": "sha512-vGICPOui5vE6kPz1iwQ7oCnp3qWgqxldPmBQ9onkVoKlBtyc83KJCr7CjuVtf4OdovMAVcux1d8Q6jglU2ZphA==", - "dev": true, - "requires": { - "dotenv": "16.4.5", - "dotenv-expand": "10.0.0", - "lodash": "4.17.21", - "uuid": "9.0.1" - } - }, - "@nestjs/core": { - "version": "10.3.8", - "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-10.3.8.tgz", - "integrity": "sha512-AxF4tpYLDNn5Wfb3C4bNaaHJ4pREH5FJrSisR2A5zkYpQFORFs0Tc36lOFPMwBTy8Iv2wUwWLUVc5ftBnxEv4w==", - "requires": { - "@nuxtjs/opencollective": "0.3.2", - "fast-safe-stringify": "2.1.1", - "iterare": "1.2.1", - "path-to-regexp": "3.2.0", - "tslib": "2.6.2", - "uid": "2.0.2" - } - }, - "@nestjs/graphql": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/@nestjs/graphql/-/graphql-12.1.1.tgz", - "integrity": "sha512-Y2fPrB1bCzkSFEhE5prAJM6dGUwJwBhKSH4rkg5LRSrQnb89kqmELRreaWtisECSnA25mb4MjaRKA3svX1toBg==", - "requires": { - "@graphql-tools/merge": "9.0.1", - "@graphql-tools/schema": "10.0.2", - "@graphql-tools/utils": "10.0.13", - "@nestjs/mapped-types": "2.0.5", - "chokidar": "3.6.0", - "fast-glob": "3.3.2", - "graphql-tag": "2.12.6", - "graphql-ws": "5.14.3", - "lodash": "4.17.21", - "normalize-path": "3.0.0", - "subscriptions-transport-ws": "0.11.0", - "tslib": "2.6.2", - "uuid": "9.0.1", - "ws": "8.16.0" - }, - "dependencies": { - "@graphql-tools/merge": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-9.0.1.tgz", - "integrity": "sha512-hIEExWO9fjA6vzsVjJ3s0cCQ+Q/BEeMVJZtMXd7nbaVefVy0YDyYlEkeoYYNV3NVVvu1G9lr6DM1Qd0DGo9Caw==", - "requires": { - "@graphql-tools/utils": "^10.0.10", - "tslib": "^2.4.0" - } - }, - "@graphql-tools/schema": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-10.0.2.tgz", - "integrity": "sha512-TbPsIZnWyDCLhgPGnDjt4hosiNU2mF/rNtSk5BVaXWnZqvKJ6gzJV4fcHcvhRIwtscDMW2/YTnK6dLVnk8pc4w==", - "requires": { - "@graphql-tools/merge": "^9.0.1", - "@graphql-tools/utils": "^10.0.10", - "tslib": "^2.4.0", - "value-or-promise": "^1.0.12" - } - }, - "@graphql-tools/utils": { - "version": "10.0.13", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-10.0.13.tgz", - "integrity": "sha512-fMILwGr5Dm2zefNItjQ6C2rauigklv69LIwppccICuGTnGaOp3DspLt/6Lxj72cbg5d9z60Sr+Egco3CJKLsNg==", - "requires": { - "@graphql-typed-document-node/core": "^3.1.1", - "cross-inspect": "1.0.0", - "dset": "^3.1.2", - "tslib": "^2.4.0" - } - } - } - }, - "@nestjs/mapped-types": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nestjs/mapped-types/-/mapped-types-2.0.5.tgz", - "integrity": "sha512-bSJv4pd6EY99NX9CjBIyn4TVDoSit82DUZlL4I3bqNfy5Gt+gXTa86i3I/i0iIV9P4hntcGM5GyO+FhZAhxtyg==", - "requires": {} - }, - "@nestjs/platform-express": { - "version": "10.3.8", - "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-10.3.8.tgz", - "integrity": "sha512-sifLoxgEJvAgbim1UuW6wyScMfkS9SVQRH+lN33N/9ZvZSjO6NSDLOe+wxqsnZkia+QrjFC0qy0ITRAsggfqbg==", - "requires": { - "body-parser": "1.20.2", - "cors": "2.8.5", - "express": "4.19.2", - "multer": "1.4.4-lts.1", - "tslib": "2.6.2" - } - }, - "@nestjs/schematics": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/@nestjs/schematics/-/schematics-10.1.1.tgz", - "integrity": "sha512-o4lfCnEeIkfJhGBbLZxTuVWcGuqDCFwg5OrvpgRUBM7vI/vONvKKiB5riVNpO+JqXoH0I42NNeDb0m4V5RREig==", - "dev": true, - "requires": { - "@angular-devkit/core": "17.1.2", - "@angular-devkit/schematics": "17.1.2", - "comment-json": "4.2.3", - "jsonc-parser": "3.2.1", - "pluralize": "8.0.0" - }, - "dependencies": { - "jsonc-parser": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", - "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", - "dev": true - } - } - }, - "@nestjs/testing": { - "version": "10.3.8", - "resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-10.3.8.tgz", - "integrity": "sha512-hpX9das2TdFTKQ4/2ojhjI6YgXtCfXRKui3A4Qaj54VVzc5+mtK502Jj18Vzji98o9MVS6skmYu+S/UvW3U6Fw==", - "dev": true, - "requires": { - "tslib": "2.6.2" - } - }, - "@nestjs/typeorm": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@nestjs/typeorm/-/typeorm-10.0.2.tgz", - "integrity": "sha512-H738bJyydK4SQkRCTeh1aFBxoO1E9xdL/HaLGThwrqN95os5mEyAtK7BLADOS+vldP4jDZ2VQPLj4epWwRqCeQ==", - "requires": { - "uuid": "9.0.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==", - "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==" - }, - "@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==", - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@nuxtjs/opencollective": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@nuxtjs/opencollective/-/opencollective-0.3.2.tgz", - "integrity": "sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==", - "requires": { - "chalk": "^4.1.0", - "consola": "^2.15.0", - "node-fetch": "^2.6.1" - } - }, - "@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "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 - }, - "@protobufjs/aspromise": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" - }, - "@protobufjs/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" - }, - "@protobufjs/codegen": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" - }, - "@protobufjs/eventemitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" - }, - "@protobufjs/fetch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", - "requires": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" - } - }, - "@protobufjs/float": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" - }, - "@protobufjs/inquire": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" - }, - "@protobufjs/path": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" - }, - "@protobufjs/pool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" - }, - "@protobufjs/utf8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" - }, - "@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, - "@sinonjs/commons": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", - "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, - "requires": { - "@sinonjs/commons": "^3.0.0" - } - }, - "@sqltools/formatter": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/@sqltools/formatter/-/formatter-1.2.5.tgz", - "integrity": "sha512-Uy0+khmZqUrUGm5dmMqVlnvufZRSK0FbYzVgp0UMstm+F5+W2/jnEEQyc9vo1ZR/E5ZI/B1WjjoTqBqwJL6Krw==" - }, - "@testim/chrome-version": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@testim/chrome-version/-/chrome-version-1.1.4.tgz", - "integrity": "sha512-kIhULpw9TrGYnHp/8VfdcneIcxKnLixmADtukQRtJUmsVlMg0niMkwV0xZmi8hqa57xqilIHjWFA0GKvEjVU5g==", - "optional": true - }, - "@tootallnate/quickjs-emscripten": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", - "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==", - "optional": true - }, - "@tsconfig/node10": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", - "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", - "devOptional": true - }, - "@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "devOptional": true - }, - "@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "devOptional": true - }, - "@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "devOptional": true - }, - "@types/accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Pay9fq2lM2wXPWbteBsRAGiWH2hig4ZE2asK+mm7kUzlxRTfL961rj89I6zV/E3PcIkDqyuBEcMxFT7rccugeQ==", - "requires": { - "@types/node": "*" - } - }, - "@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.8", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", - "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", - "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", - "dev": true, - "requires": { - "@babel/types": "^7.20.7" - } - }, - "@types/body-parser": { - "version": "1.19.5", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", - "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", - "requires": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "@types/connect": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", - "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", - "requires": { - "@types/node": "*" - } - }, - "@types/cookiejar": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.5.tgz", - "integrity": "sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==", - "dev": true - }, - "@types/cors": { - "version": "2.8.12", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", - "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==" - }, - "@types/eslint": { - "version": "8.56.10", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz", - "integrity": "sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==", - "dev": true, - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "dev": true, - "requires": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", - "dev": true - }, - "@types/express": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", - "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", - "requires": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "@types/express-serve-static-core": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.0.tgz", - "integrity": "sha512-bGyep3JqPCRry1wq+O5n7oiBgGWmeIJXPjXXCo8EK0u8duZGSYar7cGqd3ML2JUsLGeB7fmc06KYo9fLGWqPvQ==", - "requires": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "@types/graceful-fs": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", - "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/http-errors": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", - "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==" - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "dev": true - }, - "@types/istanbul-lib-report": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/jest": { - "version": "29.5.12", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz", - "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==", - "dev": true, - "requires": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" - } - }, - "@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/long": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", - "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" - }, - "@types/methods": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@types/methods/-/methods-1.1.4.tgz", - "integrity": "sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==", - "dev": true - }, - "@types/mime": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==" - }, - "@types/node": { - "version": "20.12.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz", - "integrity": "sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==", - "requires": { - "undici-types": "~5.26.4" - } - }, - "@types/node-fetch": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.11.tgz", - "integrity": "sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==", - "peer": true, - "requires": { - "@types/node": "*", - "form-data": "^4.0.0" - } - }, - "@types/qs": { - "version": "6.9.15", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz", - "integrity": "sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==" - }, - "@types/range-parser": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", - "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==" - }, - "@types/semver": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", - "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", - "dev": true - }, - "@types/send": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", - "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", - "requires": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "@types/serve-static": { - "version": "1.15.7", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", - "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", - "requires": { - "@types/http-errors": "*", - "@types/node": "*", - "@types/send": "*" - } - }, - "@types/stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", - "dev": true - }, - "@types/superagent": { - "version": "8.1.6", - "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-8.1.6.tgz", - "integrity": "sha512-yzBOv+6meEHSzV2NThYYOA6RtqvPr3Hbob9ZLp3i07SH27CrYVfm8CrF7ydTmidtelsFiKx2I4gZAiAOamGgvQ==", - "dev": true, - "requires": { - "@types/cookiejar": "^2.1.5", - "@types/methods": "^1.1.4", - "@types/node": "*" - } - }, - "@types/supertest": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-6.0.2.tgz", - "integrity": "sha512-137ypx2lk/wTQbW6An6safu9hXmajAifU/s7szAHLN/FeIm5w7yR0Wkl9fdJMRSHwOn4HLAI0DaB2TOORuhPDg==", - "dev": true, - "requires": { - "@types/methods": "^1.1.4", - "@types/superagent": "^8.1.0" - } - }, - "@types/uuid": { - "version": "9.0.8", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", - "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==" - }, - "@types/validator": { - "version": "13.11.9", - "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.11.9.tgz", - "integrity": "sha512-FCTsikRozryfayPuiI46QzH3fnrOoctTjvOYZkho9BTFLCOZ2rgZJHMOVgCOfttjPJcgOx52EpkY0CMfy87MIw==", - "devOptional": true - }, - "@types/yargs": { - "version": "17.0.32", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", - "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", - "dev": true - }, - "@types/yauzl": { - "version": "2.10.3", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", - "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", - "optional": true, - "requires": { - "@types/node": "*" - } - }, - "@typescript-eslint/eslint-plugin": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", - "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", - "dev": true, - "requires": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/type-utils": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/parser": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "debug": "^4.3.4" - } - }, - "@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/type-utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", - "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", - "dev": true, - "requires": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "tsutils": "^3.21.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" - } - }, - "@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==", - "dev": true - }, - "@webassemblyjs/ast": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", - "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", - "dev": true, - "requires": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", - "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", - "dev": true - }, - "@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", - "dev": true, - "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", - "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.12.1" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", - "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", - "dev": true, - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", - "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-opt": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1", - "@webassemblyjs/wast-printer": "1.12.1" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", - "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", - "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", - "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", - "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.12.1", - "@xtuc/long": "4.2.2" - } - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "requires": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - } - }, - "acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "devOptional": true - }, - "acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", - "dev": true, - "requires": {} - }, - "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, - "requires": {} - }, - "acorn-walk": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", - "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", - "devOptional": 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==", - "optional": 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" - } - }, - "ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "requires": { - "ajv": "^8.0.0" - } - }, - "ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true - }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "requires": { - "type-fest": "^0.21.3" - }, - "dependencies": { - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true - } - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" - }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "dependencies": { - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - } - } - }, - "apollo-datasource": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/apollo-datasource/-/apollo-datasource-3.3.2.tgz", - "integrity": "sha512-L5TiS8E2Hn/Yz7SSnWIVbZw0ZfEIXZCa5VUiVxD9P53JvSrf4aStvsFDlGWPvpIdCR+aly2CfoB79B9/JjKFqg==", - "requires": { - "@apollo/utils.keyvaluecache": "^1.0.1", - "apollo-server-env": "^4.2.1" - }, - "dependencies": { - "@apollo/utils.keyvaluecache": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@apollo/utils.keyvaluecache/-/utils.keyvaluecache-1.0.2.tgz", - "integrity": "sha512-p7PVdLPMnPzmXSQVEsy27cYEjVON+SH/Wb7COyW3rQN8+wJgT1nv9jZouYtztWW8ZgTkii5T6tC9qfoDREd4mg==", - "requires": { - "@apollo/utils.logger": "^1.0.0", - "lru-cache": "7.10.1 - 7.13.1" - } - }, - "@apollo/utils.logger": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.logger/-/utils.logger-1.0.1.tgz", - "integrity": "sha512-XdlzoY7fYNK4OIcvMD2G94RoFZbzTQaNP0jozmqqMudmaGo2I/2Jx71xlDJ801mWA/mbYRihyaw6KJii7k5RVA==" - }, - "lru-cache": { - "version": "7.13.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.13.1.tgz", - "integrity": "sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ==" - } - } - }, - "apollo-reporting-protobuf": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/apollo-reporting-protobuf/-/apollo-reporting-protobuf-3.4.0.tgz", - "integrity": "sha512-h0u3EbC/9RpihWOmcSsvTW2O6RXVaD/mPEjfrPkxRPTEPWqncsgOoRJw+wih4OqfH3PvTJvoEIf4LwKrUaqWog==", - "requires": { - "@apollo/protobufjs": "1.2.6" - }, - "dependencies": { - "@apollo/protobufjs": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@apollo/protobufjs/-/protobufjs-1.2.6.tgz", - "integrity": "sha512-Wqo1oSHNUj/jxmsVp4iR3I480p6qdqHikn38lKrFhfzcDJ7lwd7Ck7cHRl4JE81tWNArl77xhnG/OkZhxKBYOw==", - "requires": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^4.0.0", - "@types/node": "^10.1.0", - "long": "^4.0.0" - } - }, - "@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" - } - } - }, - "apollo-server-core": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-3.13.0.tgz", - "integrity": "sha512-v/g6DR6KuHn9DYSdtQijz8dLOkP78I5JSVJzPkARhDbhpH74QNwrQ2PP2URAPPEDJ2EeZNQDX8PvbYkAKqg+kg==", - "requires": { - "@apollo/utils.keyvaluecache": "^1.0.1", - "@apollo/utils.logger": "^1.0.0", - "@apollo/utils.usagereporting": "^1.0.0", - "@apollographql/apollo-tools": "^0.5.3", - "@apollographql/graphql-playground-html": "1.6.29", - "@graphql-tools/mock": "^8.1.2", - "@graphql-tools/schema": "^8.0.0", - "@josephg/resolvable": "^1.0.0", - "apollo-datasource": "^3.3.2", - "apollo-reporting-protobuf": "^3.4.0", - "apollo-server-env": "^4.2.1", - "apollo-server-errors": "^3.3.1", - "apollo-server-plugin-base": "^3.7.2", - "apollo-server-types": "^3.8.0", - "async-retry": "^1.2.1", - "fast-json-stable-stringify": "^2.1.0", - "graphql-tag": "^2.11.0", - "loglevel": "^1.6.8", - "lru-cache": "^6.0.0", - "node-abort-controller": "^3.0.1", - "sha.js": "^2.4.11", - "uuid": "^9.0.0", - "whatwg-mimetype": "^3.0.0" - }, - "dependencies": { - "@apollo/utils.dropunuseddefinitions": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@apollo/utils.dropunuseddefinitions/-/utils.dropunuseddefinitions-1.1.0.tgz", - "integrity": "sha512-jU1XjMr6ec9pPoL+BFWzEPW7VHHulVdGKMkPAMiCigpVIT11VmCbnij0bWob8uS3ODJ65tZLYKAh/55vLw2rbg==", - "requires": {} - }, - "@apollo/utils.keyvaluecache": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@apollo/utils.keyvaluecache/-/utils.keyvaluecache-1.0.2.tgz", - "integrity": "sha512-p7PVdLPMnPzmXSQVEsy27cYEjVON+SH/Wb7COyW3rQN8+wJgT1nv9jZouYtztWW8ZgTkii5T6tC9qfoDREd4mg==", - "requires": { - "@apollo/utils.logger": "^1.0.0", - "lru-cache": "7.10.1 - 7.13.1" - }, - "dependencies": { - "lru-cache": { - "version": "7.13.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.13.1.tgz", - "integrity": "sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ==" - } - } - }, - "@apollo/utils.logger": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.logger/-/utils.logger-1.0.1.tgz", - "integrity": "sha512-XdlzoY7fYNK4OIcvMD2G94RoFZbzTQaNP0jozmqqMudmaGo2I/2Jx71xlDJ801mWA/mbYRihyaw6KJii7k5RVA==" - }, - "@apollo/utils.printwithreducedwhitespace": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@apollo/utils.printwithreducedwhitespace/-/utils.printwithreducedwhitespace-1.1.0.tgz", - "integrity": "sha512-GfFSkAv3n1toDZ4V6u2d7L4xMwLA+lv+6hqXicMN9KELSJ9yy9RzuEXaX73c/Ry+GzRsBy/fdSUGayGqdHfT2Q==", - "requires": {} - }, - "@apollo/utils.removealiases": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@apollo/utils.removealiases/-/utils.removealiases-1.0.0.tgz", - "integrity": "sha512-6cM8sEOJW2LaGjL/0vHV0GtRaSekrPQR4DiywaApQlL9EdROASZU5PsQibe2MWeZCOhNrPRuHh4wDMwPsWTn8A==", - "requires": {} - }, - "@apollo/utils.sortast": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@apollo/utils.sortast/-/utils.sortast-1.1.0.tgz", - "integrity": "sha512-VPlTsmUnOwzPK5yGZENN069y6uUHgeiSlpEhRnLFYwYNoJHsuJq2vXVwIaSmts015WTPa2fpz1inkLYByeuRQA==", - "requires": { - "lodash.sortby": "^4.7.0" - } - }, - "@apollo/utils.stripsensitiveliterals": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@apollo/utils.stripsensitiveliterals/-/utils.stripsensitiveliterals-1.2.0.tgz", - "integrity": "sha512-E41rDUzkz/cdikM5147d8nfCFVKovXxKBcjvLEQ7bjZm/cg9zEcXvS6vFY8ugTubI3fn6zoqo0CyU8zT+BGP9w==", - "requires": {} - }, - "@apollo/utils.usagereporting": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.usagereporting/-/utils.usagereporting-1.0.1.tgz", - "integrity": "sha512-6dk+0hZlnDbahDBB2mP/PZ5ybrtCJdLMbeNJD+TJpKyZmSY6bA3SjI8Cr2EM9QA+AdziywuWg+SgbWUF3/zQqQ==", - "requires": { - "@apollo/usage-reporting-protobuf": "^4.0.0", - "@apollo/utils.dropunuseddefinitions": "^1.1.0", - "@apollo/utils.printwithreducedwhitespace": "^1.1.0", - "@apollo/utils.removealiases": "1.0.0", - "@apollo/utils.sortast": "^1.1.0", - "@apollo/utils.stripsensitiveliterals": "^1.2.0" - } - }, - "@graphql-tools/merge": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.3.1.tgz", - "integrity": "sha512-BMm99mqdNZbEYeTPK3it9r9S6rsZsQKtlqJsSBknAclXq2pGEfOxjcIZi+kBSkHZKPKCRrYDd5vY0+rUmIHVLg==", - "requires": { - "@graphql-tools/utils": "8.9.0", - "tslib": "^2.4.0" - } - }, - "@graphql-tools/schema": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-8.5.1.tgz", - "integrity": "sha512-0Esilsh0P/qYcB5DKQpiKeQs/jevzIadNTaT0jeWklPMwNbT7yMX4EqZany7mbeRRlSRwMzNzL5olyFdffHBZg==", - "requires": { - "@graphql-tools/merge": "8.3.1", - "@graphql-tools/utils": "8.9.0", - "tslib": "^2.4.0", - "value-or-promise": "1.0.11" - } - }, - "@graphql-tools/utils": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.9.0.tgz", - "integrity": "sha512-pjJIWH0XOVnYGXCqej8g/u/tsfV4LvLlj0eATKQu5zwnxd/TiTHq7Cg313qUPTFFHZ3PP5wJ15chYVtLDwaymg==", - "requires": { - "tslib": "^2.4.0" - } - }, - "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==", - "requires": { - "yallist": "^4.0.0" - } - }, - "value-or-promise": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/value-or-promise/-/value-or-promise-1.0.11.tgz", - "integrity": "sha512-41BrgH+dIbCFXClcSapVs5M6GkENd3gQOJpEfPDNa71LsUGMXDL0jMWpI/Rh7WhX+Aalfz2TTS3Zt5pUsbnhLg==" - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } - }, - "apollo-server-env": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/apollo-server-env/-/apollo-server-env-4.2.1.tgz", - "integrity": "sha512-vm/7c7ld+zFMxibzqZ7SSa5tBENc4B0uye9LTfjJwGoQFY5xsUPH5FpO5j0bMUDZ8YYNbrF9SNtzc5Cngcr90g==", - "requires": { - "node-fetch": "^2.6.7" - } - }, - "apollo-server-errors": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/apollo-server-errors/-/apollo-server-errors-3.3.1.tgz", - "integrity": "sha512-xnZJ5QWs6FixHICXHxUfm+ZWqqxrNuPlQ+kj5m6RtEgIpekOPssH/SD9gf2B4HuWV0QozorrygwZnux8POvyPA==", - "requires": {} - }, - "apollo-server-express": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/apollo-server-express/-/apollo-server-express-3.13.0.tgz", - "integrity": "sha512-iSxICNbDUyebOuM8EKb3xOrpIwOQgKxGbR2diSr4HP3IW8T3njKFOoMce50vr+moOCe1ev8BnLcw9SNbuUtf7g==", - "requires": { - "@types/accepts": "^1.3.5", - "@types/body-parser": "1.19.2", - "@types/cors": "2.8.12", - "@types/express": "4.17.14", - "@types/express-serve-static-core": "4.17.31", - "accepts": "^1.3.5", - "apollo-server-core": "^3.13.0", - "apollo-server-types": "^3.8.0", - "body-parser": "^1.19.0", - "cors": "^2.8.5", - "parseurl": "^1.3.3" - }, - "dependencies": { - "@types/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", - "requires": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "@types/express": { - "version": "4.17.14", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.14.tgz", - "integrity": "sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg==", - "requires": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.18", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "@types/express-serve-static-core": { - "version": "4.17.31", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz", - "integrity": "sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==", - "requires": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - } - } - }, - "apollo-server-plugin-base": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/apollo-server-plugin-base/-/apollo-server-plugin-base-3.7.2.tgz", - "integrity": "sha512-wE8dwGDvBOGehSsPTRZ8P/33Jan6/PmL0y0aN/1Z5a5GcbFhDaaJCjK5cav6npbbGL2DPKK0r6MPXi3k3N45aw==", - "requires": { - "apollo-server-types": "^3.8.0" - } - }, - "apollo-server-types": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/apollo-server-types/-/apollo-server-types-3.8.0.tgz", - "integrity": "sha512-ZI/8rTE4ww8BHktsVpb91Sdq7Cb71rdSkXELSwdSR0eXu600/sY+1UXhTWdiJvk+Eq5ljqoHLwLbY2+Clq2b9A==", - "requires": { - "@apollo/utils.keyvaluecache": "^1.0.1", - "@apollo/utils.logger": "^1.0.0", - "apollo-reporting-protobuf": "^3.4.0", - "apollo-server-env": "^4.2.1" - }, - "dependencies": { - "@apollo/utils.keyvaluecache": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@apollo/utils.keyvaluecache/-/utils.keyvaluecache-1.0.2.tgz", - "integrity": "sha512-p7PVdLPMnPzmXSQVEsy27cYEjVON+SH/Wb7COyW3rQN8+wJgT1nv9jZouYtztWW8ZgTkii5T6tC9qfoDREd4mg==", - "requires": { - "@apollo/utils.logger": "^1.0.0", - "lru-cache": "7.10.1 - 7.13.1" - } - }, - "@apollo/utils.logger": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.logger/-/utils.logger-1.0.1.tgz", - "integrity": "sha512-XdlzoY7fYNK4OIcvMD2G94RoFZbzTQaNP0jozmqqMudmaGo2I/2Jx71xlDJ801mWA/mbYRihyaw6KJii7k5RVA==" - }, - "lru-cache": { - "version": "7.13.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.13.1.tgz", - "integrity": "sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ==" - } - } - }, - "app-root-path": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-3.1.0.tgz", - "integrity": "sha512-biN3PwB2gUtjaYy/isrU3aNWI5w+fAfvHkSvCKeQGxhmYpwKFUxudR3Yya+KqVRHBmEDYh+/lTozYCFbmzX4nA==" - }, - "append-field": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", - "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==" - }, - "arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "devOptional": true - }, - "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 - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, - "array-timsort": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-timsort/-/array-timsort-1.0.3.tgz", - "integrity": "sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==", - "dev": true - }, - "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 - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", - "dev": true - }, - "asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - } - }, - "ast-types": { - "version": "0.13.4", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", - "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", - "optional": true, - "requires": { - "tslib": "^2.0.1" - } - }, - "async-retry": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.3.tgz", - "integrity": "sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==", - "requires": { - "retry": "0.13.1" - } - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "axios": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", - "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", - "optional": true, - "requires": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "babel-jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", - "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", - "dev": true, - "requires": { - "@jest/transform": "^29.7.0", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.6.3", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - } - }, - "babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, - "dependencies": { - "istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dev": true, - "requires": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - } - }, - "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-jest-hoist": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", - "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", - "dev": true, - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "dev": true, - "requires": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" - } - }, - "babel-preset-jest": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", - "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, - "backo2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", - "integrity": "sha512-zj6Z6M7Eq+PBZ7PQxl5NT665MvJdAkzp0f60nAJ+sLaSCBPMwVak5ZegFbgVCzFcCJTKFoMizvM5Ld7+JrRJHA==" - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "basic-ftp": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz", - "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==", - "optional": true - }, - "binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==" - }, - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", - "requires": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" - }, - "browserslist": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", - "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" - } - }, - "bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", - "dev": true, - "requires": { - "fast-json-stable-stringify": "2.x" - } - }, - "bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "requires": { - "node-int64": "^0.4.0" - } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", - "optional": true - }, - "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==" - }, - "busboy": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", - "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", - "requires": { - "streamsearch": "^1.1.0" - } - }, - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" - }, - "call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", - "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": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001612", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001612.tgz", - "integrity": "sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g==", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "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" - } - }, - "chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true - }, - "chromedriver": { - "version": "123.0.4", - "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-123.0.4.tgz", - "integrity": "sha512-3Yi7y7q35kkSAOTbRisiww/SL2w+DqafDPAaUShpSuLMmPaOvHQR0i3bm2/33QBiQ8fUb1J/MzppzVL6IDqvhA==", - "optional": true, - "requires": { - "@testim/chrome-version": "^1.1.4", - "axios": "^1.6.7", - "compare-versions": "^6.1.0", - "extract-zip": "^2.0.1", - "proxy-agent": "^6.4.0", - "proxy-from-env": "^1.1.0", - "tcp-port-used": "^1.0.2" - } - }, - "ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "dev": true - }, - "cjs-module-lexer": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", - "dev": true - }, - "class-transformer": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.5.1.tgz", - "integrity": "sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw==" - }, - "class-validator": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/class-validator/-/class-validator-0.14.1.tgz", - "integrity": "sha512-2VEG9JICxIqTpoK1eMzZqaV+u/EiwEJkMGzTrZf6sU/fwsnOITVgYJ8yojSy6CaXtO9V0Cc6ZQZ8h8m4UBuLwQ==", - "devOptional": true, - "requires": { - "@types/validator": "^13.11.8", - "libphonenumber-js": "^1.10.53", - "validator": "^13.9.0" - } - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-highlight": { - "version": "2.1.11", - "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz", - "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==", - "requires": { - "chalk": "^4.0.0", - "highlight.js": "^10.7.1", - "mz": "^2.4.0", - "parse5": "^5.1.1", - "parse5-htmlparser2-tree-adapter": "^6.0.0", - "yargs": "^16.0.0" - }, - "dependencies": { - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "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==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" - } - } - }, - "cli-spinners": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", - "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", - "dev": true - }, - "cli-table3": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", - "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", - "dev": true, - "requires": { - "@colors/colors": "1.5.0", - "string-width": "^4.2.0" - } - }, - "cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "dev": true - }, - "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==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "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==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } - } - }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "dev": true - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "dev": true - }, - "collect-v8-coverage": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", - "dev": true - }, - "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==", - "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==" - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true - }, - "comment-json": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/comment-json/-/comment-json-4.2.3.tgz", - "integrity": "sha512-SsxdiOf064DWoZLH799Ata6u7iV658A11PlWtZATDlXPpKGJnbJZ5Z24ybixAi+LUUqJ/GKowAejtC5GFUG7Tw==", - "dev": true, - "requires": { - "array-timsort": "^1.0.3", - "core-util-is": "^1.0.3", - "esprima": "^4.0.1", - "has-own-prop": "^2.0.0", - "repeat-string": "^1.6.1" - } - }, - "compare-versions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-6.1.0.tgz", - "integrity": "sha512-LNZQXhqUvqUTotpZ00qLSaify3b4VFD588aRr8MKFw4CMUr98ytzCW5wDH5qx/DEY5kCDXcbcRuCqL0szEf2tg==", - "optional": true - }, - "component-emitter": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", - "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "consola": { - "version": "2.15.3", - "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", - "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" - }, - "content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "requires": { - "safe-buffer": "5.2.1" - } - }, - "content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==" - }, - "convert-source-map": { - "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 - }, - "cookie": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", - "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" - }, - "cookiejar": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", - "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==", - "dev": true - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "requires": { - "object-assign": "^4", - "vary": "^1" - } - }, - "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" - } - }, - "create-jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", - "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "prompts": "^2.0.1" - } - }, - "create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "devOptional": true - }, - "cross-inspect": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cross-inspect/-/cross-inspect-1.0.0.tgz", - "integrity": "sha512-4PFfn4b5ZN6FMNGSZlyb7wUhuN8wvj8t/VQHZdM4JsDcruGJ8L2kf9zao98QIrBPFCpdk27qst/AGTl7pL3ypQ==", - "requires": { - "tslib": "^2.4.0" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "cssfilter": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/cssfilter/-/cssfilter-0.0.10.tgz", - "integrity": "sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw==" - }, - "data-uri-to-buffer": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", - "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==", - "optional": true - }, - "dayjs": { - "version": "1.11.10", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", - "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "dedent": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", - "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", - "dev": true, - "requires": {} - }, - "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==", - "devOptional": true - }, - "deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true - }, - "defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "dev": true, - "requires": { - "clone": "^1.0.2" - } - }, - "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==", - "requires": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - } - }, - "degenerator": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", - "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", - "optional": true, - "requires": { - "ast-types": "^0.13.4", - "escodegen": "^2.1.0", - "esprima": "^4.0.1" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" - }, - "destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" - }, - "detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true - }, - "dezalgo": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", - "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", - "dev": true, - "requires": { - "asap": "^2.0.0", - "wrappy": "1" - } - }, - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "devOptional": true - }, - "diff-sequences": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", - "dev": true - }, - "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" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "dotenv": { - "version": "16.4.5", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", - "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==" - }, - "dotenv-expand": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-10.0.0.tgz", - "integrity": "sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==", - "dev": true - }, - "dset": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.3.tgz", - "integrity": "sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==" - }, - "eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - }, - "electron-to-chromium": { - "version": "1.4.746", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.746.tgz", - "integrity": "sha512-jeWaIta2rIG2FzHaYIhSuVWqC6KJYo7oSBX4Jv7g+aVujKztfvdpf+n6MGwZdC5hQXbax4nntykLH2juIQrfPg==", - "dev": true - }, - "elliptic": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.5.tgz", - "integrity": "sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==", - "requires": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "optional": true, - "requires": { - "once": "^1.4.0" - } - }, - "enhanced-resolve": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", - "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - } - }, - "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-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==", - "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==" - }, - "es-module-lexer": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.0.tgz", - "integrity": "sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw==", - "dev": true - }, - "escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==" - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - }, - "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 - }, - "escodegen": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", - "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", - "optional": true, - "requires": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "source-map": "~0.6.1" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "optional": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true - } - } - }, - "eslint": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "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": "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" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "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 - } - } - }, - "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, - "requires": {} - }, - "eslint-plugin-prettier": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz", - "integrity": "sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==", - "dev": true, - "requires": { - "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.8.6" - } - }, - "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": "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" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "devOptional": 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 - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "devOptional": true - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" - }, - "eventemitter3": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", - "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" - }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "dependencies": { - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - } - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "dev": true - }, - "expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", - "dev": true, - "requires": { - "@jest/expect-utils": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0" - } - }, - "express": { - "version": "4.19.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", - "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", - "requires": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.2", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.6.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" - } - } - }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, - "extract-zip": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", - "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", - "optional": true, - "requires": { - "@types/yauzl": "^2.9.1", - "debug": "^4.1.1", - "get-stream": "^5.1.0", - "yauzl": "^2.10.0" - }, - "dependencies": { - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "optional": true, - "requires": { - "pump": "^3.0.0" - } - } - } - }, - "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.3.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", - "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", - "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==", - "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==" - }, - "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 - }, - "fast-safe-stringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", - "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" - }, - "fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "requires": { - "reusify": "^1.0.4" - } - }, - "fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "dev": true, - "requires": { - "bser": "2.1.1" - } - }, - "fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", - "optional": true, - "requires": { - "pend": "~1.2.0" - } - }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - }, - "dependencies": { - "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 - } - } - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "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" - } - }, - "flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", - "dev": true, - "requires": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "flatted": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", - "dev": true - }, - "follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", - "optional": true - }, - "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==", - "requires": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - } - }, - "fork-ts-checker-webpack-plugin": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-9.0.2.tgz", - "integrity": "sha512-Uochze2R8peoN1XqlSi/rGUkDQpRogtLFocP9+PGu68zk1BDAKXfdeCdyVZpgTk8V8WFVQXdEz426VKjXLO1Gg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.16.7", - "chalk": "^4.1.2", - "chokidar": "^3.5.3", - "cosmiconfig": "^8.2.0", - "deepmerge": "^4.2.2", - "fs-extra": "^10.0.0", - "memfs": "^3.4.1", - "minimatch": "^3.0.4", - "node-abort-controller": "^3.0.1", - "schema-utils": "^3.1.1", - "semver": "^7.3.5", - "tapable": "^2.2.1" - } - }, - "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==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "formidable": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.2.tgz", - "integrity": "sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==", - "dev": true, - "requires": { - "dezalgo": "^1.0.4", - "hexoid": "^1.0.0", - "once": "^1.4.0", - "qs": "^6.11.0" - } - }, - "forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" - }, - "fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "fs-monkey": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", - "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "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==" - }, - "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==" - }, - "get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", - "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-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true - }, - "get-uri": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.3.tgz", - "integrity": "sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==", - "optional": true, - "requires": { - "basic-ftp": "^5.0.2", - "data-uri-to-buffer": "^6.0.2", - "debug": "^4.3.4", - "fs-extra": "^11.2.0" - }, - "dependencies": { - "fs-extra": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", - "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", - "optional": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - } - } - }, - "glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", - "requires": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "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==", - "requires": { - "balanced-match": "^1.0.0" - } - }, - "minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - }, - "glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true - }, - "globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "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" - } - }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "devOptional": true - }, - "graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "graphql": { - "version": "16.8.1", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.8.1.tgz", - "integrity": "sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==" - }, - "graphql-tag": { - "version": "2.12.6", - "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz", - "integrity": "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==", - "requires": { - "tslib": "^2.1.0" - } - }, - "graphql-ws": { - "version": "5.14.3", - "resolved": "https://registry.npmjs.org/graphql-ws/-/graphql-ws-5.14.3.tgz", - "integrity": "sha512-F/i2xNIVbaEF2xWggID0X/UZQa2V8kqKDPO8hwmu53bVOcTL7uNkxnexeEgSCVxYBQUTUNEI8+e4LO1FOhKPKQ==", - "requires": {} - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "has-own-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-own-prop/-/has-own-prop-2.0.0.tgz", - "integrity": "sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==", - "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==", - "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==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "requires": { - "function-bind": "^1.1.2" - } - }, - "hexoid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz", - "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==", - "dev": true - }, - "highlight.js": { - "version": "10.7.3", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", - "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==" - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.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 - }, - "http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - } - }, - "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==", - "optional": true, - "requires": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - } - }, - "https-proxy-agent": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", - "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", - "optional": true, - "requires": { - "agent-base": "^7.0.2", - "debug": "4" - } - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", - "dev": true - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "inquirer": { - "version": "8.2.6", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz", - "integrity": "sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.4.1", - "run-async": "^2.4.0", - "rxjs": "^7.5.5", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6", - "wrap-ansi": "^6.0.1" - } - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true - }, - "ip-address": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", - "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", - "optional": true, - "requires": { - "jsbn": "1.1.0", - "sprintf-js": "^1.1.3" - } - }, - "ip-regex": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", - "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", - "optional": true - }, - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" - }, - "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-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==", - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "dev": true, - "requires": { - "hasown": "^2.0.0" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" - }, - "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==" - }, - "is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "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==" - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - }, - "is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true - }, - "is-url": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", - "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", - "optional": true - }, - "is2": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/is2/-/is2-2.0.9.tgz", - "integrity": "sha512-rZkHeBn9Zzq52sd9IUIV3a5mfwBY+o2HePMh0wkGBM4z4qjvy2GwVxQ6nNXSfw6MmVP6gf1QIlWjiOavhM3x5g==", - "optional": true, - "requires": { - "deep-is": "^0.1.3", - "ip-regex": "^4.1.0", - "is-url": "^1.2.4" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "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-instrument": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz", - "integrity": "sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==", - "dev": true, - "requires": { - "@babel/core": "^7.23.9", - "@babel/parser": "^7.23.9", - "@istanbuljs/schema": "^0.1.3", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^7.5.4" - } - }, - "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" - } - }, - "istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "istanbul-reports": { - "version": "3.1.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" - } - }, - "iterall": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.3.0.tgz", - "integrity": "sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==" - }, - "iterare": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/iterare/-/iterare-1.2.1.tgz", - "integrity": "sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==" - }, - "jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", - "requires": { - "@isaacs/cliui": "^8.0.2", - "@pkgjs/parseargs": "^0.11.0" - } - }, - "jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", - "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", - "dev": true, - "requires": { - "@jest/core": "^29.7.0", - "@jest/types": "^29.6.3", - "import-local": "^3.0.2", - "jest-cli": "^29.7.0" - } - }, - "jest-changed-files": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", - "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", - "dev": true, - "requires": { - "execa": "^5.0.0", - "jest-util": "^29.7.0", - "p-limit": "^3.1.0" - } - }, - "jest-circus": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", - "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", - "dev": true, - "requires": { - "@jest/environment": "^29.7.0", - "@jest/expect": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^1.0.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.7.0", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "p-limit": "^3.1.0", - "pretty-format": "^29.7.0", - "pure-rand": "^6.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - } - }, - "jest-cli": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", - "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", - "dev": true, - "requires": { - "@jest/core": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "create-jest": "^29.7.0", - "exit": "^0.1.2", - "import-local": "^3.0.2", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "yargs": "^17.3.1" - } - }, - "jest-config": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", - "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.7.0", - "@jest/types": "^29.6.3", - "babel-jest": "^29.7.0", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.7.0", - "jest-environment-node": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } - } - }, - "jest-diff": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", - "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^29.6.3", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - } - }, - "jest-docblock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", - "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", - "dev": true, - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-each": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", - "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "jest-util": "^29.7.0", - "pretty-format": "^29.7.0" - } - }, - "jest-environment-node": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", - "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", - "dev": true, - "requires": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - } - }, - "jest-get-type": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", - "dev": true - }, - "jest-haste-map": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", - "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - } - }, - "jest-leak-detector": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", - "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", - "dev": true, - "requires": { - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - } - }, - "jest-matcher-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", - "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - } - }, - "jest-message-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", - "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - } - }, - "jest-mock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", - "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-util": "^29.7.0" - } - }, - "jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "dev": true, - "requires": {} - }, - "jest-regex-util": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", - "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", - "dev": true - }, - "jest-resolve": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", - "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "resolve": "^1.20.0", - "resolve.exports": "^2.0.0", - "slash": "^3.0.0" - } - }, - "jest-resolve-dependencies": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", - "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", - "dev": true, - "requires": { - "jest-regex-util": "^29.6.3", - "jest-snapshot": "^29.7.0" - } - }, - "jest-runner": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", - "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", - "dev": true, - "requires": { - "@jest/console": "^29.7.0", - "@jest/environment": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.7.0", - "jest-environment-node": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-leak-detector": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-resolve": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-util": "^29.7.0", - "jest-watcher": "^29.7.0", - "jest-worker": "^29.7.0", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - } - } - }, - "jest-runtime": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", - "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", - "dev": true, - "requires": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/globals": "^29.7.0", - "@jest/source-map": "^29.6.3", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } - } - }, - "jest-snapshot": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", - "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "natural-compare": "^1.4.0", - "pretty-format": "^29.7.0", - "semver": "^7.5.3" - } - }, - "jest-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "dependencies": { - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - } - } - }, - "jest-validate": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", - "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "leven": "^3.1.0", - "pretty-format": "^29.7.0" - }, - "dependencies": { - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - } - } - }, - "jest-watcher": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", - "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", - "dev": true, - "requires": { - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.7.0", - "string-length": "^4.0.1" - } - }, - "jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", - "dev": true, - "requires": { - "@types/node": "*", - "jest-util": "^29.7.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "js-levenshtein": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", - "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "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" - } - }, - "jsbn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", - "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", - "optional": true - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "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 - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - }, - "jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "devOptional": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "jwk-to-pem": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/jwk-to-pem/-/jwk-to-pem-2.0.5.tgz", - "integrity": "sha512-L90jwellhO8jRKYwbssU9ifaMVqajzj3fpRjDKcsDzrslU9syRbFqfkXtT4B89HYAap+xsxNcxgBSB09ig+a7A==", - "requires": { - "asn1.js": "^5.3.0", - "elliptic": "^6.5.4", - "safe-buffer": "^5.0.1" - } - }, - "keycloak-connect": { - "version": "24.0.3", - "resolved": "https://registry.npmjs.org/keycloak-connect/-/keycloak-connect-24.0.3.tgz", - "integrity": "sha512-kG3JH9MvttJMyGgXAvfxBj4/G5PAIFZQBNjaZ0gVcE28qspRpUKAazLnFj1L7oISOeSVXFEF4JJBwDPbnNeGKg==", - "requires": { - "chromedriver": "latest", - "jwk-to-pem": "^2.0.0" - } - }, - "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" - } - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true - }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true - }, - "levn": { - "version": "0.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" - } - }, - "libphonenumber-js": { - "version": "1.10.61", - "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.10.61.tgz", - "integrity": "sha512-TsQsyzDttDvvzWNkbp/i0fVbzTGJIG0mUu/uNalIaRQEYeJxVQ/FPg+EJgSqfSXezREjM0V3RZ8cLVsKYhhw0Q==", - "devOptional": true - }, - "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 - }, - "loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "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" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "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.omit": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", - "integrity": "sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg==" - }, - "lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" - }, - "lodash.xorby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.xorby/-/lodash.xorby-4.7.0.tgz", - "integrity": "sha512-gYiD6nvuQy0AEkMoUju+t4f4Rn18fjsLB/7x7YZFqtFT9kmegRLrj/uGEQVyVDy7otTmSrIMXNOk2wwuLcfHCQ==" - }, - "log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - } - }, - "loglevel": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.9.1.tgz", - "integrity": "sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==" - }, - "long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" - }, - "lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==" - }, - "magic-string": { - "version": "0.30.5", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", - "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", - "dev": true, - "requires": { - "@jridgewell/sourcemap-codec": "^1.4.15" - } - }, - "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" - } - }, - "make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "devOptional": true - }, - "makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "requires": { - "tmpl": "1.0.5" - } - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" - }, - "memfs": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", - "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", - "dev": true, - "requires": { - "fs-monkey": "^1.0.4" - } - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "dependencies": { - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - } - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "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==", - "requires": { - "mime-db": "1.52.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" - }, - "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==" - }, - "minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==" - }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "requires": { - "minimist": "^1.2.6" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "multer": { - "version": "1.4.4-lts.1", - "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.4-lts.1.tgz", - "integrity": "sha512-WeSGziVj6+Z2/MwQo3GvqzgR+9Uc+qt8SwHKh3gvNPiISKfsMfG4SvCOFYlxxgkXt7yIV2i1yczehm0EOKIxIg==", - "requires": { - "append-field": "^1.0.0", - "busboy": "^1.0.0", - "concat-stream": "^1.5.2", - "mkdirp": "^0.5.4", - "object-assign": "^4.1.1", - "type-is": "^1.6.4", - "xtend": "^4.0.0" - } - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "requires": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true - }, - "negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "nest-keycloak-connect": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/nest-keycloak-connect/-/nest-keycloak-connect-1.10.0.tgz", - "integrity": "sha512-OhuYZEKud/YEhmyiZhPn+8Cse9NhWZkCT0elCqn3xqVTdDjqVFiRPcVUHrD6/IkuAXpe8M1AzbQFc1KooX6Xpg==", - "requires": {} - }, - "netmask": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", - "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", - "optional": true - }, - "node-abort-controller": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", - "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==" - }, - "node-emoji": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", - "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", - "dev": true, - "requires": { - "lodash": "^4.17.21" - } - }, - "node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "requires": { - "whatwg-url": "^5.0.0" - } - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true - }, - "node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "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==" - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "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==" - }, - "on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "requires": { - "ee-first": "1.1.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "devOptional": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "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" - } - }, - "ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "dev": true, - "requires": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", - "dev": true - }, - "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" - } - }, - "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 - }, - "pac-proxy-agent": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.1.tgz", - "integrity": "sha512-ASV8yU4LLKBAjqIPMbrgtaKIvxQri/yh2OpI+S6hVa9JRkUI3Y3NPFbfngDtY7oFtSMD3w31Xns89mDa3Feo5A==", - "optional": true, - "requires": { - "@tootallnate/quickjs-emscripten": "^0.23.0", - "agent-base": "^7.0.2", - "debug": "^4.3.4", - "get-uri": "^6.0.1", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.2", - "pac-resolver": "^7.0.0", - "socks-proxy-agent": "^8.0.2" - } - }, - "pac-resolver": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz", - "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==", - "optional": true, - "requires": { - "degenerator": "^5.0.0", - "netmask": "^2.0.2" - } - }, - "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-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" - } - }, - "parse5": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", - "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==" - }, - "parse5-htmlparser2-tree-adapter": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", - "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", - "requires": { - "parse5": "^6.0.1" - }, - "dependencies": { - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - } - } - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "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==" - }, - "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": "1.10.2", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.2.tgz", - "integrity": "sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==", - "requires": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", - "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==" - } - } - }, - "path-to-regexp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.2.0.tgz", - "integrity": "sha512-jczvQbCUS7XmS7o+y1aEO9OBVFeZBQ1MDSEqmO7xSoPgOPoowY/SxLpZ6Vh97/8qHZOteiCKb7gkG9gA2ZUxJA==" - }, - "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 - }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", - "optional": true - }, - "pg": { - "version": "8.11.5", - "resolved": "https://registry.npmjs.org/pg/-/pg-8.11.5.tgz", - "integrity": "sha512-jqgNHSKL5cbDjFlHyYsCXmQDrfIX/3RsNwYqpd4N0Kt8niLuNoRNH+aazv6cOd43gPh9Y4DjQCtb+X0MH0Hvnw==", - "requires": { - "pg-cloudflare": "^1.1.1", - "pg-connection-string": "^2.6.4", - "pg-pool": "^3.6.2", - "pg-protocol": "^1.6.1", - "pg-types": "^2.1.0", - "pgpass": "1.x" - } - }, - "pg-cloudflare": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.1.1.tgz", - "integrity": "sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==", - "optional": true - }, - "pg-connection-string": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.4.tgz", - "integrity": "sha512-v+Z7W/0EO707aNMaAEfiGnGL9sxxumwLl2fJvCQtMn9Fxsg+lPpPkdcyBSv/KFgpGdYkMfn+EI1Or2EHjpgLCA==" - }, - "pg-int8": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", - "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==" - }, - "pg-pool": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.6.2.tgz", - "integrity": "sha512-Htjbg8BlwXqSBQ9V8Vjtc+vzf/6fVUuak/3/XXKA9oxZprwW3IMDQTGHP+KDmVL7rtd+R1QjbnCFPuTHm3G4hg==", - "requires": {} - }, - "pg-protocol": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.6.1.tgz", - "integrity": "sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg==" - }, - "pg-types": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", - "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", - "requires": { - "pg-int8": "1.0.1", - "postgres-array": "~2.0.0", - "postgres-bytea": "~1.0.0", - "postgres-date": "~1.0.4", - "postgres-interval": "^1.1.0" - } - }, - "pgpass": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz", - "integrity": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==", - "requires": { - "split2": "^4.1.0" - } - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "picomatch": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-3.0.1.tgz", - "integrity": "sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag==", - "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": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - } - } - }, - "pluralize": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", - "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", - "dev": true - }, - "postgres-array": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", - "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==" - }, - "postgres-bytea": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz", - "integrity": "sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==" - }, - "postgres-date": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", - "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==" - }, - "postgres-interval": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", - "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", - "requires": { - "xtend": "^4.0.0" - } - }, - "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.2.5", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", - "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", - "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" - } - }, - "pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - } - } - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, - "proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "requires": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - } - }, - "proxy-agent": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.4.0.tgz", - "integrity": "sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==", - "optional": true, - "requires": { - "agent-base": "^7.0.2", - "debug": "^4.3.4", - "http-proxy-agent": "^7.0.1", - "https-proxy-agent": "^7.0.3", - "lru-cache": "^7.14.1", - "pac-proxy-agent": "^7.0.1", - "proxy-from-env": "^1.1.0", - "socks-proxy-agent": "^8.0.2" - } - }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "optional": true - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "optional": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true - }, - "pure-rand": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", - "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", - "dev": true - }, - "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "requires": { - "side-channel": "^1.0.4" - } - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - }, - "raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", - "requires": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - } - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "requires": { - "picomatch": "^2.2.1" - }, - "dependencies": { - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - } - } - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "dev": true, - "requires": { - "resolve": "^1.1.6" - } - }, - "reflect-metadata": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", - "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==" - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", - "dev": true - }, - "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==" - }, - "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 - }, - "resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "dev": true, - "requires": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "requires": { - "resolve-from": "^5.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - } - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "resolve.exports": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", - "dev": true - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "dependencies": { - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - } - } - }, - "retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==" - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" - }, - "rimraf": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.5.tgz", - "integrity": "sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==", - "requires": { - "glob": "^10.3.7" - } - }, - "run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "requires": { - "tslib": "^2.1.0" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "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" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} - }, - "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 - } - } - }, - "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" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, - "send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "requires": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - } - } - }, - "serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.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==", - "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" - } - }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "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==", - "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==" - }, - "shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "dev": true, - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } - } - }, - "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==", - "requires": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" - } - }, - "signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" - }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "optional": true - }, - "socks": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", - "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", - "optional": true, - "requires": { - "ip-address": "^9.0.5", - "smart-buffer": "^4.2.0" - } - }, - "socks-proxy-agent": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.3.tgz", - "integrity": "sha512-VNegTZKhuGq5vSD6XNKlbqWhyt/40CgoEw8XxD6dhnm8Jq9IEa3nIa4HwnM8XOqU0CdB0BwWVXusqiFXfHB3+A==", - "optional": true, - "requires": { - "agent-base": "^7.1.1", - "debug": "^4.3.4", - "socks": "^2.7.1" - } - }, - "source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "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" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "split2": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", - "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==" - }, - "sprintf-js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", - "optional": true - }, - "stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "dev": true, - "requires": { - "escape-string-regexp": "^2.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true - } - } - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" - }, - "streamsearch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", - "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==" - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - } - } - }, - "string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^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==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "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==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true - }, - "strip-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 - }, - "subscriptions-transport-ws": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/subscriptions-transport-ws/-/subscriptions-transport-ws-0.11.0.tgz", - "integrity": "sha512-8D4C6DIH5tGiAIpp5I0wD/xRlNiZAPGHygzCe7VzyzUoxHtawzjNAY9SUTXU05/EY2NMY9/9GF0ycizkXr1CWQ==", - "requires": { - "backo2": "^1.0.2", - "eventemitter3": "^3.1.0", - "iterall": "^1.2.1", - "symbol-observable": "^1.0.4", - "ws": "^5.2.0 || ^6.0.0 || ^7.0.0" - }, - "dependencies": { - "symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" - }, - "ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "requires": {} - } - } - }, - "superagent": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz", - "integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==", - "dev": true, - "requires": { - "component-emitter": "^1.3.0", - "cookiejar": "^2.1.4", - "debug": "^4.3.4", - "fast-safe-stringify": "^2.1.1", - "form-data": "^4.0.0", - "formidable": "^2.1.2", - "methods": "^1.1.2", - "mime": "2.6.0", - "qs": "^6.11.0", - "semver": "^7.3.8" - }, - "dependencies": { - "mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true - } - } - }, - "supertest": { - "version": "6.3.4", - "resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.4.tgz", - "integrity": "sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw==", - "dev": true, - "requires": { - "methods": "^1.1.2", - "superagent": "^8.1.2" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true - }, - "symbol-observable": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", - "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", - "dev": true - }, - "synckit": { - "version": "0.8.8", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.8.tgz", - "integrity": "sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==", - "dev": true, - "requires": { - "@pkgr/core": "^0.1.0", - "tslib": "^2.6.2" - } - }, - "tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true - }, - "tcp-port-used": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/tcp-port-used/-/tcp-port-used-1.0.2.tgz", - "integrity": "sha512-l7ar8lLUD3XS1V2lfoJlCBaeoaWo/2xfYt81hM7VlvR4RrMVFqfmzfhLVk40hAb368uitje5gPtBRL1m/DGvLA==", - "optional": true, - "requires": { - "debug": "4.3.1", - "is2": "^2.0.6" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "optional": true, - "requires": { - "ms": "2.1.2" - } - } - } - }, - "terser": { - "version": "5.30.4", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.30.4.tgz", - "integrity": "sha512-xRdd0v64a8mFK9bnsKVdoNP9GQIKUAaJPTaqEQDL4w/J8WaW4sWXXoMZ+6SimPkfT5bElreXf8m9HnmPc3E1BQ==", - "dev": true, - "requires": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - } - } - }, - "terser-webpack-plugin": { - "version": "5.3.10", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", - "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.20", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.26.0" - }, - "dependencies": { - "jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } - } - }, - "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 - }, - "thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", - "requires": { - "any-promise": "^1.0.0" - } - }, - "thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", - "requires": { - "thenify": ">= 3.1.0 < 4" - } - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "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==", - "requires": { - "is-number": "^7.0.0" - } - }, - "toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" - }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true - }, - "ts-jest": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.2.tgz", - "integrity": "sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==", - "dev": true, - "requires": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^29.0.0", - "json5": "^2.2.3", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "^7.5.3", - "yargs-parser": "^21.0.1" - } - }, - "ts-loader": { - "version": "9.5.1", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz", - "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4", - "source-map": "^0.7.4" - } - }, - "ts-node": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", - "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", - "devOptional": true, - "requires": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - } - }, - "tsconfig-paths": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", - "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", - "dev": true, - "requires": { - "json5": "^2.2.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "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 - } - } - }, - "tsconfig-paths-webpack-plugin": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-4.1.0.tgz", - "integrity": "sha512-xWFISjviPydmtmgeUAuXp4N1fky+VCtfhOkDUFIv5ea7p4wuTomI4QTrXvFBX2S4jZsmyTSrStQl+E+4w+RzxA==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.7.0", - "tsconfig-paths": "^4.1.2" - } - }, - "tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "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" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } - } - }, - "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" - } - }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" - }, - "typeorm": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/typeorm/-/typeorm-0.3.20.tgz", - "integrity": "sha512-sJ0T08dV5eoZroaq9uPKBoNcGslHBR4E4y+EBHs//SiGbblGe7IeduP/IH4ddCcj0qp3PHwDwGnuvqEAnKlq/Q==", - "requires": { - "@sqltools/formatter": "^1.2.5", - "app-root-path": "^3.1.0", - "buffer": "^6.0.3", - "chalk": "^4.1.2", - "cli-highlight": "^2.1.11", - "dayjs": "^1.11.9", - "debug": "^4.3.4", - "dotenv": "^16.0.3", - "glob": "^10.3.10", - "mkdirp": "^2.1.3", - "reflect-metadata": "^0.2.1", - "sha.js": "^2.4.11", - "tslib": "^2.5.0", - "uuid": "^9.0.0", - "yargs": "^17.6.2" - }, - "dependencies": { - "buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "mkdirp": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-2.1.6.tgz", - "integrity": "sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==" - } - } - }, - "typescript": { - "version": "5.4.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", - "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", - "devOptional": true - }, - "uid": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/uid/-/uid-2.0.2.tgz", - "integrity": "sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==", - "requires": { - "@lukeed/csprng": "^1.0.0" - } - }, - "undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" - }, - "universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "devOptional": true - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" - }, - "update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "dev": true, - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.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" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" - }, - "uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==" - }, - "v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "devOptional": 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" - } - }, - "validator": { - "version": "13.11.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.11.0.tgz", - "integrity": "sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==", - "devOptional": true - }, - "value-or-promise": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/value-or-promise/-/value-or-promise-1.0.12.tgz", - "integrity": "sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==" - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" - }, - "walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, - "requires": { - "makeerror": "1.0.12" - } - }, - "watchpack": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", - "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", - "dev": true, - "requires": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - } - }, - "wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dev": true, - "requires": { - "defaults": "^1.0.3" - } - }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "webpack": { - "version": "5.91.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.91.0.tgz", - "integrity": "sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==", - "dev": true, - "peer": true, - "requires": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.5", - "@webassemblyjs/ast": "^1.12.1", - "@webassemblyjs/wasm-edit": "^1.12.1", - "@webassemblyjs/wasm-parser": "^1.12.1", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.21.10", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.16.0", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.11", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.10", - "watchpack": "^2.4.1", - "webpack-sources": "^3.2.3" - } - }, - "webpack-node-externals": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz", - "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==", - "dev": true - }, - "webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true - }, - "whatwg-mimetype": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", - "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==" - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "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==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "devOptional": true - }, - "write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - }, - "dependencies": { - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - } - } - }, - "ws": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", - "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", - "requires": {} - }, - "xss": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.15.tgz", - "integrity": "sha512-FVdlVVC67WOIPvfOwhoMETV72f6GbW7aOabBC3WxN/oUdoEMDyLz4OgRv5/gck2ZeNqEQu+Tb0kloovXOfpYVg==", - "requires": { - "commander": "^2.20.3", - "cssfilter": "0.0.10" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - } - } - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "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" - } - }, - "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==" - }, - "yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", - "optional": true, - "requires": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - }, - "yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "devOptional": 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 - } - } -} diff --git a/backend/sites/package.json b/backend/sites/package.json deleted file mode 100644 index 451ea007..00000000 --- a/backend/sites/package.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "name": "siteapi", - "version": "0.0.1", - "description": "", - "author": "", - "private": true, - "license": "UNLICENSED", - "scripts": { - "prebuild": "rimraf dist", - "build": "nest build", - "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", - "start": "nest start", - "start:dev": "nest start --watch", - "start:debug": "nest start --debug --watch", - "start:prod": "node dist/src/main", - "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix", - "test": "jest", - "test:watch": "jest --watch", - "test:cov": "jest --coverage", - "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand", - "test:e2e": "jest --config ./test/jest-e2e.json", - "typeorm": "ts-node --transpile-only ./node_modules/typeorm/cli.js", - "typeorm:run-migrations": "npm run typeorm migration:run -- -d ./typeOrm.config.ts", - "typeorm:generate-migration": "npm run typeorm -- -d ./typeOrm.config.ts migration:generate ./src/migrations/master-script", - "typeorm:create-migration": "npm run typeorm -- migration:create ./src/migrations/master-script", - "typeorm:revert-migration": "npm run typeorm -- -d ./typeOrm.config.ts migration:revert" - }, - "dependencies": { - "@apollo/federation": "^0.37.1", - "@apollo/subgraph": "^2.2.3", - "@nestjs/apollo": "^12.1.0", - "@nestjs/common": "^10.3.8", - "@nestjs/config": "^2.3.1", - "@nestjs/core": "^10.3.8", - "@nestjs/graphql": "^12.1.1", - "@nestjs/platform-express": "^10.3.8", - "@nestjs/typeorm": "^10.0.2", - "apollo-server-express": "^3.10.2", - "class-transformer": "^0.5.1", - "graphql": "^16.6.0", - "keycloak-connect": "^24.0.3", - "nest-keycloak-connect": "^1.10.0", - "pg": "^8.11.5", - "reflect-metadata": "^0.2.2", - "rimraf": "^5.0.5", - "rxjs": "^7.8.1", - "typeorm": "^0.3.20" - }, - "devDependencies": { - "@nestjs/cli": "^10.3.2", - "@nestjs/config": "^3.2.2", - "@nestjs/schematics": "^10.1.1", - "@nestjs/testing": "^10.3.8", - "@types/express": "^4.17.21", - "@types/jest": "29.5.12", - "@types/node": "^20.12.7", - "@types/supertest": "^6.0.2", - "@typescript-eslint/eslint-plugin": "^5.0.0", - "@typescript-eslint/parser": "^5.0.0", - "class-validator": "^0.14.1", - "eslint": "^8.0.1", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-prettier": "^5.1.3", - "jest": "29.7.0", - "prettier": "^3.2.5", - "source-map-support": "^0.5.21", - "supertest": "^6.3.4", - "ts-jest": "29.1.2", - "ts-loader": "^9.5.1", - "ts-node": "^10.9.2", - "tsconfig-paths": "4.2.0", - "typescript": "^5.4.5" - }, - "jest": { - "moduleFileExtensions": [ - "js", - "json", - "ts" - ], - "rootDir": "src", - "testRegex": ".*\\.spec\\.ts$", - "transform": { - "^.+\\.(t|j)s$": "ts-jest" - }, - "collectCoverageFrom": [ - "**/*.(t|j)s" - ], - "coverageDirectory": "../coverage", - "testEnvironment": "node" - } -} diff --git a/backend/sites/schema.graphql b/backend/sites/schema.graphql deleted file mode 100644 index 9a1ae84a..00000000 --- a/backend/sites/schema.graphql +++ /dev/null @@ -1,57 +0,0 @@ -# ------------------------------------------------------ -# THIS FILE WAS AUTOMATICALLY GENERATED (DO NOT MODIFY) -# ------------------------------------------------------ - -type Sites { - id: String! - bcerCode: String! - sstCode: String! - commonName: String! - addrType: String! - addrLine_1: String! - addrLine_2: String! - addrLine_3: String! - addrLine_4: String! - city: String! - provState: String! - postalCode: String! - latdeg: Float! - longdeg: Float! - victoriaFileNo: String! - regionalFileNo: String! - classCode: String! - generalDescription: String! - whoCreated: String! - whoUpdated: String! - whenCreated: DateTime! - whenUpdated: DateTime! - rwmFlag: Float! - rwmGeneralDescFlag: Float! - consultantSubmitted: String! - longDegrees: Float! - longMinutes: Float! - longSeconds: String! - latDegrees: Float! - latMinutes: Float! - latSeconds: String! - srStatus: String! - latlongReliabilityFlag: String! - siteRiskCode: String! - geometry: String! -} - -""" -A date-time string at UTC, such as 2019-12-03T09:54:33Z, compliant with the date-time format. -""" -scalar DateTime - -type FetchSiteResponse { - httpStatusCode: Int! - data: [Sites!]! -} - -type Query { - sites: FetchSiteResponse! - searchSites(searchParam: String!): [Sites!]! - findSiteBySiteId(siteId: String!): Sites! -} \ No newline at end of file diff --git a/backend/sites/src/app.controller.spec.ts b/backend/sites/src/app.controller.spec.ts deleted file mode 100644 index a3540026..00000000 --- a/backend/sites/src/app.controller.spec.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { Test, TestingModule } from '@nestjs/testing'; -import { AppController } from './app.controller'; -import { AppService } from './app.service'; - -describe('AppController', () => { - let appController: AppController; - - beforeEach(async () => { - const app: TestingModule = await Test.createTestingModule({ - controllers: [AppController], - providers: [AppService], - }).compile(); - - appController = app.get(AppController); - }); - - describe('root', () => { - it('should return "Hello World!"', () => { - expect(appController.getHello()).toBe('Hello World!'); - }); - }); -}); diff --git a/backend/sites/src/app.controller.ts b/backend/sites/src/app.controller.ts deleted file mode 100644 index 3b44e6fe..00000000 --- a/backend/sites/src/app.controller.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { Controller, Get } from '@nestjs/common'; -import { Unprotected } from 'nest-keycloak-connect'; -import { AppService } from './app.service'; - -/** - * Unprotected Sample Controller For Health Check - */ -@Controller() -@Unprotected() -export class AppController { - constructor(private readonly appService: AppService) { } - - /** - * GET Method - * @returns Hello World - */ - @Get() - getHello(): string { - return this.appService.getHello(); - } -} diff --git a/backend/sites/src/app.module.ts b/backend/sites/src/app.module.ts deleted file mode 100644 index 33d5fb85..00000000 --- a/backend/sites/src/app.module.ts +++ /dev/null @@ -1,85 +0,0 @@ -import { - ApolloFederationDriver, - ApolloFederationDriverConfig, -} from '@nestjs/apollo'; -import { Module } from '@nestjs/common'; -import { GraphQLModule } from '@nestjs/graphql'; -import { TypeOrmModule } from '@nestjs/typeorm'; -import { AppController } from './app.controller'; -import { AppService } from './app.service'; -import { SiteModule } from './app/site.module'; -import { - AuthGuard, - KeycloakConnectModule, - ResourceGuard, - RoleGuard, -} from 'nest-keycloak-connect'; -import { APP_GUARD } from '@nestjs/core'; -import { ConfigModule, ConfigService } from '@nestjs/config'; - -/** - * Application Module Wrapping All Functionality For User Micro Service - */ -@Module({ - imports: [ - ConfigModule.forRoot({ isGlobal: true }), - KeycloakConnectModule.registerAsync({ - inject: [ConfigService], - useFactory: (config: ConfigService) => ({ - authServerUrl: config.get('KEYCLOCK_AUTH_URL'), - realm: config.get('KEYCLOCK_REALM'), - clientId: config.get('KEYCLOCK_CLIENT_ID'), - secret: config.get('KEYCLOCK_SECRET'), - }), - // Secret key of the client taken from keycloak server - }), - SiteModule, - TypeOrmModule.forRootAsync({ - inject: [ConfigService], - useFactory: (config: ConfigService) => ({ - type: 'postgres', - host: config.get('POSTGRESQL_HOST') || 'gldatabase', - port: parseInt(config.get('POSTGRESQL_PORT')) || 5432, - database: config.get('POSTGRES_DATABASE') || 'xyz', - username: config.get('POSTGRES_DB_USERNAME') || 'xyzuser', - password: config.get('POSTGRES_DB_PASSWORD') || 'xyzuser', - autoLoadEntities: true, // Auto load all entities regiestered by typeorm forFeature method. - synchronize: false, - schema: config.get('POSTGRES_DB_SCHEMA'), - }), - // This changes the DB schema to match changes to entities, which we might not want. - }), - GraphQLModule.forRoot({ - driver: ApolloFederationDriver, - // TODO - Experiment with using old files for localhsot if need be, and true for prod - autoSchemaFile: { - federation: 2, - path: './schema.graphql', - }, - /*cors: { - credentials: true, - origin: true, - },*/ - context: () => { - //console.log('req at user '+ new Date(),req) - }, - }), - ], - controllers: [AppController], - providers: [ - AppService, - { - provide: APP_GUARD, - useClass: AuthGuard, - }, - { - provide: APP_GUARD, - useClass: ResourceGuard, - }, - { - provide: APP_GUARD, - useClass: RoleGuard, - }, - ], -}) -export class AppModule { } diff --git a/backend/sites/src/app.service.ts b/backend/sites/src/app.service.ts deleted file mode 100644 index 971aa5bc..00000000 --- a/backend/sites/src/app.service.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Injectable } from '@nestjs/common'; - -/** - * Sample Service Class for App Controller - */ -@Injectable() -export class AppService { - getHello(): string { - return 'Hello World!'; - } -} diff --git a/backend/sites/src/app/controllers/site.controller.ts b/backend/sites/src/app/controllers/site.controller.ts deleted file mode 100644 index ea64def2..00000000 --- a/backend/sites/src/app/controllers/site.controller.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { Controller, Get, Param } from '@nestjs/common'; -import { Unprotected } from 'nest-keycloak-connect'; -import { FetchSiteDetail, FetchSiteResponse } from '../dto/response/fetchSiteResponse'; -import { SiteService } from '../services/site.service'; - -@Controller('site') -@Unprotected() -export class SiteController { - constructor(private siteService: SiteService) { } - /** - * Get all sites - * @returns all sites - */ - @Get('/') async getAllSites(): Promise { - const sites = await this.siteService.findAll(); - - if (sites?.data.length == 0) { - return Promise.reject({ - statusCode: 404, - message: 'Site data not found', - }); - } - return sites; - } - - /** - * Get site by site Id - * @returns site matching the site id - */ - @Get('/:siteId') async getSiteBySiteId(@Param('siteId') siteId): Promise { - const site = await this.siteService.findSiteBySiteId(siteId); - - if (!site) { - return Promise.reject({ - statusCode: 404, - message: 'Site data not found', - }); - } - - return site; - } -} diff --git a/backend/sites/src/app/dto/recentView.dto.ts b/backend/sites/src/app/dto/recentView.dto.ts deleted file mode 100644 index 9a6bf107..00000000 --- a/backend/sites/src/app/dto/recentView.dto.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { Field, InputType } from '@nestjs/graphql'; -import { IsNotEmpty, IsString, IsOptional, IsDate, IsInt, Min } from 'class-validator'; - -@InputType() -export class RecentViewDto { - - @Field() - @IsNotEmpty() - @IsString() - userId: string; - - @Field() - @IsNotEmpty() - @IsString() - siteId: string; - - @Field() - @IsNotEmpty() - @IsString() - address: string; - - @Field() - @IsNotEmpty() - @IsString() - city: string; - - @Field({nullable:true}) - @IsOptional() - @IsString() - generalDescription: string | null; - - @Field({nullable:true}) - @IsOptional() - @IsDate() - whenUpdated: Date | null; -} \ No newline at end of file diff --git a/backend/sites/src/app/dto/response/baseHttpResponse.ts b/backend/sites/src/app/dto/response/baseHttpResponse.ts deleted file mode 100644 index 9c1ebe45..00000000 --- a/backend/sites/src/app/dto/response/baseHttpResponse.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Field, Int, ObjectType } from '@nestjs/graphql'; - -/** - * Base class for returing response from graphql services - */ -@ObjectType() -export class BaseHttpResponse { - @Field(() => Int) - httpStatusCode: number; -} diff --git a/backend/sites/src/app/dto/response/fetchSiteResponse.ts b/backend/sites/src/app/dto/response/fetchSiteResponse.ts deleted file mode 100644 index 8250dbe1..00000000 --- a/backend/sites/src/app/dto/response/fetchSiteResponse.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { Sites } from '../../entities/sites.entity'; -import { BaseHttpResponse } from './baseHttpResponse'; -import { RecentViews } from '../../entities/recentViews.entity'; - -/** - * Class for returing fetch site response from graphql services - */ -@ObjectType() -export class FetchSiteResponse extends BaseHttpResponse { - @Field(() => [Sites]) - data: Sites[]; -} - -/** - * Class for returing fetch site response from graphql services - */ -@ObjectType() -export class FetchSiteDetail extends BaseHttpResponse { - @Field(() => Sites) - data: Sites; -} - -/** - * Class for returing search site response from graphql services - */ -@ObjectType() -export class SearchSiteResponse { - @Field(() => [Sites]) - sites: Sites[]; - - @Field() - count: number; - - @Field() - page: number; - - @Field() - pageSize: number; - -} - - -@ObjectType() -export class DashboardResponse extends BaseHttpResponse{ - @Field({nullable:true}) - message: string; - - @Field(() => [RecentViews], { nullable: true }) - data: RecentViews[] | null; -} \ No newline at end of file diff --git a/backend/sites/src/app/entities/bceRegionCd.entity.ts b/backend/sites/src/app/entities/bceRegionCd.entity.ts deleted file mode 100644 index 1006309f..00000000 --- a/backend/sites/src/app/entities/bceRegionCd.entity.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { Column, Entity, Index, OneToMany } from "typeorm"; -import { CityRegions } from "./cityRegions.entity"; -import { Mailout } from "./mailout.entity"; -import { PeopleOrgs } from "./peopleOrgs.entity"; -import { Sites } from "./sites.entity"; - -@ObjectType() -@Index("bce_region_cd_pkey", ["code"], { unique: true }) -@Entity("bce_region_cd") -export class BceRegionCd { - @Field() - @Column("character varying", { primary: true, name: "code", length: 6 }) - code: string; - - @Field() - @Column("character varying", { name: "description", length: 40 }) - description: string; - - @OneToMany(() => CityRegions, (cityRegions) => cityRegions.bcerCode2) - cityRegions: CityRegions[]; - - @OneToMany(() => Mailout, (mailout) => mailout.bcerCode2) - mailouts: Mailout[]; - - @OneToMany(() => PeopleOrgs, (peopleOrgs) => peopleOrgs.bcerCode2) - peopleOrgs: PeopleOrgs[]; - - @OneToMany(() => Sites, (sites) => sites.bcerCode2) - sites: Sites[]; -} diff --git a/backend/sites/src/app/entities/cityRegions.entity.ts b/backend/sites/src/app/entities/cityRegions.entity.ts deleted file mode 100644 index 6431f293..00000000 --- a/backend/sites/src/app/entities/cityRegions.entity.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm"; -import { BceRegionCd } from "./bceRegionCd.entity"; - -@ObjectType() -@Index("cr_associated_region", ["bcerCode"], {}) -@Index("city_regions_pkey", ["city"], { unique: true }) -@Entity("city_regions") -export class CityRegions { - @Field() - @Column("character varying", { primary: true, name: "city", length: 30 }) - city: string; - - @Field() - @Column("character varying", { name: "bcer_code", length: 6 }) - bcerCode: string; - - @ManyToOne(() => BceRegionCd, (bceRegionCd) => bceRegionCd.cityRegions) - @JoinColumn([{ name: "bcer_code", referencedColumnName: "code" }]) - bcerCode2: BceRegionCd; -} diff --git a/backend/sites/src/app/entities/classificationCd.entity.ts b/backend/sites/src/app/entities/classificationCd.entity.ts deleted file mode 100644 index 3eb820f8..00000000 --- a/backend/sites/src/app/entities/classificationCd.entity.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { Column, Entity, Index, OneToMany } from "typeorm"; -import { Sites } from "./sites.entity"; - -@ObjectType() -@Index("classification_cd_pkey", ["code"], { unique: true }) -@Entity("classification_cd") -export class ClassificationCd { - @Field() - @Column("character varying", { primary: true, name: "code", length: 6 }) - code: string; - - @Field() - @Column("character varying", { name: "description", length: 40 }) - description: string; - - @OneToMany(() => Sites, (sites) => sites.classCode2) - sites: Sites[]; -} diff --git a/backend/sites/src/app/entities/conditionsText.entity.ts b/backend/sites/src/app/entities/conditionsText.entity.ts deleted file mode 100644 index dc6bcfdd..00000000 --- a/backend/sites/src/app/entities/conditionsText.entity.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm"; -import { Events } from "./events.entity"; - -@ObjectType() -@Index("ctext_applied_to", ["eventId"], {}) -@Index("ctext_rwm_flag", ["rwmFlag"], {}) -@Entity("conditions_text") -export class ConditionsText { - @Field() - @Column("bigint", { primary: true, name: "event_id" }) - eventId: string; - - @Field() - @Column("character varying", { name: "conditions_comment", length: 2000 }) - conditionsComment: string; - - @Field() - @Column("character varying", { name: "who_created", length: 30 }) - whoCreated: string; - - @Field() - @Column("character varying", { - name: "who_updated", - nullable: true, - length: 30, - }) - whoUpdated: string | null; - - @Field() - @Column("timestamp without time zone", { name: "when_created" }) - whenCreated: Date; - - @Field() - @Column("timestamp without time zone", { - name: "when_updated", - nullable: true, - }) - whenUpdated: Date | null; - - @Field() - @Column("smallint", { name: "rwm_flag" }) - rwmFlag: number; - - @ManyToOne(() => Events, (events) => events.conditionsTexts, { - onDelete: "CASCADE", - }) - @JoinColumn([{ name: "event_id", referencedColumnName: "id" }]) - event: Events; -} diff --git a/backend/sites/src/app/entities/contaminationClassCd.entity.ts b/backend/sites/src/app/entities/contaminationClassCd.entity.ts deleted file mode 100644 index 2e149bbb..00000000 --- a/backend/sites/src/app/entities/contaminationClassCd.entity.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { Column, Entity, Index, OneToMany } from "typeorm"; -import { SiteContaminationClassXref } from "./siteContaminationClassXref.entity"; - -@ObjectType() -@Index("contamination_class_cd_pkey", ["code"], { unique: true }) -@Entity("contamination_class_cd") -export class ContaminationClassCd { - @Field() - @Column("character varying", { primary: true, name: "code", length: 6 }) - code: string; - - @Field() - @Column("character varying", { name: "description", length: 140 }) - description: string; - - @OneToMany( - () => SiteContaminationClassXref, - (siteContaminationClassXref) => - siteContaminationClassXref.contaminationClassCode2 - ) - siteContaminationClassXrefs: SiteContaminationClassXref[]; -} diff --git a/backend/sites/src/app/entities/docParticRoleCd.entity.ts b/backend/sites/src/app/entities/docParticRoleCd.entity.ts deleted file mode 100644 index d3a40e92..00000000 --- a/backend/sites/src/app/entities/docParticRoleCd.entity.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { Column, Entity, Index, OneToMany } from "typeorm"; -import { SiteDocPartics } from "./siteDocPartics.entity"; - -@ObjectType() -@Index("doc_partic_role_cd_pkey", ["code"], { unique: true }) -@Entity("doc_partic_role_cd") -export class DocParticRoleCd { - @Field() - @Column("character varying", { primary: true, name: "code", length: 6 }) - code: string; - - @Field() - @Column("character varying", { name: "description", length: 40 }) - description: string; - - @OneToMany(() => SiteDocPartics, (siteDocPartics) => siteDocPartics.dprCode2) - siteDocPartics: SiteDocPartics[]; -} diff --git a/backend/sites/src/app/entities/eventClassCd.entity.ts b/backend/sites/src/app/entities/eventClassCd.entity.ts deleted file mode 100644 index 8da5d29f..00000000 --- a/backend/sites/src/app/entities/eventClassCd.entity.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { Column, Entity, Index, OneToMany } from "typeorm"; -import { EventTypeCd } from "./eventTypeCd.entity"; - -@ObjectType() -@Index("event_class_cd_pkey", ["code"], { unique: true }) -@Entity("event_class_cd") -export class EventClassCd { - @Field() - @Column("character varying", { primary: true, name: "code", length: 6 }) - code: string; - - @Field() - @Column("character varying", { name: "description", length: 80 }) - description: string; - - @OneToMany(() => EventTypeCd, (eventTypeCd) => eventTypeCd.eclsCode2) - eventTypeCds: EventTypeCd[]; -} diff --git a/backend/sites/src/app/entities/eventParticRoleCd.entity.ts b/backend/sites/src/app/entities/eventParticRoleCd.entity.ts deleted file mode 100644 index 031f2525..00000000 --- a/backend/sites/src/app/entities/eventParticRoleCd.entity.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { Column, Entity, Index, OneToMany } from "typeorm"; -import { EventPartics } from "./eventPartics.entity"; - -@ObjectType() -@Index("event_partic_role_cd_pkey", ["code"], { unique: true }) -@Entity("event_partic_role_cd") -export class EventParticRoleCd { - @Field() - @Column("character varying", { primary: true, name: "code", length: 6 }) - code: string; - - @Field() - @Column("character varying", { name: "description", length: 40 }) - description: string; - - @OneToMany(() => EventPartics, (eventPartics) => eventPartics.eprCode2) - eventPartics: EventPartics[]; -} diff --git a/backend/sites/src/app/entities/eventPartics.entity.ts b/backend/sites/src/app/entities/eventPartics.entity.ts deleted file mode 100644 index 5002b5b0..00000000 --- a/backend/sites/src/app/entities/eventPartics.entity.ts +++ /dev/null @@ -1,82 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm"; -import { EventParticRoleCd } from "./eventParticRoleCd.entity"; -import { Events } from "./events.entity"; -import { PeopleOrgs } from "./peopleOrgs.entity"; -import { SitePartics } from "./sitePartics.entity"; - -@ObjectType() -@Index("event_partics_pkey", ["eprCode", "eventId", "spId"], { unique: true }) -@Index("ep_classified_by_frgn", ["eprCode"], {}) -@Index("ep_playing_a_role_i_frgn", ["eventId"], {}) -@Index("ep_psnorg_frgn", ["psnorgId"], {}) -@Index("ep_rwm_flag", ["rwmFlag"], {}) -@Index("ep_played_by_frgn", ["spId"], {}) -@Entity("event_partics") -export class EventPartics { - @Field() - @Column("bigint", { primary: true, name: "event_id" }) - eventId: string; - - @Field() - @Column("bigint", { primary: true, name: "sp_id" }) - spId: string; - - @Field() - @Column("character varying", { primary: true, name: "epr_code", length: 6 }) - eprCode: string; - - @Field() - @Column("bigint", { name: "psnorg_id" }) - psnorgId: string; - - @Field() - @Column("character varying", { name: "who_created", length: 30 }) - whoCreated: string; - - @Field() - @Column("character varying", { - name: "who_updated", - nullable: true, - length: 30, - }) - whoUpdated: string | null; - - @Field() - @Column("timestamp without time zone", { name: "when_created" }) - whenCreated: Date; - - @Field() - @Column("timestamp without time zone", { - name: "when_updated", - nullable: true, - }) - whenUpdated: Date | null; - - @Field() - @Column("smallint", { name: "rwm_flag" }) - rwmFlag: number; - - @ManyToOne( - () => EventParticRoleCd, - (eventParticRoleCd) => eventParticRoleCd.eventPartics - ) - @JoinColumn([{ name: "epr_code", referencedColumnName: "code" }]) - eprCode2: EventParticRoleCd; - - @ManyToOne(() => Events, (events) => events.eventPartics, { - onDelete: "CASCADE", - }) - @JoinColumn([{ name: "event_id", referencedColumnName: "id" }]) - event: Events; - - @ManyToOne(() => PeopleOrgs, (peopleOrgs) => peopleOrgs.eventPartics) - @JoinColumn([{ name: "psnorg_id", referencedColumnName: "id" }]) - psnorg: PeopleOrgs; - - @ManyToOne(() => SitePartics, (sitePartics) => sitePartics.eventPartics, { - onDelete: "CASCADE", - }) - @JoinColumn([{ name: "sp_id", referencedColumnName: "id" }]) - sp: SitePartics; -} diff --git a/backend/sites/src/app/entities/eventTypeCd.entity.ts b/backend/sites/src/app/entities/eventTypeCd.entity.ts deleted file mode 100644 index 9b901044..00000000 --- a/backend/sites/src/app/entities/eventTypeCd.entity.ts +++ /dev/null @@ -1,70 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { - Column, - Entity, - Index, - JoinColumn, - ManyToOne, - OneToMany, -} from "typeorm"; -import { EventClassCd } from "./eventClassCd.entity"; -import { SiteStatusCd } from "./siteStatusCd.entity"; -import { Events } from "./events.entity"; - -@ObjectType() -@Index("event_type_cd_pkey", ["code", "eclsCode"], { unique: true }) -@Index("etyp_classified_by_frgn", ["eclsCode"], {}) -@Index("etyp_related_to_frgn", ["sstCode"], {}) -@Entity("event_type_cd") -export class EventTypeCd { - @Field() - @Column("character varying", { primary: true, name: "code", length: 6 }) - code: string; - - @Field() - @Column("character varying", { primary: true, name: "ecls_code", length: 6 }) - eclsCode: string; - - @Field() - @Column("character varying", { name: "sst_code", nullable: true, length: 6 }) - sstCode: string | null; - - @Field() - @Column("character varying", { name: "description", length: 120 }) - description: string; - - @Field() - @Column("character varying", { name: "req_completion_date", length: 1 }) - reqCompletionDate: string; - - @Field() - @Column("character varying", { name: "req_regional_approval", length: 1 }) - reqRegionalApproval: string; - - @Field() - @Column("character varying", { name: "req_remediation_plan", length: 1 }) - reqRemediationPlan: string; - - @Field() - @Column("character varying", { name: "req_registrar_approval", length: 1 }) - reqRegistrarApproval: string; - - @Field() - @Column("character varying", { name: "req_success", length: 1 }) - reqSuccess: string; - - @Field() - @Column("character varying", { name: "site_registry_visible", length: 1 }) - siteRegistryVisible: string; - - @ManyToOne(() => EventClassCd, (eventClassCd) => eventClassCd.eventTypeCds) - @JoinColumn([{ name: "ecls_code", referencedColumnName: "code" }]) - eclsCode2: EventClassCd; - - @ManyToOne(() => SiteStatusCd, (siteStatusCd) => siteStatusCd.eventTypeCds) - @JoinColumn([{ name: "sst_code", referencedColumnName: "code" }]) - sstCode2: SiteStatusCd; - - @OneToMany(() => Events, (events) => events.eventTypeCd) - events: Events[]; -} diff --git a/backend/sites/src/app/entities/events.entity.ts b/backend/sites/src/app/entities/events.entity.ts deleted file mode 100644 index 841deac8..00000000 --- a/backend/sites/src/app/entities/events.entity.ts +++ /dev/null @@ -1,155 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { - Column, - Entity, - Index, - JoinColumn, - ManyToOne, - OneToMany, -} from "typeorm"; -import { ConditionsText } from "./conditionsText.entity"; -import { EventPartics } from "./eventPartics.entity"; -import { EventTypeCd } from "./eventTypeCd.entity"; -import { Sites } from "./sites.entity"; - -@ObjectType() -@Index("event_described_by_frgn", ["eclsCode", "etypCode"], {}) -@Index("events_pkey", ["id"], { unique: true }) -@Index("event_psnorg_frgn", ["psnorgId"], {}) -@Index("event_rwm_flag", ["rwmFlag"], {}) -@Index("event_rwm_note_flag", ["rwmNoteFlag"], {}) -@Index("event_applicable_to_frgn", ["siteId"], {}) -@Index("event_responsibility_of_frgn", ["spId"], {}) -@Entity("events") -export class Events { - @Field() - @Column("bigint", { primary: true, name: "id" }) - id: string; - - @Field() - @Column("bigint", { name: "site_id" }) - siteId: string; - - @Field() - @Column("timestamp without time zone", { name: "event_date" }) - eventDate: Date; - - @Field() - @Column("timestamp without time zone", { - name: "completion_date", - nullable: true, - }) - completionDate: Date | null; - - @Field() - @Column("character varying", { name: "etyp_code", length: 6 }) - etypCode: string; - - @Field() - @Column("bigint", { name: "psnorg_id" }) - psnorgId: string; - - @Field() - @Column("bigint", { name: "sp_id" }) - spId: string; - - @Field() - @Column("character varying", { name: "note", nullable: true, length: 500 }) - note: string | null; - - @Field() - @Column("character varying", { - name: "region_app_flag", - nullable: true, - length: 1, - }) - regionAppFlag: string | null; - - @Field() - @Column("character varying", { - name: "region_userid", - nullable: true, - length: 16, - }) - regionUserid: string | null; - - @Field() - @Column("timestamp without time zone", { - name: "region_date", - nullable: true, - }) - regionDate: Date | null; - - @Field() - @Column("character varying", { name: "who_created", length: 30 }) - whoCreated: string; - - @Field() - @Column("character varying", { - name: "who_updated", - nullable: true, - length: 30, - }) - whoUpdated: string | null; - - @Field() - @Column("timestamp without time zone", { name: "when_created" }) - whenCreated: Date; - - @Field() - @Column("timestamp without time zone", { - name: "when_updated", - nullable: true, - }) - whenUpdated: Date | null; - - @Field() - @Column("smallint", { name: "rwm_flag" }) - rwmFlag: number; - - @Field() - @Column("smallint", { name: "rwm_note_flag" }) - rwmNoteFlag: number; - - @Field() - @Column("timestamp without time zone", { - name: "rwm_approval_date", - nullable: true, - }) - rwmApprovalDate: Date | null; - - @Field() - @Column("character varying", { name: "ecls_code", length: 6 }) - eclsCode: string; - - @Field() - @Column("timestamp without time zone", { - name: "requirement_due_date", - nullable: true, - }) - requirementDueDate: Date | null; - - @Field() - @Column("timestamp without time zone", { - name: "requirement_received_date", - nullable: true, - }) - requirementReceivedDate: Date | null; - - @OneToMany(() => ConditionsText, (conditionsText) => conditionsText.event) - conditionsTexts: ConditionsText[]; - - @OneToMany(() => EventPartics, (eventPartics) => eventPartics.event) - eventPartics: EventPartics[]; - - @ManyToOne(() => EventTypeCd, (eventTypeCd) => eventTypeCd.events) - @JoinColumn([ - { name: "etyp_code", referencedColumnName: "code" }, - { name: "ecls_code", referencedColumnName: "eclsCode" }, - ]) - eventTypeCd: EventTypeCd; - - @ManyToOne(() => Sites, (sites) => sites.events, { onDelete: "CASCADE" }) - @JoinColumn([{ name: "site_id", referencedColumnName: "id" }]) - site: Sites; -} diff --git a/backend/sites/src/app/entities/landHistories.entity.ts b/backend/sites/src/app/entities/landHistories.entity.ts deleted file mode 100644 index 862b7a3a..00000000 --- a/backend/sites/src/app/entities/landHistories.entity.ts +++ /dev/null @@ -1,77 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm"; -import { LandUseCd } from "./landUseCd.entity"; -import { Sites } from "./sites.entity"; - -@ObjectType() -@Index("land_histories_pkey", ["lutCode", "siteId"], { unique: true }) -@Index("sluh_described_by_frgn", ["lutCode"], {}) -@Index("sluh_rwm_flag", ["rwmFlag"], {}) -@Index("sluh_rwm_note_flag", ["rwmNoteFlag"], {}) -@Index("sluh_applicable_to_frgn", ["siteId"], {}) -@Entity("land_histories") -export class LandHistories { - @Field() - @Column("bigint", { primary: true, name: "site_id" }) - siteId: string; - - @Field() - @Column("character varying", { primary: true, name: "lut_code", length: 6 }) - lutCode: string; - - @Field() - @Column("character varying", { name: "note", nullable: true, length: 255 }) - note: string | null; - - @Field() - @Column("character varying", { name: "who_created", length: 30 }) - whoCreated: string; - - @Field() - @Column("character varying", { - name: "who_updated", - nullable: true, - length: 30, - }) - whoUpdated: string | null; - - @Field() - @Column("timestamp without time zone", { name: "when_created" }) - whenCreated: Date; - - @Field() - @Column("timestamp without time zone", { - name: "when_updated", - nullable: true, - }) - whenUpdated: Date | null; - - @Field() - @Column("smallint", { name: "rwm_flag" }) - rwmFlag: number; - - @Field() - @Column("smallint", { name: "rwm_note_flag" }) - rwmNoteFlag: number; - - @Field() - @Column("character", { name: "site_profile", nullable: true, length: 1 }) - siteProfile: string | null; - - @Field() - @Column("timestamp without time zone", { - name: "profile_date_received", - nullable: true, - }) - profileDateReceived: Date | null; - - @ManyToOne(() => LandUseCd, (landUseCd) => landUseCd.landHistories) - @JoinColumn([{ name: "lut_code", referencedColumnName: "code" }]) - lutCode2: LandUseCd; - - @ManyToOne(() => Sites, (sites) => sites.landHistories, { - onDelete: "CASCADE", - }) - @JoinColumn([{ name: "site_id", referencedColumnName: "id" }]) - site: Sites; -} diff --git a/backend/sites/src/app/entities/landUseCd.entity.ts b/backend/sites/src/app/entities/landUseCd.entity.ts deleted file mode 100644 index 9f4cef68..00000000 --- a/backend/sites/src/app/entities/landUseCd.entity.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { Column, Entity, Index, OneToMany } from "typeorm"; -import { LandHistories } from "./landHistories.entity"; -import { SiteProfileLandUses } from "./siteProfileLandUses.entity"; - - -@ObjectType() -@Index("land_use_cd_pkey", ["code"], { unique: true }) -@Entity("land_use_cd") -export class LandUseCd { - @Field() - @Column("character varying", { primary: true, name: "code", length: 6 }) - code: string; - - @Field() - @Column("character varying", { name: "description", length: 60 }) - description: string; - - @OneToMany(() => LandHistories, (landHistories) => landHistories.lutCode2) - landHistories: LandHistories[]; - - @OneToMany( - () => SiteProfileLandUses, - (siteProfileLandUses) => siteProfileLandUses.lutCode2 - ) - siteProfileLandUses: SiteProfileLandUses[]; -} diff --git a/backend/sites/src/app/entities/ltoDownload.entity.ts b/backend/sites/src/app/entities/ltoDownload.entity.ts deleted file mode 100644 index 47a18ff9..00000000 --- a/backend/sites/src/app/entities/ltoDownload.entity.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { Column, Entity } from "typeorm"; -import { Field, ObjectType } from '@nestjs/graphql'; - -@ObjectType() -@Entity("lto_download") -export class LtoDownload { - @Field() - @Column("character varying", { primary: true, name: "pid", length: 9 }) - pid: string; - - @Field() - @Column("character varying", { - name: "pid_status_cd", - nullable: true, - length: 1, - }) - pidStatusCd: string | null; - - @Field() - @Column("character varying", { - name: "legal_description", - nullable: true, - length: 255, - }) - legalDescription: string | null; - - @Field() - @Column("character varying", { name: "child_pid", nullable: true, length: 9 }) - childPid: string | null; - - @Field() - @Column("character varying", { - name: "child_pid_status_cd", - nullable: true, - length: 1, - }) - childPidStatusCd: string | null; - - @Field() - @Column("character varying", { - name: "child_legal_description", - nullable: true, - length: 255, - }) - childLegalDescription: string | null; -} diff --git a/backend/sites/src/app/entities/ltoPrevDownload.entity.ts b/backend/sites/src/app/entities/ltoPrevDownload.entity.ts deleted file mode 100644 index 015f1765..00000000 --- a/backend/sites/src/app/entities/ltoPrevDownload.entity.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { Column, Entity } from "typeorm"; -import { Field, ObjectType } from '@nestjs/graphql'; - -@ObjectType() -@Entity("lto_prev_download") -export class LtoPrevDownload { - @Field() - @Column("character varying", { primary: true, name: "pid", length: 9 }) - pid: string; - - @Field() - @Column("character varying", { - name: "pid_status_cd", - nullable: true, - length: 1, - }) - pidStatusCd: string | null; - - @Field() - @Column("character varying", { - name: "legal_description", - nullable: true, - length: 255, - }) - legalDescription: string | null; - - @Field() - @Column("character varying", { name: "child_pid", nullable: true, length: 9 }) - childPid: string | null; - - @Field() - @Column("character varying", { - name: "child_pid_status_cd", - nullable: true, - length: 1, - }) - childPidStatusCd: string | null; - - @Field() - @Column("character varying", { - name: "child_legal_description", - nullable: true, - length: 255, - }) - childLegalDescription: string | null; -} diff --git a/backend/sites/src/app/entities/mailout.entity.ts b/backend/sites/src/app/entities/mailout.entity.ts deleted file mode 100644 index ab920e09..00000000 --- a/backend/sites/src/app/entities/mailout.entity.ts +++ /dev/null @@ -1,165 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm"; -import { BceRegionCd } from "./bceRegionCd.entity"; -import { PeopleOrgs } from "./peopleOrgs.entity"; -import { Sites } from "./sites.entity"; - -@ObjectType() -@Index("mailout_bcer_code", ["bcerCode"], {}) -@Index("mailout_pkey", ["psnorgId", "siteId"], { unique: true }) -@Entity("mailout") -export class Mailout { - @Field() - @Column("bigint", { primary: true, name: "site_id" }) - siteId: string; - - @Field() - @Column("bigint", { primary: true, name: "psnorg_id" }) - psnorgId: string; - - @Field() - @Column("character varying", { name: "bcer_code", length: 6 }) - bcerCode: string; - - @Field() - @Column("character varying", { name: "display_name", length: 150 }) - displayName: string; - - @Field() - @Column("character varying", { name: "common_name", length: 40 }) - commonName: string; - - @Field() - @Column("character varying", { name: "common_city_name", length: 30 }) - commonCityName: string; - - @Field() - @Column("character varying", { name: "organization_address", length: 50 }) - organizationAddress: string; - - @Field() - @Column("character varying", { - name: "org_address_2", - nullable: true, - length: 50, - }) - orgAddress_2: string | null; - - @Field() - @Column("character varying", { - name: "org_address_3", - nullable: true, - length: 50, - }) - orgAddress_3: string | null; - - @Field() - @Column("character varying", { name: "organization_city_name", length: 30 }) - organizationCityName: string; - - @Field() - @Column("character varying", { name: "prov_state", length: 2 }) - provState: string; - - @Field() - @Column("character varying", { - name: "postal_code", - nullable: true, - length: 10, - }) - postalCode: string | null; - - @Field() - @Column("timestamp without time zone", { - name: "mailing_date", - nullable: true, - }) - mailingDate: Date | null; - - @Field() - @Column("timestamp without time zone", { - name: "response_date", - nullable: true, - }) - responseDate: Date | null; - - @Field() - @Column("timestamp without time zone", { - name: "record_date", - nullable: true, - }) - recordDate: Date | null; - - @Field() - @Column("character varying", { name: "revise", nullable: true, length: 1 }) - revise: string | null; - - @Field() - @Column("character varying", { name: "complete", nullable: true, length: 1 }) - complete: string | null; - - @Field() - @Column("timestamp without time zone", { - name: "complete_date", - nullable: true, - }) - completeDate: Date | null; - - @Field() - @Column("character varying", { - name: "comments", - nullable: true, - length: 750, - }) - comments: string | null; - - @Field() - @Column("character varying", { - name: "update_notation", - nullable: true, - length: 1, - }) - updateNotation: string | null; - - @Field() - @Column("timestamp without time zone", { - name: "update_notation_date", - nullable: true, - }) - updateNotationDate: Date | null; - - @Field() - @Column("character varying", { name: "who_created", length: 30 }) - whoCreated: string; - - @Field() - @Column("timestamp without time zone", { name: "when_created" }) - whenCreated: Date; - - @Field() - @Column("character varying", { - name: "who_updated", - nullable: true, - length: 30, - }) - whoUpdated: string | null; - - @Field() - @Column("timestamp without time zone", { - name: "when_updated", - nullable: true, - }) - whenUpdated: Date | null; - - @ManyToOne(() => BceRegionCd, (bceRegionCd) => bceRegionCd.mailouts) - @JoinColumn([{ name: "bcer_code", referencedColumnName: "code" }]) - bcerCode2: BceRegionCd; - - @ManyToOne(() => PeopleOrgs, (peopleOrgs) => peopleOrgs.mailouts) - @JoinColumn([{ name: "psnorg_id", referencedColumnName: "id" }]) - psnorg: PeopleOrgs; - - @ManyToOne(() => Sites, (sites) => sites.mailouts) - @JoinColumn([{ name: "site_id", referencedColumnName: "id" }]) - site: Sites; -} diff --git a/backend/sites/src/app/entities/particRoleCd.entity.ts b/backend/sites/src/app/entities/particRoleCd.entity.ts deleted file mode 100644 index aa891b19..00000000 --- a/backend/sites/src/app/entities/particRoleCd.entity.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { Column, Entity, Index, OneToMany } from "typeorm"; -import { SiteParticRoles } from "./siteParticRoles.entity"; - -@ObjectType() -@Index("partic_role_cd_pkey", ["code"], { unique: true }) -@Entity("partic_role_cd") -export class ParticRoleCd { - @Field() - @Column("character varying", { primary: true, name: "code", length: 6 }) - code: string; - - @Field() - @Column("character varying", { name: "description", length: 40 }) - description: string; - - @OneToMany( - () => SiteParticRoles, - (siteParticRoles) => siteParticRoles.prCode2 - ) - siteParticRoles: SiteParticRoles[]; -} diff --git a/backend/sites/src/app/entities/peopleOrgs.entity.ts b/backend/sites/src/app/entities/peopleOrgs.entity.ts deleted file mode 100644 index 69311832..00000000 --- a/backend/sites/src/app/entities/peopleOrgs.entity.ts +++ /dev/null @@ -1,146 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { - Column, - Entity, - Index, - JoinColumn, - ManyToOne, - OneToMany, -} from "typeorm"; -import { EventPartics } from "./eventPartics.entity"; -import { Mailout } from "./mailout.entity"; -import { BceRegionCd } from "./bceRegionCd.entity"; -import { SisAddresses } from "./sisAddresses.entity"; -import { SiteDocPartics } from "./siteDocPartics.entity"; -import { SitePartics } from "./sitePartics.entity"; -import { SiteStaffs } from "./siteStaffs.entity"; -import { SiteCrownLandContaminated } from "./siteCrownLandContaminated.entity"; - -@ObjectType() -@Index("psnorg_working_within_frgn", ["bcerCode"], {}) -@Index("people_orgs_pkey", ["id"], { unique: true }) -@Entity("people_orgs") -export class PeopleOrgs { - @Field() - @Column("bigint", { primary: true, name: "id" }) - id: string; - - @Field() - @Column("character varying", { - name: "organization_name", - nullable: true, - length: 150, - }) - organizationName: string | null; - - @Field() - @Column("character varying", { name: "display_name", length: 150 }) - displayName: string; - - @Field() - @Column("character varying", { name: "entity_type", length: 12 }) - entityType: string; - - @Field() - @Column("character varying", { name: "location", nullable: true, length: 40 }) - location: string | null; - - @Field() - @Column("character varying", { name: "bcer_code", nullable: true, length: 6 }) - bcerCode: string | null; - - @Field() - @Column("character varying", { - name: "contact_name", - nullable: true, - length: 150, - }) - contactName: string | null; - - @Field() - @Column("character varying", { - name: "mail_userid", - nullable: true, - length: 100, - }) - mailUserid: string | null; - - @Field() - @Column("character varying", { - name: "last_name", - nullable: true, - length: 150, - }) - lastName: string | null; - - @Field() - @Column("character varying", { - name: "first_name", - nullable: true, - length: 75, - }) - firstName: string | null; - - @Field() - @Column("character varying", { - name: "middle_name", - nullable: true, - length: 75, - }) - middleName: string | null; - - @Field() - @Column("character varying", { name: "who_created", length: 30 }) - whoCreated: string; - - @Field() - @Column("character varying", { - name: "who_updated", - nullable: true, - length: 30, - }) - whoUpdated: string | null; - - @Field() - @Column("timestamp without time zone", { name: "when_created" }) - whenCreated: Date; - - @Field() - @Column("timestamp without time zone", { - name: "when_updated", - nullable: true, - }) - whenUpdated: Date | null; - - @Field() - @Column("timestamp without time zone", { name: "end_date", nullable: true }) - endDate: Date | null; - - @OneToMany(() => EventPartics, (eventPartics) => eventPartics.psnorg) - eventPartics: EventPartics[]; - - @OneToMany(() => Mailout, (mailout) => mailout.psnorg) - mailouts: Mailout[]; - - @ManyToOne(() => BceRegionCd, (bceRegionCd) => bceRegionCd.peopleOrgs) - @JoinColumn([{ name: "bcer_code", referencedColumnName: "code" }]) - bcerCode2: BceRegionCd; - - @OneToMany(() => SisAddresses, (sisAddresses) => sisAddresses.psnorg) - sisAddresses: SisAddresses[]; - - @OneToMany( - () => SiteCrownLandContaminated, - (siteCrownLandContaminated) => siteCrownLandContaminated.psnorg - ) - siteCrownLandContaminateds: SiteCrownLandContaminated[]; - - @OneToMany(() => SiteDocPartics, (siteDocPartics) => siteDocPartics.psnorg) - siteDocPartics: SiteDocPartics[]; - - @OneToMany(() => SitePartics, (sitePartics) => sitePartics.psnorg) - sitePartics: SitePartics[]; - - @OneToMany(() => SiteStaffs, (siteStaffs) => siteStaffs.psnorg) - siteStaffs: SiteStaffs[]; -} diff --git a/backend/sites/src/app/entities/planTable.entity.ts b/backend/sites/src/app/entities/planTable.entity.ts deleted file mode 100644 index 9c7d19ee..00000000 --- a/backend/sites/src/app/entities/planTable.entity.ts +++ /dev/null @@ -1,122 +0,0 @@ -import { Column, Entity, PrimaryGeneratedColumn } from "typeorm"; -import { Field, ObjectType } from '@nestjs/graphql'; - -@ObjectType() -@Entity("plan_table") -export class PlanTable { - @Field() - @PrimaryGeneratedColumn('uuid', { name: 'plan_id' }) - planId: string; - - @Field() - @Column("character varying", { - name: "statement_id", - nullable: true, - length: 30, - }) - statementId: string | null; - - @Field() - @Column("timestamp without time zone", { name: "timestamp", nullable: true }) - timestamp: Date | null; - - @Field() - @Column("character varying", { name: "remarks", nullable: true, length: 80 }) - remarks: string | null; - - @Field() - @Column("character varying", { - name: "operation", - nullable: true, - length: 30, - }) - operation: string | null; - - @Field() - @Column("character varying", { name: "options", nullable: true, length: 30 }) - options: string | null; - - @Field() - @Column("character varying", { - name: "object_node", - nullable: true, - length: 128, - }) - objectNode: string | null; - - @Field() - @Column("character varying", { - name: "object_owner", - nullable: true, - length: 30, - }) - objectOwner: string | null; - - @Field() - @Column("character varying", { - name: "object_name", - nullable: true, - length: 30, - }) - objectName: string | null; - - @Field() - @Column("numeric", { - name: "object_instance", - nullable: true, - precision: 38, - scale: 0, - }) - objectInstance: string | null; - - @Field() - @Column("character varying", { - name: "object_type", - nullable: true, - length: 30, - }) - objectType: string | null; - - @Field() - @Column("character varying", { - name: "optimizer", - nullable: true, - length: 255, - }) - optimizer: string | null; - - @Field() - @Column("numeric", { - name: "search_columns", - nullable: true, - precision: 38, - scale: 0, - }) - searchColumns: string | null; - - @Field() - @Column("numeric", { name: "id", nullable: true, precision: 38, scale: 0 }) - id: string | null; - - @Field() - @Column("numeric", { - name: "parent_id", - nullable: true, - precision: 38, - scale: 0, - }) - parentId: string | null; - - @Field() - @Column("numeric", { - name: "position", - nullable: true, - precision: 38, - scale: 0, - }) - position: string | null; - - @Field() - @Column("text", { name: "other", nullable: true }) - other: string | null; -} diff --git a/backend/sites/src/app/entities/profileAnswers.entity.ts b/backend/sites/src/app/entities/profileAnswers.entity.ts deleted file mode 100644 index f603654a..00000000 --- a/backend/sites/src/app/entities/profileAnswers.entity.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm"; -import { ProfileQuestions } from "./profileQuestions.entity"; -import { SiteProfiles } from "./siteProfiles.entity"; - -@ObjectType() -@Index("profile_answers_pkey", ["questionId", "siteId", "sprofDateCompleted"], { - unique: true, -}) -@Index("profans_sprof", ["siteId", "sprofDateCompleted"], {}) -@Entity("profile_answers") -export class ProfileAnswers { - @Field() - @Column("bigint", { primary: true, name: "site_id" }) - siteId: string; - - @Field() - @Column("timestamp without time zone", { - primary: true, - name: "sprof_date_completed", - }) - sprofDateCompleted: Date; - - @Field() - @Column("bigint", { primary: true, name: "question_id" }) - questionId: string; - - @Field() - @Column("character varying", { name: "who_created", length: 30 }) - whoCreated: string; - - @Field() - @Column("timestamp without time zone", { name: "when_created" }) - whenCreated: Date; - - @ManyToOne( - () => ProfileQuestions, - (profileQuestions) => profileQuestions.profileAnswers - ) - @JoinColumn([{ name: "question_id", referencedColumnName: "id" }]) - question: ProfileQuestions; - - @ManyToOne( - () => SiteProfiles, - (siteProfiles) => siteProfiles.profileAnswers, - { onDelete: "CASCADE" } - ) - @JoinColumn([ - { name: "site_id", referencedColumnName: "siteId" }, - { name: "sprof_date_completed", referencedColumnName: "dateCompleted" }, - ]) - siteProfiles: SiteProfiles; -} diff --git a/backend/sites/src/app/entities/profileCategories.entity.ts b/backend/sites/src/app/entities/profileCategories.entity.ts deleted file mode 100644 index 2edc6914..00000000 --- a/backend/sites/src/app/entities/profileCategories.entity.ts +++ /dev/null @@ -1,73 +0,0 @@ -import { Column, Entity, Index, OneToMany } from "typeorm"; -import { ProfileQuestions } from "./profileQuestions.entity"; -import { Field, ObjectType } from '@nestjs/graphql'; - -@ObjectType() -@Index("profile_categories_pkey", ["id"], { unique: true }) -@Index("profcat_id_seq", ["id", "sequenceNo"], {}) -@Entity("profile_categories") -export class ProfileCategories { - @Field() - @Column("bigint", { primary: true, name: "id" }) - id: string; - - @Field() - @Column("bigint", { name: "sequence_no" }) - sequenceNo: string; - - @Field() - @Column("character varying", { name: "description", length: 200 }) - description: string; - - @Field() - @Column("character varying", { name: "question_type", length: 1 }) - questionType: string; - - @Field() - @Column("timestamp without time zone", { name: "effective_date" }) - effectiveDate: Date; - - @Field() - @Column("timestamp without time zone", { - name: "expiry_date", - nullable: true, - }) - expiryDate: Date | null; - - @Field() - @Column("character varying", { name: "who_created", length: 30 }) - whoCreated: string; - - @Field() - @Column("character varying", { - name: "who_updated", - nullable: true, - length: 30, - }) - whoUpdated: string | null; - - @Field() - @Column("timestamp without time zone", { name: "when_created" }) - whenCreated: Date; - - @Field() - @Column("timestamp without time zone", { - name: "when_updated", - nullable: true, - }) - whenUpdated: Date | null; - - @Field() - @Column("character varying", { - name: "category_precursor", - nullable: true, - length: 300, - }) - categoryPrecursor: string | null; - - @OneToMany( - () => ProfileQuestions, - (profileQuestions) => profileQuestions.category - ) - profileQuestions: ProfileQuestions[]; -} diff --git a/backend/sites/src/app/entities/profileQuestions.entity.ts b/backend/sites/src/app/entities/profileQuestions.entity.ts deleted file mode 100644 index 518cd6c0..00000000 --- a/backend/sites/src/app/entities/profileQuestions.entity.ts +++ /dev/null @@ -1,96 +0,0 @@ -import { - Column, - Entity, - Index, - JoinColumn, - ManyToOne, - OneToMany, -} from "typeorm"; -import { ProfileAnswers } from "./profileAnswers.entity"; -import { ProfileCategories } from "./profileCategories.entity"; -import { Field, ObjectType } from '@nestjs/graphql'; - -@ObjectType() -@Index("profque_cat_seq", ["categoryId", "sequenceNo"], {}) -@Index("profque_category_id", ["categoryId"], {}) -@Index("profile_questions_pkey", ["id"], { unique: true }) -@Index("profque_parent_id", ["parentId"], {}) -@Entity("profile_questions") -export class ProfileQuestions { - @Field() - @Column("bigint", { primary: true, name: "id" }) - id: string; - - @Field() - @Column("bigint", { name: "sequence_no" }) - sequenceNo: string; - - @Field() - @Column("bigint", { name: "category_id" }) - categoryId: string; - - @Field() - @Column("bigint", { name: "parent_id", nullable: true }) - parentId: string | null; - - @Field() - @Column("character varying", { name: "description", length: 400 }) - description: string; - - @Field() - @Column("timestamp without time zone", { name: "effective_date" }) - effectiveDate: Date; - - @Field() - @Column("timestamp without time zone", { - name: "expiry_date", - nullable: true, - }) - expiryDate: Date | null; - - @Field() - @Column("character varying", { name: "who_created", length: 30 }) - whoCreated: string; - - @Field() - @Column("character varying", { - name: "who_updated", - nullable: true, - length: 30, - }) - whoUpdated: string | null; - - @Field() - @Column("timestamp without time zone", { name: "when_created" }) - whenCreated: Date; - - @Field() - @Column("timestamp without time zone", { - name: "when_updated", - nullable: true, - }) - whenUpdated: Date | null; - - @OneToMany(() => ProfileAnswers, (profileAnswers) => profileAnswers.question) - profileAnswers: ProfileAnswers[]; - - @ManyToOne( - () => ProfileCategories, - (profileCategories) => profileCategories.profileQuestions - ) - @JoinColumn([{ name: "category_id", referencedColumnName: "id" }]) - category: ProfileCategories; - - @ManyToOne( - () => ProfileQuestions, - (profileQuestions) => profileQuestions.profileQuestions - ) - @JoinColumn([{ name: "parent_id", referencedColumnName: "id" }]) - parent: ProfileQuestions; - - @OneToMany( - () => ProfileQuestions, - (profileQuestions) => profileQuestions.parent - ) - profileQuestions: ProfileQuestions[]; -} diff --git a/backend/sites/src/app/entities/profileSubmissions.entity.ts b/backend/sites/src/app/entities/profileSubmissions.entity.ts deleted file mode 100644 index d9aeb182..00000000 --- a/backend/sites/src/app/entities/profileSubmissions.entity.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm"; -import { SiteProfiles } from "./siteProfiles.entity"; -import { SubmissionCd } from "./submissionCd.entity"; -import { Field, ObjectType } from '@nestjs/graphql'; - -@ObjectType() -@Index( - "profile_submissions_pkey", - ["sprofDateCompleted", "sprofSiteId", "submcdCode"], - { unique: true } -) -@Index("profsbm_sprof_fk_i", ["sprofDateCompleted", "sprofSiteId"], {}) -@Index("profsbm_submcd_fk_i", ["submcdCode"], {}) -@Entity("profile_submissions") -export class ProfileSubmissions { - @Field() - @Column("timestamp without time zone", { - primary: true, - name: "sprof_date_completed", - }) - sprofDateCompleted: Date; - - @Field() - @Column("character varying", { - primary: true, - name: "submcd_code", - length: 6, - }) - submcdCode: string; - - @Field() - @Column("bigint", { primary: true, name: "sprof_site_id" }) - sprofSiteId: string; - - @ManyToOne( - () => SiteProfiles, - (siteProfiles) => siteProfiles.profileSubmissions - ) - @JoinColumn([ - { name: "sprof_site_id", referencedColumnName: "siteId" }, - { name: "sprof_date_completed", referencedColumnName: "dateCompleted" }, - ]) - siteProfiles: SiteProfiles; - - @ManyToOne( - () => SubmissionCd, - (submissionCd) => submissionCd.profileSubmissions - ) - @JoinColumn([{ name: "submcd_code", referencedColumnName: "code" }]) - submcdCode2: SubmissionCd; -} diff --git a/backend/sites/src/app/entities/recentViews.entity.ts b/backend/sites/src/app/entities/recentViews.entity.ts deleted file mode 100644 index c53fa2af..00000000 --- a/backend/sites/src/app/entities/recentViews.entity.ts +++ /dev/null @@ -1,63 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { - Entity, - PrimaryGeneratedColumn, - Column, - Index, - ManyToOne, - CreateDateColumn, - UpdateDateColumn, - JoinColumn, - BeforeUpdate, -} from 'typeorm'; -import { Sites } from './sites.entity'; -import { SiteStaffs } from './siteStaffs.entity'; - -@ObjectType() -@Entity('recent_views') -@Index('idx_user_id', ['userId']) -export class RecentViews { - @PrimaryGeneratedColumn() - id: number; - - @Field() - @Column('character varying', { name: 'user_id', length: 30 }) - userId: string; - - @Field() - @Column('character varying', { name: 'site_id' }) - siteId: string; - - @Field() - @Column('character varying', { length: 200 }) - address: string; - - @Field() - @Column('character varying', { name: 'city', length: 30 }) - city: string; - - @Field({ nullable: true }) - @Column('character varying', { - name: 'general_description', - length: 225, - nullable: true, - }) - generalDescription: string | null; - - @Field({ nullable: true }) - @Column('timestamp without time zone', { - name: 'when_updated', - nullable: true, - }) - whenUpdated: Date | null; - - @CreateDateColumn({ type: 'timestamp', default: () => 'CURRENT_TIMESTAMP' }) - created: Date; - - @UpdateDateColumn({ type: 'timestamp', default: () => 'CURRENT_TIMESTAMP' }) - updated: Date; - - @ManyToOne(() => Sites, (site) => site.recentViewedSites) - @JoinColumn({ name: 'site_id', referencedColumnName: 'id' }) - site: Sites; -} diff --git a/backend/sites/src/app/entities/sisAddresses.entity.ts b/backend/sites/src/app/entities/sisAddresses.entity.ts deleted file mode 100644 index 109d0b25..00000000 --- a/backend/sites/src/app/entities/sisAddresses.entity.ts +++ /dev/null @@ -1,159 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm"; -import { PeopleOrgs } from "./peopleOrgs.entity"; - -@ObjectType() -@Index("sis_addresses_pkey", ["id"], { unique: true }) -@Index("addr_a_location_for_frgn", ["psnorgId"], {}) -@Entity("sis_addresses") -export class SisAddresses { - - @Field() - @Column("bigint", { primary: true, name: "id" }) - id: string; - - @Field() - @Column("bigint", { name: "psnorg_id" }) - psnorgId: string; - - @Field() - @Column("timestamp without time zone", { - name: "effective_date", - nullable: true, - }) - effectiveDate: Date | null; - - @Field() - @Column("timestamp without time zone", { - name: "termination_date", - nullable: true, - }) - terminationDate: Date | null; - - @Field() - @Column("character varying", { - name: "bus_area_code", - nullable: true, - length: 3, - }) - busAreaCode: string | null; - - @Field() - @Column("character varying", { - name: "bus_phone_no", - nullable: true, - length: 7, - }) - busPhoneNo: string | null; - - @Field() - @Column("character varying", { - name: "fax_area_code", - nullable: true, - length: 3, - }) - faxAreaCode: string | null; - - @Field() - @Column("character varying", { - name: "fax_phone_no", - nullable: true, - length: 7, - }) - faxPhoneNo: string | null; - - @Field() - @Column("character varying", { - name: "home_area_code", - nullable: true, - length: 3, - }) - homeAreaCode: string | null; - - @Field() - @Column("character varying", { - name: "home_phone_no", - nullable: true, - length: 7, - }) - homePhoneNo: string | null; - - @Field() - @Column("character varying", { name: "addr_type", length: 7 }) - addrType: string; - - @Field() - @Column("character varying", { name: "addr_line_1", length: 50 }) - addrLine_1: string; - - @Field() - @Column("character varying", { - name: "addr_line_2", - nullable: true, - length: 50, - }) - addrLine_2: string | null; - - @Field() - @Column("character varying", { - name: "addr_line_3", - nullable: true, - length: 50, - }) - addrLine_3: string | null; - - @Field() - @Column("character varying", { - name: "addr_line_4", - nullable: true, - length: 50, - }) - addrLine_4: string | null; - - @Field() - @Column("character varying", { name: "city", length: 30 }) - city: string; - - @Field() - @Column("character varying", { name: "prov_state", length: 2 }) - provState: string; - - @Field() - @Column("character varying", { name: "country", length: 3 }) - country: string; - - @Field() - @Column("character varying", { - name: "postal_code", - nullable: true, - length: 10, - }) - postalCode: string | null; - - @Field() - @Column("character varying", { name: "who_created", length: 30 }) - whoCreated: string; - - @Field() - @Column("character varying", { - name: "who_updated", - nullable: true, - length: 30, - }) - whoUpdated: string | null; - - @Field() - @Column("timestamp without time zone", { name: "when_created" }) - whenCreated: Date; - - @Field() - @Column("timestamp without time zone", { - name: "when_updated", - nullable: true, - }) - whenUpdated: Date | null; - - @ManyToOne(() => PeopleOrgs, (peopleOrgs) => peopleOrgs.sisAddresses) - @JoinColumn([{ name: "psnorg_id", referencedColumnName: "id" }]) - psnorg: PeopleOrgs; -} diff --git a/backend/sites/src/app/entities/siteAssocs.entity.ts b/backend/sites/src/app/entities/siteAssocs.entity.ts deleted file mode 100644 index 2fc00101..00000000 --- a/backend/sites/src/app/entities/siteAssocs.entity.ts +++ /dev/null @@ -1,72 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm"; -import { Sites } from "./sites.entity"; - -@ObjectType() -@Index("sa_rwm_flag", ["rwmFlag"], {}) -@Index("sa_rwm_note_flag", ["rwmNoteFlag"], {}) -@Index("sa_adjacent_to_frgn", ["siteId"], {}) -@Index("site_assocs_pkey", ["siteId", "siteIdAssociatedWith"], { unique: true }) -@Index("sa_associated_with_frgn", ["siteIdAssociatedWith"], {}) -@Entity("site_assocs") -export class SiteAssocs { - - @Field() - @Column("bigint", { primary: true, name: "site_id" }) - siteId: string; - - @Field() - @Column("bigint", { primary: true, name: "site_id_associated_with" }) - siteIdAssociatedWith: string; - - @Field() - @Column("timestamp without time zone", { name: "effective_date" }) - effectiveDate: Date; - - @Field() - @Column("character varying", { name: "note", nullable: true, length: 255 }) - note: string | null; - - @Field() - @Column("character varying", { name: "who_created", length: 30 }) - whoCreated: string; - - @Field() - @Column("character varying", { - name: "who_updated", - nullable: true, - length: 30, - }) - whoUpdated: string | null; - - @Field() - @Column("timestamp without time zone", { name: "when_created" }) - whenCreated: Date; - - @Field() - @Column("timestamp without time zone", { - name: "when_updated", - nullable: true, - }) - whenUpdated: Date | null; - - @Field() - @Column("smallint", { name: "rwm_flag" }) - rwmFlag: number; - - @Field() - @Column("smallint", { name: "rwm_note_flag" }) - rwmNoteFlag: number; - - @Field() - @Column("character varying", { name: "common_pid", length: 1 }) - commonPid: string; - - @ManyToOne(() => Sites, (sites) => sites.siteAssocs, { onDelete: "CASCADE" }) - @JoinColumn([{ name: "site_id", referencedColumnName: "id" }]) - site: Sites; - - @ManyToOne(() => Sites, (sites) => sites.siteAssocs2, { onDelete: "CASCADE" }) - @JoinColumn([{ name: "site_id_associated_with", referencedColumnName: "id" }]) - siteIdAssociatedWith2: Sites; -} diff --git a/backend/sites/src/app/entities/siteContaminationClassXref.entity.ts b/backend/sites/src/app/entities/siteContaminationClassXref.entity.ts deleted file mode 100644 index 09b5cfa4..00000000 --- a/backend/sites/src/app/entities/siteContaminationClassXref.entity.ts +++ /dev/null @@ -1,67 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm"; -import { ContaminationClassCd } from "./contaminationClassCd.entity"; -import { SiteCrownLandContaminated } from "./siteCrownLandContaminated.entity"; - -@ObjectType() -@Index( - "site_contamination_class_xref_pkey", - ["contaminationClassCode", "sclcId"], - { unique: true } -) -@Entity("site_contamination_class_xref") -export class SiteContaminationClassXref { - - @Field() - @Column("bigint", { primary: true, name: "sclc_id" }) - sclcId: string; - - @Field() - @Column("character varying", { - primary: true, - name: "contamination_class_code", - length: 6, - }) - contaminationClassCode: string; - - @Field() - @Column("character varying", { name: "who_created", length: 30 }) - whoCreated: string; - - @Field() - @Column("character varying", { - name: "who_updated", - nullable: true, - length: 30, - }) - whoUpdated: string | null; - - @Field() - @Column("timestamp without time zone", { name: "when_created" }) - whenCreated: Date; - - @Field() - @Column("timestamp without time zone", { - name: "when_updated", - nullable: true, - }) - whenUpdated: Date | null; - - @ManyToOne( - () => ContaminationClassCd, - (contaminationClassCd) => contaminationClassCd.siteContaminationClassXrefs - ) - @JoinColumn([ - { name: "contamination_class_code", referencedColumnName: "code" }, - ]) - contaminationClassCode2: ContaminationClassCd; - - @ManyToOne( - () => SiteCrownLandContaminated, - (siteCrownLandContaminated) => - siteCrownLandContaminated.siteContaminationClassXrefs, - { onDelete: "CASCADE" } - ) - @JoinColumn([{ name: "sclc_id", referencedColumnName: "id" }]) - sclc: SiteCrownLandContaminated; -} diff --git a/backend/sites/src/app/entities/siteCrownLandContaminated.entity.ts b/backend/sites/src/app/entities/siteCrownLandContaminated.entity.ts deleted file mode 100644 index fc06ea26..00000000 --- a/backend/sites/src/app/entities/siteCrownLandContaminated.entity.ts +++ /dev/null @@ -1,68 +0,0 @@ -import { Column, Entity, Index, JoinColumn, ManyToOne, OneToMany, OneToOne } from "typeorm"; -import { SiteContaminationClassXref } from './siteContaminationClassXref.entity' -import { Sites } from './sites.entity' -import { PeopleOrgs } from './peopleOrgs.entity' -import { SiteCrownLandStatusCd } from './siteCrownLandStatusCd.entity' -import { Field, ObjectType } from '@nestjs/graphql'; - -@ObjectType() -@Index("site_crown_land_contaminated_pkey", ["id",], { unique: true }) -@Entity("site_crown_land_contaminated") -export class SiteCrownLandContaminated { - - @Field() - @Column("bigint", { primary: true, name: "id" }) - id: string; - - @Field() - @Column("double precision", { name: "estimated_cost_of_remediations", precision: 53 }) - estimatedCostOfRemediations: number; - - @Field() - @Column("double precision", { name: "actual_cost_of_remediations", nullable: true, precision: 53 }) - actualCostOfRemediations: number | null; - - @Field() - @Column("character varying", { name: "contamination_other_desc", nullable: true, length: 50 }) - contaminationOtherDesc: string | null; - - @Field() - @Column("character varying", { name: "who_created", length: 30 }) - whoCreated: string; - - @Field() - @Column("character varying", { name: "who_updated", nullable: true, length: 30, default: () => "statement_timestamp()", }) - whoUpdated: string | null; - - @Field() - @Column("timestamp without time zone", { name: "when_created" }) - whenCreated: Date; - - @Field() - @Column("timestamp without time zone", { name: "when_updated", nullable: true, default: () => "statement_timestamp()", }) - whenUpdated: Date | null; - - @OneToMany(() => SiteContaminationClassXref, siteContaminationClassXref => siteContaminationClassXref.sclc) - - - siteContaminationClassXrefs: SiteContaminationClassXref[]; - - @OneToOne(() => Sites, sites => sites.siteCrownLandContaminated) - @JoinColumn([{ name: "id", referencedColumnName: "id" }, - ]) - - sites: Sites; - - @ManyToOne(() => PeopleOrgs, peopleOrgs => peopleOrgs.siteCrownLandContaminateds) - @JoinColumn([{ name: "psnorg_id", referencedColumnName: "id" }, - ]) - - psnorg: PeopleOrgs; - - @ManyToOne(() => SiteCrownLandStatusCd, siteCrownLandStatusCd => siteCrownLandStatusCd.siteCrownLandContaminateds) - @JoinColumn([{ name: "site_crown_land_status_code", referencedColumnName: "code" }, - ]) - - siteCrownLandStatusCode: SiteCrownLandStatusCd; - -} diff --git a/backend/sites/src/app/entities/siteCrownLandStatusCd.entity.ts b/backend/sites/src/app/entities/siteCrownLandStatusCd.entity.ts deleted file mode 100644 index 3bc2efb1..00000000 --- a/backend/sites/src/app/entities/siteCrownLandStatusCd.entity.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { Column, Entity, Index, OneToMany } from "typeorm"; -import { SiteCrownLandContaminated } from "./siteCrownLandContaminated.entity"; - -@ObjectType() -@Index("site_crown_land_status_cd_pkey", ["code"], { unique: true }) -@Entity("site_crown_land_status_cd") -export class SiteCrownLandStatusCd { - - @Field() - @Column("character varying", { primary: true, name: "code", length: 6 }) - code: string; - - @Field() - @Column("character varying", { name: "description", length: 140 }) - description: string; - - @OneToMany( - () => SiteCrownLandContaminated, - (siteCrownLandContaminated) => - siteCrownLandContaminated.siteCrownLandStatusCode - ) - siteCrownLandContaminateds: SiteCrownLandContaminated[]; -} diff --git a/backend/sites/src/app/entities/siteDocPartics.entity.ts b/backend/sites/src/app/entities/siteDocPartics.entity.ts deleted file mode 100644 index 07b22cb3..00000000 --- a/backend/sites/src/app/entities/siteDocPartics.entity.ts +++ /dev/null @@ -1,92 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm"; -import { DocParticRoleCd } from "./docParticRoleCd.entity"; -import { PeopleOrgs } from "./peopleOrgs.entity"; -import { SiteDocs } from "./siteDocs.entity"; -import { SitePartics } from "./sitePartics.entity"; - -@ObjectType() -@Index("sdp_classified_by_frgn", ["dprCode"], {}) -@Index( - "site_doc_partics_sdoc_id_psnorg_id_dpr_code_key", - ["dprCode", "psnorgId", "sdocId"], - { unique: true } -) -@Index("site_doc_partics_pkey", ["id"], { unique: true }) -@Index("sdp_psnorg_frgn", ["psnorgId"], {}) -@Index("sdp_rwm_flag", ["rwmFlag"], {}) -@Index("sdp_playing_a_role_i_frgn", ["sdocId"], {}) -@Index("sdp_played_by_frgn", ["spId"], {}) -@Entity("site_doc_partics") -export class SiteDocPartics { - - @Field() - @Column("bigint", { primary: true, name: "id" }) - id: string; - - @Field() - @Column("character varying", { name: "dpr_code", unique: true, length: 6 }) - dprCode: string; - - @Field() - @Column("bigint", { name: "sdoc_id", unique: true }) - sdocId: string; - - @Field() - @Column("bigint", { name: "sp_id" }) - spId: string; - - @Field() - @Column("bigint", { name: "psnorg_id", unique: true }) - psnorgId: string; - - @Field() - @Column("character varying", { name: "who_created", length: 30 }) - whoCreated: string; - - @Field() - @Column("character varying", { - name: "who_updated", - nullable: true, - length: 30, - }) - whoUpdated: string | null; - - @Field() - @Column("timestamp without time zone", { name: "when_created" }) - whenCreated: Date; - - @Field() - @Column("timestamp without time zone", { - name: "when_updated", - nullable: true, - }) - whenUpdated: Date | null; - - @Field() - @Column("smallint", { name: "rwm_flag" }) - rwmFlag: number; - - @ManyToOne( - () => DocParticRoleCd, - (docParticRoleCd) => docParticRoleCd.siteDocPartics - ) - @JoinColumn([{ name: "dpr_code", referencedColumnName: "code" }]) - dprCode2: DocParticRoleCd; - - @ManyToOne(() => PeopleOrgs, (peopleOrgs) => peopleOrgs.siteDocPartics) - @JoinColumn([{ name: "psnorg_id", referencedColumnName: "id" }]) - psnorg: PeopleOrgs; - - @ManyToOne(() => SiteDocs, (siteDocs) => siteDocs.siteDocPartics, { - onDelete: "CASCADE", - }) - @JoinColumn([{ name: "sdoc_id", referencedColumnName: "id" }]) - sdoc: SiteDocs; - - @ManyToOne(() => SitePartics, (sitePartics) => sitePartics.siteDocPartics, { - onDelete: "CASCADE", - }) - @JoinColumn([{ name: "sp_id", referencedColumnName: "id" }]) - sp: SitePartics; -} diff --git a/backend/sites/src/app/entities/siteDocs.entity.ts b/backend/sites/src/app/entities/siteDocs.entity.ts deleted file mode 100644 index 9da3ec0f..00000000 --- a/backend/sites/src/app/entities/siteDocs.entity.ts +++ /dev/null @@ -1,85 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { - Column, - Entity, - Index, - JoinColumn, - ManyToOne, - OneToMany, - OneToOne, -} from "typeorm"; -import { SiteDocPartics } from "./siteDocPartics.entity"; -import { Sites } from "./sites.entity"; - -@ObjectType() -@Index("site_docs_pkey", ["id"], { unique: true }) -@Index("sdoc_rwm_flag", ["rwmFlag"], {}) -@Index("sdoc_about_frgn", ["siteId"], {}) -@Entity("site_docs") -export class SiteDocs { - - @Field() - @Column("bigint", { primary: true, name: "id" }) - id: string; - - @Field() - @Column("bigint", { name: "site_id" }) - siteId: string; - - @Field() - @Column("timestamp without time zone", { name: "submission_date" }) - submissionDate: Date; - - @Field() - @Column("timestamp without time zone", { - name: "document_date", - nullable: true, - }) - documentDate: Date | null; - - @Field() - @Column("character varying", { name: "title", length: 150 }) - title: string; - - @Field() - @Column("character varying", { name: "note", nullable: true, length: 255 }) - note: string | null; - - @Field() - @Column("character varying", { name: "who_created", length: 30 }) - whoCreated: string; - - @Field() - @Column("character varying", { - name: "who_updated", - nullable: true, - length: 30, - }) - whoUpdated: string | null; - - @Field() - @Column("timestamp without time zone", { name: "when_created" }) - whenCreated: Date; - - @Field() - @Column("timestamp without time zone", { - name: "when_updated", - nullable: true, - }) - whenUpdated: Date | null; - - @Field() - @Column("smallint", { name: "rwm_flag" }) - rwmFlag: number; - - @Field() - @Column("smallint", { name: "rwm_note_flag", nullable: true }) - rwmNoteFlag: number | null; - - @OneToMany(() => SiteDocPartics, (siteDocPartics) => siteDocPartics.sdoc) - siteDocPartics: SiteDocPartics[]; - - @ManyToOne(() => Sites, (sites) => sites.siteDocs, { onDelete: "CASCADE" }) - @JoinColumn([{ name: "site_id", referencedColumnName: "id" }]) - site: Sites; -} diff --git a/backend/sites/src/app/entities/siteParticRoles.entity.ts b/backend/sites/src/app/entities/siteParticRoles.entity.ts deleted file mode 100644 index 37a8b30e..00000000 --- a/backend/sites/src/app/entities/siteParticRoles.entity.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm"; -import { ParticRoleCd } from "./particRoleCd.entity"; -import { SitePartics } from "./sitePartics.entity"; - -@ObjectType() -@Index("spr_classified_by_frgn", ["prCode"], {}) -@Index("site_partic_roles_pkey", ["prCode", "spId"], { unique: true }) -@Index("spr_rwm_flag", ["rwmFlag"], {}) -@Index("spr_classifying_frgn", ["spId"], {}) -@Entity("site_partic_roles") -export class SiteParticRoles { - - @Field() - @Column("character varying", { primary: true, name: "pr_code", length: 6 }) - prCode: string; - - @Field() - @Column("bigint", { primary: true, name: "sp_id" }) - spId: string; - - @Field() - @Column("character varying", { name: "who_created", length: 30 }) - whoCreated: string; - - @Field() - @Column("character varying", { - name: "who_updated", - nullable: true, - length: 30, - }) - whoUpdated: string | null; - - @Field() - @Column("timestamp without time zone", { name: "when_created" }) - whenCreated: Date; - - @Field() - @Column("timestamp without time zone", { - name: "when_updated", - nullable: true, - }) - whenUpdated: Date | null; - - @Field() - @Column("smallint", { name: "rwm_flag" }) - rwmFlag: number; - - @ManyToOne(() => ParticRoleCd, (particRoleCd) => particRoleCd.siteParticRoles) - @JoinColumn([{ name: "pr_code", referencedColumnName: "code" }]) - prCode2: ParticRoleCd; - - @ManyToOne(() => SitePartics, (sitePartics) => sitePartics.siteParticRoles, { - onDelete: "CASCADE", - }) - @JoinColumn([{ name: "sp_id", referencedColumnName: "id" }]) - sp: SitePartics; -} diff --git a/backend/sites/src/app/entities/sitePartics.entity.ts b/backend/sites/src/app/entities/sitePartics.entity.ts deleted file mode 100644 index d8a60504..00000000 --- a/backend/sites/src/app/entities/sitePartics.entity.ts +++ /dev/null @@ -1,111 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { - Column, - Entity, - Index, - JoinColumn, - ManyToOne, - OneToMany, -} from "typeorm"; -import { EventPartics } from "./eventPartics.entity"; -import { SiteDocPartics } from "./siteDocPartics.entity"; -import { SiteParticRoles } from "./siteParticRoles.entity"; -import { PeopleOrgs } from "./peopleOrgs.entity"; -import { Sites } from "./sites.entity"; -import { SiteProfileOwners } from "./siteProfileOwners.entity"; -import { SiteProfiles } from "./siteProfiles.entity"; - -@ObjectType() -@Index("site_partics_pkey", ["id"], { unique: true }) -@Index("sp_identified_by_frgn", ["psnorgId"], {}) -@Index("sp_rwm_flag", ["rwmFlag"], {}) -@Index("sp_identified_by2_frgn", ["siteId"], {}) -@Entity("site_partics") -export class SitePartics { - - @Field() - @Column("bigint", { primary: true, name: "id" }) - id: string; - - @Field() - @Column("bigint", { name: "site_id" }) - siteId: string; - - @Field() - @Column("bigint", { name: "psnorg_id" }) - psnorgId: string; - - @Field() - @Column("timestamp without time zone", { name: "effective_date" }) - effectiveDate: Date; - - @Field() - @Column("timestamp without time zone", { name: "end_date", nullable: true }) - endDate: Date | null; - - @Field() - @Column("character", { name: "note", nullable: true, length: 255 }) - note: string | null; - - @Field() - @Column("character", { name: "who_created", length: 30 }) - whoCreated: string; - - @Field() - @Column("character", { name: "who_updated", nullable: true, length: 30 }) - whoUpdated: string | null; - - @Field() - @Column("timestamp without time zone", { name: "when_created" }) - whenCreated: Date; - - @Field() - @Column("timestamp without time zone", { - name: "when_updated", - nullable: true, - }) - whenUpdated: Date | null; - - @Field() - @Column("smallint", { name: "rwm_flag" }) - rwmFlag: number; - - @Field() - @Column("smallint", { name: "rwm_note_flag" }) - rwmNoteFlag: number; - - @OneToMany(() => EventPartics, (eventPartics) => eventPartics.sp) - eventPartics: EventPartics[]; - - @OneToMany(() => SiteDocPartics, (siteDocPartics) => siteDocPartics.sp) - siteDocPartics: SiteDocPartics[]; - - @OneToMany(() => SiteParticRoles, (siteParticRoles) => siteParticRoles.sp) - siteParticRoles: SiteParticRoles[]; - - @ManyToOne(() => PeopleOrgs, (peopleOrgs) => peopleOrgs.sitePartics) - @JoinColumn([{ name: "psnorg_id", referencedColumnName: "id" }]) - psnorg: PeopleOrgs; - - @ManyToOne(() => Sites, (sites) => sites.sitePartics, { onDelete: "CASCADE" }) - @JoinColumn([{ name: "site_id", referencedColumnName: "id" }]) - site: Sites; - - @OneToMany( - () => SiteProfileOwners, - (siteProfileOwners) => siteProfileOwners.sp - ) - siteProfileOwners: SiteProfileOwners[]; - - @OneToMany(() => SiteProfiles, (siteProfiles) => siteProfiles.completorPartic) - siteProfiles: SiteProfiles[]; - - @OneToMany(() => SiteProfiles, (siteProfiles) => siteProfiles.contactPartic) - siteProfiles2: SiteProfiles[]; - - @OneToMany(() => SiteProfiles, (siteProfiles) => siteProfiles.rwmPartic) - siteProfiles3: SiteProfiles[]; - - @OneToMany(() => SiteProfiles, (siteProfiles) => siteProfiles.siteRegPartic) - siteProfiles4: SiteProfiles[]; -} diff --git a/backend/sites/src/app/entities/siteProfileLandUses.entity.ts b/backend/sites/src/app/entities/siteProfileLandUses.entity.ts deleted file mode 100644 index 156e4350..00000000 --- a/backend/sites/src/app/entities/siteProfileLandUses.entity.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm"; -import { LandUseCd } from "./landUseCd.entity"; -import { SiteProfiles } from "./siteProfiles.entity"; - -@ObjectType() -@Index( - "site_profile_land_uses_pkey", - ["lutCode", "siteId", "sprofDateCompleted"], - { unique: true } -) -@Entity("site_profile_land_uses") -export class SiteProfileLandUses { - - @Field() - @Column("bigint", { primary: true, name: "site_id" }) - siteId: string; - - @Field() - @Column("timestamp without time zone", { - primary: true, - name: "sprof_date_completed", - }) - sprofDateCompleted: Date; - - @Field() - @Column("character varying", { primary: true, name: "lut_code", length: 6 }) - lutCode: string; - - @Field() - @Column("character varying", { name: "who_created", length: 16 }) - whoCreated: string; - - @Field() - @Column("timestamp without time zone", { name: "when_created" }) - whenCreated: Date; - - @ManyToOne(() => LandUseCd, (landUseCd) => landUseCd.siteProfileLandUses) - @JoinColumn([{ name: "lut_code", referencedColumnName: "code" }]) - lutCode2: LandUseCd; - - @ManyToOne( - () => SiteProfiles, - (siteProfiles) => siteProfiles.siteProfileLandUses - ) - @JoinColumn([ - { name: "site_id", referencedColumnName: "siteId" }, - { name: "sprof_date_completed", referencedColumnName: "dateCompleted" }, - ]) - siteProfiles: SiteProfiles; -} diff --git a/backend/sites/src/app/entities/siteProfileOwners.entity.ts b/backend/sites/src/app/entities/siteProfileOwners.entity.ts deleted file mode 100644 index 6017e860..00000000 --- a/backend/sites/src/app/entities/siteProfileOwners.entity.ts +++ /dev/null @@ -1,59 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm"; -import { SiteProfiles } from "./siteProfiles.entity"; -import { SitePartics } from "./sitePartics.entity"; - -@ObjectType() -@Index("spown_sprof_fk_i", ["dateCompleted", "siteId"], {}) -@Index("site_profile_owners_pkey", ["dateCompleted", "siteId", "spId"], { - unique: true, -}) -@Index("spown_sp_fk_i", ["spId"], {}) -@Entity("site_profile_owners") -export class SiteProfileOwners { - - @Field() - @Column("bigint", { primary: true, name: "site_id" }) - siteId: string; - - @Field() - @Column("timestamp without time zone", { - primary: true, - name: "date_completed", - }) - dateCompleted: Date; - - @Field() - @Column("bigint", { primary: true, name: "sp_id" }) - spId: string; - - @Field() - @Column("character varying", { - name: "owner_company_contact", - nullable: true, - length: 150, - }) - ownerCompanyContact: string | null; - - @Field() - @Column("character varying", { - name: "agent_authorized_ind", - nullable: true, - length: 1, - }) - agentAuthorizedInd: string | null; - - @ManyToOne( - () => SiteProfiles, - (siteProfiles) => siteProfiles.siteProfileOwners - ) - @JoinColumn([ - { name: "site_id", referencedColumnName: "siteId" }, - { name: "date_completed", referencedColumnName: "dateCompleted" }, - ]) - siteProfiles: SiteProfiles; - - @ManyToOne(() => SitePartics, (sitePartics) => sitePartics.siteProfileOwners) - @JoinColumn([{ name: "sp_id", referencedColumnName: "id" }]) - sp: SitePartics; -} diff --git a/backend/sites/src/app/entities/siteProfiles.entity.ts b/backend/sites/src/app/entities/siteProfiles.entity.ts deleted file mode 100644 index 3676a48c..00000000 --- a/backend/sites/src/app/entities/siteProfiles.entity.ts +++ /dev/null @@ -1,372 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { - Column, - Entity, - Index, - JoinColumn, - ManyToOne, - OneToMany, -} from "typeorm"; -import { ProfileAnswers } from "./profileAnswers.entity"; -import { ProfileSubmissions } from "./profileSubmissions.entity"; -import { SiteProfileLandUses } from "./siteProfileLandUses.entity"; -import { SiteProfileOwners } from "./siteProfileOwners.entity"; -import { SitePartics } from "./sitePartics.entity"; -import { Sites } from "./sites.entity"; - -@ObjectType() -@Index("site_profiles_pkey", ["dateCompleted", "siteId"], { unique: true }) -@Index("sprof_rwm_site_partic", ["rwmParticId"], {}) -@Index("sprof_site_reg_site_partic", ["siteRegParticId"], {}) -@Entity("site_profiles") -export class SiteProfiles { - - @Field() - @Column("bigint", { primary: true, name: "site_id" }) - siteId: string; - - @Field() - @Column("timestamp without time zone", { - primary: true, - name: "date_completed", - }) - dateCompleted: Date; - - @Field() - @Column("timestamp without time zone", { - name: "local_auth_date_recd", - nullable: true, - }) - localAuthDateRecd: Date | null; - - @Field() - @Column("character varying", { - name: "local_auth_name", - nullable: true, - length: 200, - }) - localAuthName: string | null; - - @Field() - @Column("character varying", { - name: "local_auth_agency", - nullable: true, - length: 200, - }) - localAuthAgency: string | null; - - @Field() - @Column("character varying", { - name: "local_auth_address1", - nullable: true, - length: 40, - }) - localAuthAddress1: string | null; - - @Field() - @Column("character varying", { - name: "local_auth_address2", - nullable: true, - length: 40, - }) - localAuthAddress2: string | null; - - @Field() - @Column("character varying", { - name: "local_auth_phone_area_code", - nullable: true, - length: 3, - }) - localAuthPhoneAreaCode: string | null; - - @Field() - @Column("character varying", { - name: "local_auth_phone_no", - nullable: true, - length: 7, - }) - localAuthPhoneNo: string | null; - - @Field() - @Column("character varying", { - name: "local_auth_fax_area_code", - nullable: true, - length: 3, - }) - localAuthFaxAreaCode: string | null; - - @Field() - @Column("character varying", { - name: "local_auth_fax_no", - nullable: true, - length: 7, - }) - localAuthFaxNo: string | null; - - @Field() - @Column("timestamp without time zone", { - name: "local_auth_date_submitted", - nullable: true, - }) - localAuthDateSubmitted: Date | null; - - @Field() - @Column("timestamp without time zone", { - name: "local_auth_date_forwarded", - nullable: true, - }) - localAuthDateForwarded: Date | null; - - @Field() - @Column("timestamp without time zone", { - name: "rwm_date_received", - nullable: true, - }) - rwmDateReceived: Date | null; - - @Field() - @Column("bigint", { name: "rwm_partic_id", nullable: true }) - rwmParticId: string | null; - - @Field() - @Column("character varying", { - name: "rwm_phone_area_code", - nullable: true, - length: 3, - }) - rwmPhoneAreaCode: string | null; - - @Field() - @Column("character varying", { - name: "rwm_phone_no", - nullable: true, - length: 7, - }) - rwmPhoneNo: string | null; - - @Field() - @Column("character varying", { - name: "rwm_fax_area_code", - nullable: true, - length: 3, - }) - rwmFaxAreaCode: string | null; - - @Field() - @Column("character varying", { - name: "rwm_fax_no", - nullable: true, - length: 7, - }) - rwmFaxNo: string | null; - - @Field() - @Column("character", { - name: "investigation_required", - nullable: true, - length: 1, - }) - investigationRequired: string | null; - - @Field() - @Column("timestamp without time zone", { - name: "rwm_date_decision", - nullable: true, - }) - rwmDateDecision: Date | null; - - @Field() - @Column("timestamp without time zone", { - name: "site_reg_date_recd", - nullable: true, - }) - siteRegDateRecd: Date | null; - - @Field() - @Column("timestamp without time zone", { - name: "site_reg_date_entered", - nullable: true, - }) - siteRegDateEntered: Date | null; - - @Field() - @Column("bigint", { name: "site_reg_partic_id", nullable: true }) - siteRegParticId: string | null; - - @Field() - @Column("bigint", { name: "owner_partic_id", nullable: true }) - ownerParticId: string | null; - - @Field() - @Column("character varying", { - name: "site_address", - nullable: true, - length: 100, - }) - siteAddress: string | null; - - @Field() - @Column("character varying", { - name: "site_city", - nullable: true, - length: 30, - }) - siteCity: string | null; - - @Field() - @Column("character varying", { - name: "site_postal_code", - nullable: true, - length: 10, - }) - sitePostalCode: string | null; - - @Field() - @Column("smallint", { name: "number_of_pids", nullable: true }) - numberOfPids: number | null; - - @Field() - @Column("smallint", { name: "number_of_pins", nullable: true }) - numberOfPins: number | null; - - @Field() - @Column("smallint", { name: "lat_degrees", nullable: true }) - latDegrees: number | null; - - @Field() - @Column("smallint", { name: "lat_minutes", nullable: true }) - latMinutes: number | null; - - @Field() - @Column("numeric", { - name: "lat_seconds", - nullable: true, - precision: 4, - scale: 2, - }) - latSeconds: string | null; - - @Field() - @Column("smallint", { name: "long_degrees", nullable: true }) - longDegrees: number | null; - - @Field() - @Column("smallint", { name: "long_minutes", nullable: true }) - longMinutes: number | null; - - @Field() - @Column("numeric", { - name: "long_seconds", - nullable: true, - precision: 4, - scale: 2, - }) - longSeconds: string | null; - - @Field() - @Column("character varying", { - name: "comments", - nullable: true, - length: 2000, - }) - comments: string | null; - - @Field() - @Column("character varying", { name: "who_created", length: 30 }) - whoCreated: string; - - @Field() - @Column("character varying", { - name: "who_updated", - nullable: true, - length: 30, - }) - whoUpdated: string | null; - - @Field() - @Column("timestamp without time zone", { name: "when_created" }) - whenCreated: Date; - - @Field() - @Column("timestamp without time zone", { - name: "when_updated", - nullable: true, - }) - whenUpdated: Date | null; - - @Field() - @Column("character varying", { - name: "local_auth_email", - nullable: true, - length: 50, - }) - localAuthEmail: string | null; - - @Field() - @Column("character varying", { - name: "planned_activity_comment", - nullable: true, - length: 2000, - }) - plannedActivityComment: string | null; - - @Field() - @Column("character varying", { - name: "site_disclosure_comment", - nullable: true, - length: 2000, - }) - siteDisclosureComment: string | null; - - @Field() - @Column("character varying", { - name: "gov_documents_comment", - nullable: true, - length: 2000, - }) - govDocumentsComment: string | null; - - @OneToMany( - () => ProfileAnswers, - (profileAnswers) => profileAnswers.siteProfiles - ) - profileAnswers: ProfileAnswers[]; - - @OneToMany( - () => ProfileSubmissions, - (profileSubmissions) => profileSubmissions.siteProfiles - ) - profileSubmissions: ProfileSubmissions[]; - - @OneToMany( - () => SiteProfileLandUses, - (siteProfileLandUses) => siteProfileLandUses.siteProfiles - ) - siteProfileLandUses: SiteProfileLandUses[]; - - @OneToMany( - () => SiteProfileOwners, - (siteProfileOwners) => siteProfileOwners.siteProfiles - ) - siteProfileOwners: SiteProfileOwners[]; - - @ManyToOne(() => SitePartics, (sitePartics) => sitePartics.siteProfiles) - @JoinColumn([{ name: "completor_partic_id", referencedColumnName: "id" }]) - completorPartic: SitePartics; - - @ManyToOne(() => SitePartics, (sitePartics) => sitePartics.siteProfiles2) - @JoinColumn([{ name: "contact_partic_id", referencedColumnName: "id" }]) - contactPartic: SitePartics; - - @ManyToOne(() => SitePartics, (sitePartics) => sitePartics.siteProfiles3) - @JoinColumn([{ name: "rwm_partic_id", referencedColumnName: "id" }]) - rwmPartic: SitePartics; - - @ManyToOne(() => Sites, (sites) => sites.siteProfiles) - @JoinColumn([{ name: "site_id", referencedColumnName: "id" }]) - site: Sites; - - @ManyToOne(() => SitePartics, (sitePartics) => sitePartics.siteProfiles4) - @JoinColumn([{ name: "site_reg_partic_id", referencedColumnName: "id" }]) - siteRegPartic: SitePartics; -} diff --git a/backend/sites/src/app/entities/siteRegistry.entity.ts b/backend/sites/src/app/entities/siteRegistry.entity.ts deleted file mode 100644 index 99fd1997..00000000 --- a/backend/sites/src/app/entities/siteRegistry.entity.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { Column, Entity, Index } from "typeorm"; - -@ObjectType() -@Index("sitereg_bco", ["regFlag", "siteId"], {}) -@Index("site_registry_pkey", ["siteId"], { unique: true }) -@Entity("site_registry") -export class SiteRegistry { - - @Field() - @Column("bigint", { primary: true, name: "site_id" }) - siteId: string; - - @Field() - @Column("smallint", { name: "reg_flag", nullable: true }) - regFlag: number | null; - - @Field() - @Column("character varying", { - name: "reg_userid", - nullable: true, - length: 16, - }) - regUserid: string | null; - - @Field() - @Column("timestamp without time zone", { - name: "init_approval_date", - nullable: true, - }) - initApprovalDate: Date | null; - - @Field() - @Column("timestamp without time zone", { - name: "last_approval_date", - nullable: true, - }) - lastApprovalDate: Date | null; - - @Field() - @Column("timestamp without time zone", { - name: "tombstone_date", - nullable: true, - }) - tombstoneDate: Date | null; -} diff --git a/backend/sites/src/app/entities/siteRegistryModule.entity.ts b/backend/sites/src/app/entities/siteRegistryModule.entity.ts deleted file mode 100644 index 8349ce27..00000000 --- a/backend/sites/src/app/entities/siteRegistryModule.entity.ts +++ /dev/null @@ -1,193 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { Column, Entity, PrimaryGeneratedColumn } from "typeorm"; - -@ObjectType() -@Entity("site_registry_module") -export class SiteRegistryModule { - @PrimaryGeneratedColumn('uuid', { name: 'id' }) - id: string; - - @Field() - @Column("character", { name: "sites", nullable: true, length: 1 }) - sites: string | null; - - @Field() - @Column("character", { - name: "site_location_description", - nullable: true, - length: 1, - }) - siteLocationDescription: string | null; - - @Field() - @Column("character", { name: "site_partics", nullable: true, length: 1 }) - sitePartics: string | null; - - @Field() - @Column("character", { name: "site_partic_notes", nullable: true, length: 1 }) - siteParticNotes: string | null; - - @Field() - @Column("character", { name: "site_partic_roles", nullable: true, length: 1 }) - siteParticRoles: string | null; - - @Field() - @Column("character", { name: "site_partic_dates", nullable: true, length: 1 }) - siteParticDates: string | null; - - @Field() - @Column("character", { name: "notations", nullable: true, length: 1 }) - notations: string | null; - - @Field() - @Column("character", { name: "notation_notes", nullable: true, length: 1 }) - notationNotes: string | null; - - @Field() - @Column("character", { name: "notation_actions", nullable: true, length: 1 }) - notationActions: string | null; - - @Field() - @Column("character", { name: "notation_partics", nullable: true, length: 1 }) - notationPartics: string | null; - - @Field() - @Column("character", { name: "documents", nullable: true, length: 1 }) - documents: string | null; - - @Field() - @Column("character", { name: "document_notes", nullable: true, length: 1 }) - documentNotes: string | null; - - @Field() - @Column("character", { name: "document_partics", nullable: true, length: 1 }) - documentPartics: string | null; - - @Field() - @Column("character", { - name: "document_abstracts", - nullable: true, - length: 1, - }) - documentAbstracts: string | null; - - @Field() - @Column("character", { - name: "document_measure_pops", - nullable: true, - length: 1, - }) - documentMeasurePops: string | null; - - @Field() - @Column("character", { - name: "document_measure_details", - nullable: true, - length: 1, - }) - documentMeasureDetails: string | null; - - @Field() - @Column("character", { name: "associations", nullable: true, length: 1 }) - associations: string | null; - - @Field() - @Column("character", { name: "association_notes", nullable: true, length: 1 }) - associationNotes: string | null; - - @Field() - @Column("character", { name: "association_dates", nullable: true, length: 1 }) - associationDates: string | null; - - @Field() - @Column("character", { name: "suspect_land_uses", nullable: true, length: 1 }) - suspectLandUses: string | null; - - @Field() - @Column("character", { - name: "suspect_land_use_notes", - nullable: true, - length: 1, - }) - suspectLandUseNotes: string | null; - - @Field() - @Column("character", { name: "aec_assessments", nullable: true, length: 1 }) - aecAssessments: string | null; - - @Field() - @Column("character", { - name: "aec_assessment_mig_potential", - nullable: true, - length: 1, - }) - aecAssessmentMigPotential: string | null; - - @Field() - @Column("character", { - name: "aec_assessment_sources", - nullable: true, - length: 1, - }) - aecAssessmentSources: string | null; - - @Field() - @Column("character", { - name: "aec_assessment_medias", - nullable: true, - length: 1, - }) - aecAssessmentMedias: string | null; - - @Field() - @Column("character", { - name: "aec_assessment_media_notes", - nullable: true, - length: 1, - }) - aecAssessmentMediaNotes: string | null; - - @Field() - @Column("character", { - name: "aec_assessment_pcocs", - nullable: true, - length: 1, - }) - aecAssessmentPcocs: string | null; - - @Field() - @Column("character", { name: "aec_remed_plans", nullable: true, length: 1 }) - aecRemedPlans: string | null; - - @Field() - @Column("character", { - name: "aec_remed_plan_notes", - nullable: true, - length: 1, - }) - aecRemedPlanNotes: string | null; - - @Field() - @Column("character", { - name: "aec_remed_plan_items", - nullable: true, - length: 1, - }) - aecRemedPlanItems: string | null; - - @Field() - @Column("character", { - name: "aec_remed_plan_item_measures", - nullable: true, - length: 1, - }) - aecRemedPlanItemMeasures: string | null; - - @Field() - @Column("character", { - name: "aec_remed_approaches", - nullable: true, - length: 1, - }) - aecRemedApproaches: string | null; -} diff --git a/backend/sites/src/app/entities/siteRiskCd.entity.ts b/backend/sites/src/app/entities/siteRiskCd.entity.ts deleted file mode 100644 index 84091bcf..00000000 --- a/backend/sites/src/app/entities/siteRiskCd.entity.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { Column, Entity, Index, OneToMany } from "typeorm"; -import { Sites } from "./sites.entity"; - -@ObjectType() -@Index("site_risk_cd_pkey", ["code"], { unique: true }) -@Entity("site_risk_cd") -export class SiteRiskCd { - @Field() - @Column("character varying", { primary: true, name: "code", length: 6 }) - code: string; - - @Field() - @Column("character varying", { name: "description", length: 40 }) - description: string; - - @OneToMany(() => Sites, (sites) => sites.siteRiskCode2) - sites: Sites[]; -} diff --git a/backend/sites/src/app/entities/siteStaffs.entity.ts b/backend/sites/src/app/entities/siteStaffs.entity.ts deleted file mode 100644 index b6436b4f..00000000 --- a/backend/sites/src/app/entities/siteStaffs.entity.ts +++ /dev/null @@ -1,123 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm"; -import { PeopleOrgs } from "./peopleOrgs.entity"; - -@ObjectType() -@Index("site_staffs_pkey", ["id"], { unique: true }) -@Index("site_staff_employed_as_frgn", ["psnorgId"], {}) -@Index("site_staffs_psnorg_id_start_date_key", ["psnorgId", "startDate"], { - unique: true, -}) -@Entity("site_staffs") -export class SiteStaffs { - - @Field() - @Column("bigint", { primary: true, name: "id" }) - id: string; - - @Field() - @Column("bigint", { name: "psnorg_id", unique: true }) - psnorgId: string; - - @Field() - @Column("character varying", { name: "emp_num", nullable: true, length: 10 }) - empNum: string | null; - - @Field() - @Column("character varying", { name: "user_id", length: 16 }) - userId: string; - - @Field() - @Column("character varying", { - name: "e_mail_addr", - nullable: true, - length: 40, - }) - eMailAddr: string | null; - - @Field() - @Column("character varying", { - name: "stftype_code", - nullable: true, - length: 6, - }) - stftypeCode: string | null; - - @Field() - @Column("character varying", { name: "prt_name", length: 15 }) - prtName: string; - - @Field() - @Column("character varying", { - name: "display_name", - nullable: true, - length: 255, - }) - displayName: string | null; - - @Field() - @Column("character varying", { - name: "region_code", - nullable: true, - length: 6, - }) - regionCode: string | null; - - @Field() - @Column("timestamp without time zone", { name: "start_date", unique: true }) - startDate: Date; - - @Field() - @Column("timestamp without time zone", { - name: "termination_date", - nullable: true, - }) - terminationDate: Date | null; - - @Field() - @Column("character varying", { name: "staff_role", length: 12 }) - staffRole: string; - - @Field() - @Column("character varying", { name: "who_created", length: 30 }) - whoCreated: string; - - @Field() - @Column("character varying", { - name: "who_updated", - nullable: true, - length: 30, - }) - whoUpdated: string | null; - - @Field() - @Column("timestamp without time zone", { name: "when_created" }) - whenCreated: Date; - - @Field() - @Column("timestamp without time zone", { - name: "when_updated", - nullable: true, - }) - whenUpdated: Date | null; - - @Field() - @Column("character varying", { - name: "last_name", - nullable: true, - length: 150, - }) - lastName: string | null; - - @Field() - @Column("character varying", { - name: "first_name", - nullable: true, - length: 75, - }) - firstName: string | null; - - @ManyToOne(() => PeopleOrgs, (peopleOrgs) => peopleOrgs.siteStaffs) - @JoinColumn([{ name: "psnorg_id", referencedColumnName: "id" }]) - psnorg: PeopleOrgs; -} diff --git a/backend/sites/src/app/entities/siteStatusCd.entity.ts b/backend/sites/src/app/entities/siteStatusCd.entity.ts deleted file mode 100644 index e671ef14..00000000 --- a/backend/sites/src/app/entities/siteStatusCd.entity.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { Column, Entity, Index, OneToMany } from "typeorm"; -import { EventTypeCd } from "./eventTypeCd.entity"; -import { Sites } from "./sites.entity"; - -@ObjectType() -@Index("site_status_cd_pkey", ["code"], { unique: true }) -@Entity("site_status_cd") -export class SiteStatusCd { - - @Field() - @Column("character varying", { primary: true, name: "code", length: 6 }) - code: string; - - @Field() - @Column("character varying", { name: "description", length: 120 }) - description: string; - - @OneToMany(() => EventTypeCd, (eventTypeCd) => eventTypeCd.sstCode2) - eventTypeCds: EventTypeCd[]; - - @OneToMany(() => Sites, (sites) => sites.sstCode2) - sites: Sites[]; -} diff --git a/backend/sites/src/app/entities/siteSubdivisions.entity.ts b/backend/sites/src/app/entities/siteSubdivisions.entity.ts deleted file mode 100644 index c05e0b42..00000000 --- a/backend/sites/src/app/entities/siteSubdivisions.entity.ts +++ /dev/null @@ -1,78 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm"; -import { Sites } from "./sites.entity"; - -@ObjectType() -@Index( - "site_subdivisions_site_id_subdiv_id_sprof_date_completed_key", - ["siteId", "sprofDateCompleted", "subdivId"], - { unique: true } -) -@Index("sitesub_part_or_all_of_frgn", ["siteId"], {}) -@Index("site_subdivisions_pkey", ["siteSubdivId"], { unique: true }) -@Index("sitesub_for_profile", ["sprofDateCompleted"], {}) -@Index("sitesub_comprised_of_frgn", ["subdivId"], {}) -@Entity("site_subdivisions") -export class SiteSubdivisions { - - @Field() - @Column("bigint", { name: "site_id", unique: true }) - siteId: string; - - @Field() - @Column("bigint", { name: "subdiv_id", unique: true }) - subdivId: string; - - @Field() - @Column("timestamp without time zone", { name: "date_noted" }) - dateNoted: Date; - - @Field() - @Column("character varying", { name: "initial_indicator", length: 1 }) - initialIndicator: string; - - @Field() - @Column("character varying", { name: "who_created", length: 30 }) - whoCreated: string; - - @Field() - @Column("character varying", { - name: "who_updated", - nullable: true, - length: 30, - }) - whoUpdated: string | null; - - @Field() - @Column("timestamp without time zone", { name: "when_created" }) - whenCreated: Date; - - @Field() - @Column("timestamp without time zone", { - name: "when_updated", - nullable: true, - }) - whenUpdated: Date | null; - - @Field() - @Column("timestamp without time zone", { - name: "sprof_date_completed", - nullable: true, - unique: true, - }) - sprofDateCompleted: Date | null; - - @Field() - @Column("bigint", { primary: true, name: "site_subdiv_id" }) - siteSubdivId: string; - - @Field() - @Column("character varying", { name: "send_to_sr", length: 1 }) - sendToSr: string; - - @ManyToOne(() => Sites, (sites) => sites.siteSubdivisions, { - onDelete: "CASCADE", - }) - @JoinColumn([{ name: "site_id", referencedColumnName: "id" }]) - site: Sites; -} diff --git a/backend/sites/src/app/entities/sites.entity.ts b/backend/sites/src/app/entities/sites.entity.ts deleted file mode 100644 index 49317d84..00000000 --- a/backend/sites/src/app/entities/sites.entity.ts +++ /dev/null @@ -1,223 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { Column, Entity, Index, JoinColumn, ManyToOne, OneToMany, OneToOne } from "typeorm"; -import { Events } from './events.entity'; -import { LandHistories } from './landHistories.entity'; -import { Mailout } from './mailout.entity'; -import { SiteAssocs } from './siteAssocs.entity'; -import { SiteDocs } from './siteDocs.entity'; -import { SitePartics } from './sitePartics.entity'; -import { SiteProfiles } from './siteProfiles.entity'; -import { SiteSubdivisions } from './siteSubdivisions.entity'; -import { BceRegionCd } from './bceRegionCd.entity'; -import { ClassificationCd } from './classificationCd.entity'; -import { SiteRiskCd } from './siteRiskCd.entity'; -import { SiteStatusCd } from './siteStatusCd.entity'; -import { SiteCrownLandContaminated } from './siteCrownLandContaminated.entity' -import { RecentViews } from './recentViews.entity'; - -@ObjectType() -@Index("site_bco", ["bcerCode", "classCode", "id", "rwmFlag", "sstCode",], {}) -@Index("site_responsibility_o_frgn", ["bcerCode",], {}) -@Index("site_classification", ["classCode",], {}) -@Index("site_geom_ddx", ["geometry",], {}) -@Index("sites_pkey", ["id",], { unique: true }) -@Index("site_gen_desc_flag", ["rwmGeneralDescFlag",], {}) -@Index("site_risk_is", ["siteRiskCode",], {}) -@Index("site_described_by_frgn", ["sstCode",], {}) -@Index("sites_victoria_file_no_key", ["victoriaFileNo",], { unique: true }) -@Entity("sites") -export class Sites { - - @Field() - @Column("bigint", { primary: true, name: "id" }) - id: string; - - @Field() - @Column("character varying", { name: "bcer_code", length: 6 }) - bcerCode: string; - - @Field() - @Column("character varying", { name: "sst_code", length: 6 }) - sstCode: string; - - @Field() - @Column("character varying", { name: "common_name", length: 40 }) - commonName: string; - - @Field() - @Column("character varying", { name: "addr_type", length: 7 }) - addrType: string; - - @Field() - @Column("character varying", { name: "addr_line_1", length: 50 }) - addrLine_1: string; - - @Field({nullable: true}) - @Column("character varying", { name: "addr_line_2", nullable: true, length: 50 }) - addrLine_2: string | null; - - @Field({nullable: true}) - @Column("character varying", { name: "addr_line_3", nullable: true, length: 50 }) - addrLine_3: string | null; - - @Field({nullable: true}) - @Column("character varying", { name: "addr_line_4", nullable: true, length: 50 }) - addrLine_4: string | null; - - @Field() - @Column("character varying", { name: "city", length: 30 }) - city: string; - - @Field() - @Column("character varying", { name: "prov_state", length: 2 }) - provState: string; - - @Field({nullable: true}) - @Column("character varying", { name: "postal_code", nullable: true, length: 10 }) - postalCode: string | null; - - @Field({nullable: true}) - @Column("double precision", { name: "latdeg", nullable: true, precision: 53 }) - latdeg: number | null; - - @Field({nullable: true}) - @Column("double precision", { name: "longdeg", nullable: true, precision: 53 }) - longdeg: number | null; - - @Field({nullable: true}) - @Column("character varying", { name: "victoria_file_no", nullable: true, unique: true, length: 40 }) - victoriaFileNo: string | null; - - @Field({nullable: true}) - @Column("character varying", { name: "regional_file_no", nullable: true, length: 40 }) - regionalFileNo: string | null; - - @Field({nullable: true}) - @Column("character varying", { name: "class_code", nullable: true, length: 6 }) - classCode: string | null; - - @Field({nullable: true}) - @Column("character varying", { name: "general_description", nullable: true, length: 255 }) - generalDescription: string | null; - - @Field() - @Column("character varying", { name: "who_created", length: 30 }) - whoCreated: string; - - @Field({nullable: true}) - @Column("character varying", { name: "who_updated", nullable: true, length: 30 }) - whoUpdated: string | null; - - @Field() - @Column("timestamp without time zone", { name: "when_created" }) - whenCreated: Date; - - @Field({nullable: true}) - @Column("timestamp without time zone", { name: "when_updated", nullable: true }) - whenUpdated: Date | null; - - @Field() - @Column("smallint", { name: "rwm_flag" }) - rwmFlag: number; - - @Field() - @Column("smallint", { name: "rwm_general_desc_flag" }) - rwmGeneralDescFlag: number; - - @Field({nullable: true}) - @Column("character", { name: "consultant_submitted", nullable: true, length: 1 }) - consultantSubmitted: string | null; - - @Field({nullable: true}) - @Column("smallint", { name: "long_degrees", nullable: true }) - longDegrees: number | null; - - @Field({nullable: true}) - @Column("smallint", { name: "long_minutes", nullable: true }) - longMinutes: number | null; - - @Field({nullable: true}) - @Column("numeric", { name: "long_seconds", nullable: true, precision: 4, scale: 2 }) - longSeconds: string | null; - - @Field({nullable: true}) - @Column("smallint", { name: "lat_degrees", nullable: true }) - latDegrees: number | null; - - @Field({nullable: true}) - @Column("smallint", { name: "lat_minutes", nullable: true }) - latMinutes: number | null; - - @Field({nullable: true}) - @Column("numeric", { name: "lat_seconds", nullable: true, precision: 4, scale: 2 }) - latSeconds: string | null; - - @Field() - @Column("character varying", { name: "sr_status", length: 1, default: () => "'Y'", }) - srStatus: string; - - @Field() - @Column("character varying", { name: "latlong_reliability_flag", length: 12 }) - latlongReliabilityFlag: string; - - @Field() - @Column("character varying", { name: "site_risk_code", length: 6, default: () => "'UNC'", }) - siteRiskCode: string; - - @Field({nullable: true}) - @Column("geometry", { name: "geometry", nullable: true }) - geometry: string | null; - - @OneToMany(() => Events, events => events.site) - events: Events[]; - - @OneToMany(() => LandHistories, landHistories => landHistories.site) - landHistories: LandHistories[]; - - @OneToMany(() => Mailout, mailout => mailout.site) - mailouts: Mailout[]; - - @OneToMany(() => SiteAssocs, siteAssocs => siteAssocs.site) - siteAssocs: SiteAssocs[]; - - @OneToMany(() => SiteAssocs, siteAssocs => siteAssocs.siteIdAssociatedWith2) - siteAssocs2: SiteAssocs[]; - - @OneToMany(() => SiteDocs, siteDocs => siteDocs.site) - siteDocs: SiteDocs[]; - - @OneToMany(() => SitePartics, sitePartics => sitePartics.site) - sitePartics: SitePartics[]; - - @OneToMany(() => SiteProfiles, siteProfiles => siteProfiles.site) - siteProfiles: SiteProfiles[]; - - @OneToMany(() => SiteSubdivisions, siteSubdivisions => siteSubdivisions.site) - siteSubdivisions: SiteSubdivisions[]; - - @ManyToOne(() => BceRegionCd, bceRegionCd => bceRegionCd.sites) - @JoinColumn([{ name: "bcer_code", referencedColumnName: "code" }, - ]) - bcerCode2: BceRegionCd; - - @ManyToOne(() => ClassificationCd, classificationCd => classificationCd.sites) - @JoinColumn([{ name: "class_code", referencedColumnName: "code" }, - ]) - classCode2: ClassificationCd; - - @ManyToOne(() => SiteRiskCd, siteRiskCd => siteRiskCd.sites) - @JoinColumn([{ name: "site_risk_code", referencedColumnName: "code" }, - ]) - siteRiskCode2: SiteRiskCd; - - @ManyToOne(() => SiteStatusCd, siteStatusCd => siteStatusCd.sites) - @JoinColumn([{ name: "sst_code", referencedColumnName: "code" }, - ]) - sstCode2: SiteStatusCd; - - @OneToOne(() => SiteCrownLandContaminated, siteCrownLandContaminated => siteCrownLandContaminated.sites) - siteCrownLandContaminated: SiteCrownLandContaminated; - - @OneToMany(() => RecentViews, (recentViews) => recentViews.site) - recentViewedSites: RecentViews[]; -} diff --git a/backend/sites/src/app/entities/spatialRefSys.entity.ts b/backend/sites/src/app/entities/spatialRefSys.entity.ts deleted file mode 100644 index aee26ae7..00000000 --- a/backend/sites/src/app/entities/spatialRefSys.entity.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { Column, Entity, Index } from "typeorm"; - -@ObjectType() -@Index("spatial_ref_sys_pkey", ["srid"], { unique: true }) -@Entity("spatial_ref_sys") -export class SpatialRefSys { - @Field() - @Column("integer", { primary: true, name: "srid" }) - srid: number; - - @Field() - @Column("character varying", { - name: "auth_name", - nullable: true, - length: 256, - }) - authName: string | null; - - @Field() - @Column("integer", { name: "auth_srid", nullable: true }) - authSrid: number | null; - - @Field() - @Column("character varying", { name: "srtext", nullable: true, length: 2048 }) - srtext: string | null; - - @Field() - @Column("character varying", { - name: "proj4text", - nullable: true, - length: 2048, - }) - proj4text: string | null; -} diff --git a/backend/sites/src/app/entities/subdivisions.entity.ts b/backend/sites/src/app/entities/subdivisions.entity.ts deleted file mode 100644 index b01670c8..00000000 --- a/backend/sites/src/app/entities/subdivisions.entity.ts +++ /dev/null @@ -1,141 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { Column, Entity, Index } from "typeorm"; - -@ObjectType() -@Index("subdivisions_pkey", ["id"], { unique: true }) -@Index("subdivisions_pid_pin_key", ["pid", "pin"], { unique: true }) -@Entity("subdivisions") -export class Subdivisions { - @Field() - @Column("bigint", { primary: true, name: "id" }) - id: string; - - @Field() - @Column("timestamp without time zone", { name: "date_noted" }) - dateNoted: Date; - - @Field() - @Column("character varying", { - name: "pin", - nullable: true, - unique: true, - length: 9, - }) - pin: string | null; - - @Field() - @Column("character varying", { - name: "pid", - nullable: true, - unique: true, - length: 9, - }) - pid: string | null; - - @Field() - @Column("character varying", { - name: "bcaa_folio_number", - nullable: true, - length: 20, - }) - bcaaFolioNumber: string | null; - - @Field() - @Column("character varying", { - name: "entity_type", - nullable: true, - length: 4, - }) - entityType: string | null; - - @Field() - @Column("character varying", { - name: "addr_line_1", - nullable: true, - length: 50, - }) - addrLine_1: string | null; - - @Field() - @Column("character varying", { - name: "addr_line_2", - nullable: true, - length: 50, - }) - addrLine_2: string | null; - - @Field() - @Column("character varying", { - name: "addr_line_3", - nullable: true, - length: 50, - }) - addrLine_3: string | null; - - @Field() - @Column("character varying", { - name: "addr_line_4", - nullable: true, - length: 50, - }) - addrLine_4: string | null; - - @Field() - @Column("character varying", { name: "city", nullable: true, length: 30 }) - city: string | null; - - @Field() - @Column("character varying", { - name: "postal_code", - nullable: true, - length: 10, - }) - postalCode: string | null; - - @Field() - @Column("character varying", { - name: "legal_description", - nullable: true, - length: 255, - }) - legalDescription: string | null; - - @Field() - @Column("character varying", { name: "who_created", length: 30 }) - whoCreated: string; - - @Field() - @Column("character varying", { - name: "who_updated", - nullable: true, - length: 30, - }) - whoUpdated: string | null; - - @Field() - @Column("timestamp without time zone", { name: "when_created" }) - whenCreated: Date; - - @Field() - @Column("timestamp without time zone", { - name: "when_updated", - nullable: true, - }) - whenUpdated: Date | null; - - @Field() - @Column("character varying", { - name: "crown_lands_file_no", - nullable: true, - length: 7, - }) - crownLandsFileNo: string | null; - - @Field() - @Column("character varying", { name: "pid_status_cd", length: 1 }) - pidStatusCd: string; - - @Field() - @Column("character", { name: "valid_pid", nullable: true, length: 1 }) - validPid: string | null; -} diff --git a/backend/sites/src/app/entities/submissionCd.entity.ts b/backend/sites/src/app/entities/submissionCd.entity.ts deleted file mode 100644 index 79f10ab2..00000000 --- a/backend/sites/src/app/entities/submissionCd.entity.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; -import { Column, Entity, Index, OneToMany } from "typeorm"; -import { ProfileSubmissions } from "./profileSubmissions.entity"; - -@ObjectType() -@Index("submission_cd_pkey", ["code"], { unique: true }) -@Entity("submission_cd") -export class SubmissionCd { - @Field() - @Column("character varying", { primary: true, name: "code", length: 6 }) - code: string; - - @Field() - @Column("character varying", { name: "description", length: 40 }) - description: string; - - @Field() - @Column("character varying", { name: "used_in", length: 4 }) - usedIn: string; - - @OneToMany( - () => ProfileSubmissions, - (profileSubmissions) => profileSubmissions.submcdCode2 - ) - profileSubmissions: ProfileSubmissions[]; -} diff --git a/backend/sites/src/app/mockData/site.mockData.ts b/backend/sites/src/app/mockData/site.mockData.ts deleted file mode 100644 index 0d4d024d..00000000 --- a/backend/sites/src/app/mockData/site.mockData.ts +++ /dev/null @@ -1,121 +0,0 @@ -import { BceRegionCd } from "../entities/bceRegionCd.entity"; -import { ClassificationCd } from "../entities/classificationCd.entity"; -import { RecentViews } from "../entities/recentViews.entity"; -import { SiteCrownLandContaminated } from "../entities/siteCrownLandContaminated.entity"; -import { SiteRiskCd } from "../entities/siteRiskCd.entity"; -import { SiteStatusCd } from "../entities/siteStatusCd.entity"; -import { Sites } from "../entities/sites.entity"; - - -const siteCrownLandContaminated = new SiteCrownLandContaminated(); -const recentViewedSites = [new RecentViews()]; -const sstCode: SiteStatusCd = { code: '1', description: 'test', sites: [], eventTypeCds: [] }; -const siteRiskCd: SiteRiskCd = { code: '1', description: 'test', sites: [] }; -const bceRegionCd: BceRegionCd = { code: '1', description: 'test', cityRegions: [], mailouts: [], peopleOrgs: [], sites: [] }; -const classCd: ClassificationCd = { code: '1', description: 'test', sites: [] }; - -export const sampleSites: Sites[] = [ - { - id: '123', - commonName: 'victoria', - bcerCode: 'BCER123', - sstCode: 'SST123', - addrType: 'type', - addrLine_1: 'Address 1', - addrLine_2: 'Address 2', - addrLine_3: 'Address 3', - addrLine_4: 'Address 4', - city: 'City', - provState: 'Province/State', - postalCode: 'Postal Code', - latdeg: 0, // Example latitude - longdeg: 0, // Example longitude - victoriaFileNo: 'File No 1', - regionalFileNo: 'File No 2', - classCode: 'Class Code', - generalDescription: 'Description', - whoCreated: 'Creator', - whoUpdated: 'Updater', - whenCreated: new Date(), // Example date - whenUpdated: new Date(), // Example date - rwmFlag: 1, - rwmGeneralDescFlag: 1, - consultantSubmitted: 'Consultant Submitted', - longDegrees: 0, // Example long degrees - longMinutes: 0, // Example long minutes - longSeconds: '0', // Example long seconds - latDegrees: 0, // Example lat degrees - latMinutes: 0, // Example lat minutes - latSeconds: '0', // Example lat seconds - srStatus: 'SR Status', - latlongReliabilityFlag: 'LatLong Reliability Flag', - siteRiskCode: 'Site Risk Code', - geometry: '{}', // Example geometry - events: [], // Example events - landHistories: [], // Example land histories - mailouts: [], // Example mailouts - siteAssocs: [], // Example site associations - siteAssocs2: [], // Example site associations 2 - siteDocs: [], // Example site documents - sitePartics: [], // Example site participants - siteProfiles: [], // Example site profiles - siteSubdivisions: [], // Example site subdivisions - bcerCode2: bceRegionCd, // Example BCER code 2 - classCode2: classCd, // Example class code 2 - siteRiskCode2: siteRiskCd, - sstCode2: sstCode, - siteCrownLandContaminated: siteCrownLandContaminated, - recentViewedSites: recentViewedSites - }, - { - id: '222', - commonName: 'vancouver', - bcerCode: 'BCER222', - sstCode: 'SST222', - addrType: 'type', - addrLine_1: 'Address 5', - addrLine_2: 'Address 6', - addrLine_3: 'Address 7', - addrLine_4: 'Address 8', - city: 'City', - provState: 'Province/State', - postalCode: 'Postal Code', - latdeg: 0, // Example latitude - longdeg: 0, // Example longitude - victoriaFileNo: 'File No 3', - regionalFileNo: 'File No 4', - classCode: 'Class Code', - generalDescription: 'Description', - whoCreated: 'Creator', - whoUpdated: 'Updater', - whenCreated: new Date(), // Example date - whenUpdated: new Date(), // Example date - rwmFlag: 1, - rwmGeneralDescFlag: 1, - consultantSubmitted: 'Consultant Submitted', - longDegrees: 0, // Example long degrees - longMinutes: 0, // Example long minutes - longSeconds: '0', // Example long seconds - latDegrees: 0, // Example lat degrees - latMinutes: 0, // Example lat minutes - latSeconds: '0', // Example lat seconds - srStatus: 'SR Status', - latlongReliabilityFlag: 'LatLong Reliability Flag', - siteRiskCode: 'Site Risk Code', - geometry: '{}', // Example geometry - events: [], // Example events - landHistories: [], // Example land histories - mailouts: [], // Example mailouts - siteAssocs: [], // Example site associations - siteAssocs2: [], // Example site associations 2 - siteDocs: [], // Example site documents - sitePartics: [], // Example site participants - siteProfiles: [], // Example site profiles - siteSubdivisions: [], // Example site subdivisions - bcerCode2: bceRegionCd, // Example BCER code 2 - classCode2: classCd, // Example class code 2 - siteRiskCode2: siteRiskCd, - sstCode2: sstCode, - siteCrownLandContaminated: siteCrownLandContaminated, - recentViewedSites: recentViewedSites - }]; \ No newline at end of file diff --git a/backend/sites/src/app/resolvers/dashboard.resolver.spec.ts b/backend/sites/src/app/resolvers/dashboard.resolver.spec.ts deleted file mode 100644 index 4c7e177f..00000000 --- a/backend/sites/src/app/resolvers/dashboard.resolver.spec.ts +++ /dev/null @@ -1,103 +0,0 @@ -import { Test, TestingModule } from '@nestjs/testing'; -import { DashboardResolver } from './dashboard.resolver'; -import { DashboardService } from '../services/dashboard.service'; -import { DashboardResponse } from '../dto/response/fetchSiteResponse'; -import { sampleSites } from '../mockData/site.mockData'; -import { RecentViews } from '../../app/entities/recentViews.entity'; -import { RecentViewDto } from '../dto/recentView.dto'; - -describe('DashboardResolver', () => { - let resolver: DashboardResolver; - let service: DashboardService; - - beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - providers: [ - DashboardResolver, - { - provide: DashboardService, - useValue: { - getRecentViewsByUserId: jest.fn(), - addRecentView: jest.fn(), - }, - }, - ], - }).compile(); - - resolver = module.get(DashboardResolver); - service = module.get(DashboardService); - }); - - - afterEach(() => { - jest.clearAllMocks(); - }); - - it('should be defined', () => { - expect(resolver).toBeDefined(); - }); - - describe('getRecentViewsByUserId', () => { - const res = [ - { id: 1, userId:'1', siteId: '1', address: '123 Street', city: 'City', generalDescription: 'Description', whenUpdated: new Date(), created: new Date(), updated: new Date(), site: sampleSites[0] }, - { id: 2, userId:'1', siteId: '2', address: '456 Street', city: 'City', generalDescription: 'Description', whenUpdated: new Date(), created: new Date(), updated: new Date(), site: sampleSites[0] }, - ]; - it('should return recent views for valid userId', async () => { - const userId = '1'; - const expectedResult: DashboardResponse = { - httpStatusCode: 200, - message: 'Success', - data: res, - }; - jest.spyOn(service, 'getRecentViewsByUserId').mockResolvedValueOnce(expectedResult.data); - - const result = await resolver.getRecentViewsByUserId(userId); - - expect(result).toEqual(expectedResult); - expect(service.getRecentViewsByUserId).toHaveBeenCalledWith(userId); - }); - - it('should handle data not found for user id', async () => { - const userId = '1'; - jest.spyOn(service, 'getRecentViewsByUserId').mockResolvedValueOnce(null); - - const result = await resolver.getRecentViewsByUserId(userId); - - expect(result.httpStatusCode).toEqual(404); - expect(result.message).toContain(userId); - expect(result.data).toBeNull(); - }); - }); - - describe('addRecentView', () => { - const recentViewDto = { - userId: '1', - siteId: '1', - address: '123 Street', - city: 'City', - generalDescription: 'Description', - whenUpdated: new Date(), - }; - - it('should add recent view for valid input', async () => { - const recentView: RecentViewDto = recentViewDto; - const expectedResult ='Record is inserted successfully.'; - jest.spyOn(service, 'addRecentView').mockResolvedValueOnce(expectedResult); - - const result = await resolver.addRecentView(recentView); - - expect(result.httpStatusCode).toEqual(201); - expect(result.message).toEqual(expectedResult); - }); - - it('should handle bad request', async () => { - const recentView: RecentViewDto = recentViewDto; - jest.spyOn(service, 'addRecentView').mockResolvedValueOnce(null); - - const result = await resolver.addRecentView(recentView); - - expect(result.httpStatusCode).toEqual(400); - expect(result.message).toEqual('Bad Request.'); - }); - }); -}); diff --git a/backend/sites/src/app/resolvers/dashboard.resolver.ts b/backend/sites/src/app/resolvers/dashboard.resolver.ts deleted file mode 100644 index 8920985c..00000000 --- a/backend/sites/src/app/resolvers/dashboard.resolver.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { Args, Mutation, Query, Resolver } from '@nestjs/graphql'; -import { RecentViews } from '../entities/recentViews.entity'; -import { DashboardService } from '../services/dashboard.service'; -import { ValidationPipe } from '@nestjs/common'; -import { RecentViewDto } from '../dto/recentView.dto'; -import { DashboardResponse } from '../dto/response/fetchSiteResponse'; -import { RoleMatchingMode, Roles } from 'nest-keycloak-connect'; - -@Resolver(() => RecentViews) -export class DashboardResolver { - constructor(private readonly dashboardService: DashboardService) {} - - @Roles({ roles: ['site-admin'], mode: RoleMatchingMode.ANY }) - @Query(() => DashboardResponse, { name: 'getRecentViewsByUserId' }) - async getRecentViewsByUserId( - @Args('userId', { type: () => String }) userId: string, - ) { - const result = await this.dashboardService.getRecentViewsByUserId(userId); - if (result) { - return { httpStatusCode: 200, message: 'Success', data: result }; - } - - return { - httpStatusCode: 404, - message: `Data not found for user id: ${userId}`, - data: result, - }; - } - - @Roles({ roles: ['site-admin'], mode: RoleMatchingMode.ANY }) - @Mutation(() => DashboardResponse, { name: 'addRecentView' }) - async addRecentView( - @Args('recentView', { type: () => RecentViewDto }, new ValidationPipe()) - recentView: RecentViewDto, - ) { - const result = await this.dashboardService.addRecentView(recentView); - - if (result) { - return { httpStatusCode: 201, message: result }; - } - - return { httpStatusCode: 400, message: 'Bad Request.' }; - } -} diff --git a/backend/sites/src/app/resolvers/site.resolver.spec.ts b/backend/sites/src/app/resolvers/site.resolver.spec.ts deleted file mode 100644 index 39aec7e4..00000000 --- a/backend/sites/src/app/resolvers/site.resolver.spec.ts +++ /dev/null @@ -1,146 +0,0 @@ -import { Test, TestingModule } from '@nestjs/testing'; -import { SiteResolver } from './site.resolver'; -import { SiteService } from '../services/site.service'; -import { FetchSiteResponse, SearchSiteResponse } from '../dto/response/fetchSiteResponse'; -import { sampleSites } from '../mockData/site.mockData'; - -describe('SiteResolver', () => { - let siteResolver: SiteResolver; - let siteService: SiteService; - - - beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - providers: [ - SiteResolver, - { - provide: SiteService, - useValue: { - findAll: jest.fn(() => { - const result = new FetchSiteResponse(); - result.httpStatusCode = 200; - result.data = sampleSites; - return result; - }), - searchSites: jest.fn(() => { - const result = new SearchSiteResponse(); - result.sites = sampleSites; - result.page = 1; - result.pageSize = 1; - result.count = 1; - return result; - }), - findSiteBySiteId: jest.fn(), - }, - }, - ], - }).compile(); - - siteResolver = module.get(SiteResolver); - siteService = module.get(SiteService); - }); - - afterEach(() => { - jest.clearAllMocks(); - }); - - it('should call siteService.findAll() and return the result', async () => { - // Act - const sites = await siteResolver.findAll(); - // Assert - expect(sites.data.length).toBe(2); - expect(sites.httpStatusCode).toBe(200); - expect(siteService.findAll).toHaveBeenCalled(); - }); - - describe('searchSites', () => { - it('should call siteService.searchSites with the provided searchParam and no filter conditions', () => { - const searchParam = 'example'; - const page = 1; - const pageSize = 1; - siteResolver.searchSites(searchParam, page, pageSize); - expect(siteService.searchSites).toHaveBeenCalledWith(searchParam, page, pageSize, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined); - }); - - it('site search matches a search parameter and no filter conditions', async () => { - const searchParam = '123'; - const page = 1; - const pageSize = 1; - const expectedFilteredSites = new SearchSiteResponse(); - expectedFilteredSites.sites = []; - expectedFilteredSites.sites.push(sampleSites[0]); // Only Site 1 matches the searchParam - expectedFilteredSites.page = 1; - expectedFilteredSites.pageSize = 1; - expectedFilteredSites.count = 1; - - (siteService.searchSites as jest.Mock).mockResolvedValue(expectedFilteredSites); - - const result: SearchSiteResponse = await siteResolver.searchSites(searchParam, page, pageSize); - - expect(siteService.searchSites).toHaveBeenCalledWith(searchParam, page, pageSize, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined); - expect(result).toEqual(expectedFilteredSites); - }); - - /*it('site search matches a search parameter with filter conditions', async () => { - const searchParam = '123'; - const page = 1; - const pageSize = 1; - const expectedFilteredSites = new SearchSiteResponse(); - expectedFilteredSites.sites = []; - expectedFilteredSites.sites.push(sampleSites[0]); // Only Site 1 matches the searchParam - expectedFilteredSites.page = 1; - expectedFilteredSites.pageSize = 1; - expectedFilteredSites.count = 1; - - (siteService.searchSites as jest.Mock).mockResolvedValue(expectedFilteredSites); - - const result: SearchSiteResponse = await siteResolver.searchSites(searchParam, page, pageSize); - - expect(siteService.searchSites).toHaveBeenCalledWith(searchParam, page, pageSize, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined); - expect(result).toEqual(expectedFilteredSites); - });*/ - - it('site search has no matches with the search parameter and no filter conditions', async () => { - const searchParam = 'example'; - const page = 1; - const pageSize = 1; - const expectedFilteredSites = new SearchSiteResponse(); - expectedFilteredSites.sites = []; - expectedFilteredSites.page = 1; - expectedFilteredSites.pageSize = 1; - expectedFilteredSites.count = 0; - (siteService.searchSites as jest.Mock).mockResolvedValue(expectedFilteredSites); - - const result: SearchSiteResponse = await siteResolver.searchSites(searchParam, page, pageSize); - - expect(siteService.searchSites).toHaveBeenCalledWith(searchParam, page, pageSize, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined); - expect(result).toEqual(expectedFilteredSites); - }); - }); - - describe('findSiteBySiteId', () => { - it('should call siteService.findSiteBySiteId with the provided siteId', () => { - const siteId = '123'; - siteResolver.findSiteBySiteId(siteId); - expect(siteService.findSiteBySiteId).toHaveBeenCalledWith(siteId); - }); - - it('finds a matching site id', async () => { - const expectedResult = [sampleSites[0]]; - const siteId = '123'; - - (siteService.findSiteBySiteId as jest.Mock).mockResolvedValue(expectedResult); - const result = await siteResolver.findSiteBySiteId(siteId); - expect(result).toEqual(expectedResult); - }); - - it('has no matches with the site Id parameter', async () => { - const expectedResult = undefined - const siteId = '111'; - - (siteService.findSiteBySiteId as jest.Mock).mockResolvedValue(expectedResult); - const result = await siteResolver.findSiteBySiteId(siteId); - expect(result).toEqual(expectedResult); - }); - }); -}); diff --git a/backend/sites/src/app/resolvers/site.resolver.ts b/backend/sites/src/app/resolvers/site.resolver.ts deleted file mode 100644 index c86a41f1..00000000 --- a/backend/sites/src/app/resolvers/site.resolver.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { Args, Query, Resolver } from '@nestjs/graphql'; -import { Resource, RoleMatchingMode, Roles } from 'nest-keycloak-connect'; -import { FetchSiteResponse, SearchSiteResponse } from '../dto/response/fetchSiteResponse'; -import { Sites } from '../entities/sites.entity'; -import { SiteService } from '../services/site.service'; - -/** - * Resolver for Region - */ -@Resolver(() => Sites) -@Resource('site-service') -export class SiteResolver { - constructor(private readonly siteService: SiteService) { } - - /** - * Find All Sites - */ - @Roles({ roles: ['site-admin'], mode: RoleMatchingMode.ANY }) - @Query(() => FetchSiteResponse, { name: 'sites' }) - findAll() { - return this.siteService.findAll(); - } - - /** - * Find sites where search parameter matches a site id or address - * @param searchParam search parameter - * @param page page number - * @param pageSize size of the page - * @returns sites where id or address matches the search param along with pagination params - */ - @Roles({ roles: ['site-admin'], mode: RoleMatchingMode.ANY }) - @Query(() => SearchSiteResponse, { name: 'searchSites' }) - async searchSites( - @Args('searchParam', { type: () => String }) searchParam: string, - @Args('page', { type: () => String }) page: number, - @Args('pageSize', { type: () => String }) pageSize: number, - @Args('id', { type: () => String, nullable:true }) id?: string, - @Args('srStatus', { type: () => String, nullable:true }) srStatus?: string, - @Args('siteRiskCode', { type: () => String, nullable:true }) siteRiskCode?: string, - @Args('commonName', { type: () => String, nullable:true }) commonName?: string, - @Args('addrLine_1', { type: () => String, nullable:true }) addrLine_1?: string, - @Args('city', { type: () => String, nullable:true }) city?: string, - @Args('whoCreated', { type: () => String, nullable:true }) whoCreated?: string, - @Args('latlongReliabilityFlag', { type: () => String, nullable:true }) latlongReliabilityFlag?: string, - @Args('latdeg', { type: () => String, nullable:true }) latdeg?: number, - @Args('latDegrees', { type: () => String, nullable:true }) latDegrees?: number, - @Args('latMinutes', { type: () => String, nullable:true }) latMinutes?: number, - @Args('latSeconds', { type: () => String, nullable:true }) latSeconds?: string, - @Args('longdeg', { type: () => String, nullable:true }) longdeg?: number, - @Args('longDegrees', { type: () => String, nullable:true }) longDegrees?: number, - @Args('longMinutes', { type: () => String, nullable:true }) longMinutes?: number, - @Args('longSeconds', { type: () => String, nullable:true }) longSeconds?: string, - @Args('whenCreated', { type: () => String, nullable:true }) whenCreated?: Date, - @Args('whenUpdated', { type: () => String, nullable:true }) whenUpdated?: Date) { - return await this.siteService.searchSites(searchParam, page, pageSize, id, srStatus, siteRiskCode, commonName, - addrLine_1, city, whoCreated, latlongReliabilityFlag, latdeg, latDegrees, latMinutes, latSeconds, longdeg, longDegrees, - longMinutes, longSeconds, whenCreated, whenUpdated); - } - - @Roles({ roles: ['site-admin'], mode: RoleMatchingMode.ANY }) - @Query(() => Sites, { name: 'findSiteBySiteId' }) - findSiteBySiteId(@Args('siteId', { type: () => String }) siteId: string) { - return this.siteService.findSiteBySiteId(siteId); - } -} diff --git a/backend/sites/src/app/services/dashboard.service.spec.ts b/backend/sites/src/app/services/dashboard.service.spec.ts deleted file mode 100644 index 495f530a..00000000 --- a/backend/sites/src/app/services/dashboard.service.spec.ts +++ /dev/null @@ -1,143 +0,0 @@ -import { Test, TestingModule } from '@nestjs/testing'; -import { getRepositoryToken } from '@nestjs/typeorm'; -import { DashboardService } from './dashboard.service'; -import { RecentViews } from '../entities/recentViews.entity'; -import { Repository } from 'typeorm'; -import { RecentViewDto } from '../dto/recentView.dto'; -import { plainToClass } from 'class-transformer'; -import { sampleSites } from '../mockData/site.mockData'; - -describe('DashboardService', () => { - let service: DashboardService; - let recentViewsRepository: Repository; - - beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - providers: [ - DashboardService, - { - provide: getRepositoryToken(RecentViews), - useClass: Repository, - }, - ], - }).compile(); - - service = module.get(DashboardService); - recentViewsRepository = module.get>( - getRepositoryToken(RecentViews), - ); - }); - - afterEach(() => { - jest.clearAllMocks(); - }); - - it('should be defined', () => { - expect(service).toBeDefined(); - }); - - describe('getRecentView', () => { - it('should return an array of recent views for a given user id', async () => { - const userId = '1'; - const expectedRecentViews = [ - { id: 1, userId:'1', siteId: '1', address: '123 Street', city: 'City', generalDescription: 'Description', whenUpdated: new Date() }, - { id: 2, userId:'1', siteId: '2', address: '456 Street', city: 'City', generalDescription: 'Description', whenUpdated: new Date() }, - ]; - - jest - .spyOn(recentViewsRepository, 'find') - .mockResolvedValueOnce(expectedRecentViews as RecentViews[]); - - const recentViews = await service.getRecentViewsByUserId(userId); - - expect(recentViews).toEqual(expectedRecentViews); - }); - - it('should return an empty array if no recent views are found for a given user id', async () => { - const userId = '2'; - const expectedRecentViews: RecentViews[] = []; - - jest - .spyOn(recentViewsRepository, 'find') - .mockResolvedValueOnce(expectedRecentViews); - - const recentViews = await service.getRecentViewsByUserId(userId); - - expect(recentViews).toEqual(expectedRecentViews); - }); - - it('should throw an error if repository throws an error', async () => { - const userId = '1'; - - jest - .spyOn(recentViewsRepository, 'find') - .mockRejectedValueOnce(new Error('Database connection error')); - - await expect(service.getRecentViewsByUserId(userId)).rejects.toThrow('Database connection error'); - }); - }); - - describe('addRecentView', () => { - it('should insert a new recent view if the combination does not exist', async () => { - - // Mock recentViewsRepository methods - jest.spyOn(recentViewsRepository, 'findOne').mockResolvedValue(null); - jest.spyOn(recentViewsRepository, 'count').mockResolvedValue(0); - jest.spyOn(recentViewsRepository, 'save').mockResolvedValueOnce({} as RecentViews); // Mock save method - - // Prepare test data - const recentViewDto = { - userId: '1', - siteId: '1', - address: '123 Street', - city: 'City', - generalDescription: 'Description', - whenUpdated: new Date(), - }; - - // Execute the method - const result = await service.addRecentView(recentViewDto); - - // Assert the result - expect(result).toBe('Record is inserted successfully.'); - }); - - - it('should update an existing recent view if the combination exists', async () => { - const existingRecentView: RecentViews = { - id: 1, - userId: '1', - siteId: '1', - address: '123 Street', - city: 'City', - generalDescription: 'Description', - whenUpdated: new Date(), - created: new Date(), - updated: new Date(), - site: sampleSites[0] - }; - - const recentViewDto: RecentViewDto = { - userId: '1', - siteId: '1', - address: '456 Street', - city: 'City', - generalDescription: 'New Description', - whenUpdated: new Date(), - }; - - jest - .spyOn(recentViewsRepository, 'findOne') - .mockResolvedValueOnce(existingRecentView); - - const recentViewEntity = plainToClass(RecentViews, recentViewDto); - jest - .spyOn(recentViewsRepository, 'save') - .mockResolvedValueOnce(recentViewEntity); - - const result = await service.addRecentView(recentViewDto); - - expect(result).toBe('Record is updated successfully.'); - }); - }); -}); diff --git a/backend/sites/src/app/services/dashboard.service.ts b/backend/sites/src/app/services/dashboard.service.ts deleted file mode 100644 index f237a848..00000000 --- a/backend/sites/src/app/services/dashboard.service.ts +++ /dev/null @@ -1,71 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { RecentViews } from '../entities/recentViews.entity'; -import { Repository } from 'typeorm'; -import { RecentViewDto } from '../dto/recentView.dto'; -import { plainToInstance } from 'class-transformer'; - -@Injectable() -export class DashboardService { - constructor( - @InjectRepository(RecentViews) - private recentViewsRepository: Repository, - ) {} - - async getRecentViewsByUserId(userId: string): Promise { - try { - return await this.recentViewsRepository.find({ where: { userId } }); - } catch (error) { - throw error; - } - } - - async addRecentView(recentViewDto: RecentViewDto) { - const { userId, siteId } = recentViewDto; - const maxRecentViews = 5; // Maximum allowed recent views per user - - try { - // Check if the combination of userId and siteId exists in the table - const existingRecentView = await this.recentViewsRepository.findOne({where: { userId, siteId }}); - - if (existingRecentView) { - // If the combination exists, update the existing record - existingRecentView.address = recentViewDto.address; - existingRecentView.city = recentViewDto.city; - existingRecentView.generalDescription = - recentViewDto.generalDescription; - existingRecentView.whenUpdated = recentViewDto.whenUpdated; - - // Explicitly update the 'updated' column - existingRecentView.updated = new Date(); - const result = await this.recentViewsRepository.save(existingRecentView); - - if (result) { - return 'Record is updated successfully.'; - } - } else { - // If the combination does not exist, insert a new record - const existingRecentViewsCount = await this.recentViewsRepository.count({ where: { userId } }); - - if (existingRecentViewsCount >= maxRecentViews) { - // Delete the oldest recent view if the maximum limit is reached - const oldestRecentView = await this.recentViewsRepository.findOne({ - where: { userId }, - order: { created: 'ASC' }, - }); - await this.recentViewsRepository.delete(oldestRecentView.id); - } - - // Convert the DTO to entity - const newRecentView = plainToInstance(RecentViews, recentViewDto); - const result = await this.recentViewsRepository.save(newRecentView); - - if (result) { - return 'Record is inserted successfully.'; - } - } - } catch (error) { - throw new Error('Failed to insert or update recent view.'); - } - } -} diff --git a/backend/sites/src/app/services/site.service.spec.ts b/backend/sites/src/app/services/site.service.spec.ts deleted file mode 100644 index f16e5705..00000000 --- a/backend/sites/src/app/services/site.service.spec.ts +++ /dev/null @@ -1,135 +0,0 @@ -import { Test, TestingModule } from '@nestjs/testing'; -import { SiteService } from './site.service'; -import { getRepositoryToken } from '@nestjs/typeorm'; -import { Repository, SelectQueryBuilder } from 'typeorm'; -import { Sites } from '../entities/sites.entity'; -import { FetchSiteDetail } from '../dto/response/fetchSiteResponse'; -import { sampleSites } from '../mockData/site.mockData'; - -describe('SiteService', () => { - let siteService: SiteService; - let siteRepository: Repository; - - beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - providers: [ - SiteService, - { - provide: getRepositoryToken(Sites), - useValue: { - find: jest.fn(() => { - return [ - { id: '123', commonName: 'victoria' }, - { id: '121', commonName: 'duncan' }, - { id: '222', commonName: 'vancouver' } - ]; - }), - createQueryBuilder: jest.fn(() => ({ - where: jest.fn().mockReturnThis(), - orWhere: jest.fn().mockReturnThis(), - getMany: jest.fn().mockResolvedValue([ - { id: '123', commonName: 'victoria' }, - { id: '121', commonName: 'duncan' }, - { id: '222', commonName: 'vancouver' }]), - })), - findOneOrFail: jest.fn(() => { - return { id: '123', region_name: 'victoria' }; - }), - }, - }, - ], - }).compile(); - - - siteService = module.get(SiteService); - siteRepository = module.get>(getRepositoryToken(Sites)); - }); - - afterEach(() => { - jest.clearAllMocks(); - }); - - it('Atleast one site should be returned', async () => { - const sites = await siteService.findAll(); - expect(sites.data.length).toBe(3); - }); - - /*describe('searchSites', () => { - it('site search matches a search parameter', async () => { - // Arrange - const searchParam = 'v'; - const expectedResult = [ - { id: '123', commonName: 'victoria' }, - { id: '222', commonName: 'vancouver' }]; // Example result - const whereMock = jest.fn().mockReturnThis(); - const orWhereMock = jest.fn().mockReturnThis(); - const getManyMock = jest.fn().mockResolvedValue(expectedResult); - const siteRepositoryFindSpy = jest.spyOn(siteRepository, 'createQueryBuilder').mockReturnValue({ - where: whereMock, - orWhere: orWhereMock, - getMany: getManyMock, - } as unknown as SelectQueryBuilder); - - // Act - const result = await siteService.searchSites(searchParam); - - // Assert - expect(siteRepositoryFindSpy).toHaveBeenCalledWith('sites'); - expect(whereMock).toHaveBeenCalledWith(expect.any(String), { searchParam: `%${searchParam}%` }); - expect(orWhereMock).toHaveBeenCalledTimes(7); // Number of orWhere calls - expect(getManyMock).toHaveBeenCalled(); - expect(result).toEqual(expectedResult); - }); - - it('site search has no matches with the search parameter', async () => { - // Arrange - const searchParam = 'xyz'; - const expectedResult = []; // Example result - const whereMock = jest.fn().mockReturnThis(); - const orWhereMock = jest.fn().mockReturnThis(); - const getManyMock = jest.fn().mockResolvedValue(expectedResult); - const siteRepositoryFindSpy = jest.spyOn(siteRepository, 'createQueryBuilder').mockReturnValue({ - where: whereMock, - orWhere: orWhereMock, - getMany: getManyMock, - } as unknown as SelectQueryBuilder); - - // Act - const result = await siteService.searchSites(searchParam); - - // Assert - expect(siteRepositoryFindSpy).toHaveBeenCalledWith('sites'); - expect(whereMock).toHaveBeenCalledWith(expect.any(String), { searchParam: `%${searchParam}%` }); - expect(orWhereMock).toHaveBeenCalledTimes(7); // Number of orWhere calls - expect(getManyMock).toHaveBeenCalled(); - expect(result).toEqual(expectedResult); - }); - });*/ - - describe('findSiteBySiteId', () => { - it('should call findOneOrFail method of the repository with the provided siteId', async () => { - const siteId = '123'; - await siteService.findSiteBySiteId(siteId); - expect(siteRepository.findOneOrFail).toHaveBeenCalledWith({ where: { id: siteId } }); - }); - - it('should return the site when findOneOrFail method of the repository resolves', async () => { - const siteId = '123'; - const expectedResult: FetchSiteDetail = { httpStatusCode: 200, data: sampleSites[0] }; - (siteRepository.findOneOrFail as jest.Mock).mockResolvedValue(expectedResult); - - const result = await siteService.findSiteBySiteId(siteId); - - expect(result).toBeInstanceOf(FetchSiteDetail); - expect(result.httpStatusCode).toBe(200); - expect(result.data).toEqual(expectedResult); - }); - - it('should throw an error when findOneOrFail method of the repository rejects', async () => { - const siteId = '111'; - const error = new Error('Site not found'); - (siteRepository.findOneOrFail as jest.Mock).mockRejectedValue(error); - await expect(siteService.findSiteBySiteId(siteId)).rejects.toThrowError(error); - }); - }); -}); diff --git a/backend/sites/src/app/services/site.service.ts b/backend/sites/src/app/services/site.service.ts deleted file mode 100644 index 90d813c8..00000000 --- a/backend/sites/src/app/services/site.service.ts +++ /dev/null @@ -1,152 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { FetchSiteDetail, FetchSiteResponse, SearchSiteResponse } from '../dto/response/fetchSiteResponse'; -import { Sites } from '../entities/sites.entity'; -import { SiteUtil } from '../utils/site.util'; -/** - * Nestjs Service For Region Entity - */ -@Injectable() -export class SiteService { - constructor( - @InjectRepository(Sites) - private siteRepository: Repository, - ) { } - - /** - * Find All method for returining all sites - * @returns FetchSiteResponse -- returns sites - */ - async findAll() { - const response = new FetchSiteResponse(); - - response.httpStatusCode = 200; - - response.data = await this.siteRepository.find(); - - return response; - } - - /** - * Find sites where search parameter matches a site id or address - * @param searchParam search parameter - * @returns sites where id or address matches the search param - */ - async searchSites(searchParam: string, page: number, pageSize: number, id?: string, srStatus?: string, - siteRiskCode?: string, commonName?: string, addrLine_1?: string, city?: string, whoCreated?: string, latlongReliabilityFlag?: string, - latdeg?: number, latDegrees?: number, latMinutes?: number, latSeconds?: string, longdeg?: number, longDegrees?: number, longMinutes?: number, - longSeconds?: string, whenCreated?: Date, whenUpdated?: Date) { - const siteUtil: SiteUtil = new SiteUtil(); - const response = new SearchSiteResponse(); - - const query = this.siteRepository - .createQueryBuilder('sites') - .where('CAST(sites.id AS TEXT) like :searchParam', { searchParam: `%${searchParam}%` }) - .orWhere('LOWER(sites.addr_line_1) LIKE LOWER(:searchParam)', { searchParam: `%${searchParam.toLowerCase()}%` }) - .orWhere('LOWER(sites.addr_line_2) LIKE LOWER(:searchParam)', { searchParam: `%${searchParam.toLowerCase()}%` }) - .orWhere('LOWER(sites.addr_line_3) LIKE LOWER(:searchParam)', { searchParam: `%${searchParam.toLowerCase()}%` }) - .orWhere('LOWER(sites.addr_line_4) LIKE LOWER(:searchParam)', { searchParam: `%${searchParam.toLowerCase()}%` }) - .orWhere('LOWER(sites.city) LIKE LOWER(:searchParam)', { searchParam: `%${searchParam.toLowerCase()}%` }) - .orWhere('LOWER(sites.provState) LIKE LOWER(:searchParam)', { searchParam: `%${searchParam.toLowerCase()}%` }) - .orWhere('LOWER(sites.postalCode) LIKE LOWER(:searchParam)', { searchParam: `%${searchParam.toLowerCase()}%` }) - - if (id) { - query.andWhere('sites.id = :id', { id: id }) - } - - if (srStatus) { - query.andWhere('sites.srStatus = :srStatus', { srStatus: srStatus }) - } - - if (siteRiskCode) { - query.andWhere('sites.site_risk_code = :siteRiskCode', { siteRiskCode: siteRiskCode }) - } - - if (commonName) { - query.andWhere('sites.common_name = :commonName', { commonName: commonName }) - } - - if (addrLine_1) { - const cleanedAddress = siteUtil.removeSpecialCharacters(addrLine_1);// clean all special characters from address - query.andWhere(`regexp_replace(concat_ws('', sites.addr_line_1, sites.addr_line_2, sites.addr_line_3, sites.addr_line_4), '[^a-zA-Z0-9]', '', 'g') LIKE :cleanedAddress`, - { cleanedAddress: `%${cleanedAddress}%` }) - } - - if (city) { - query.andWhere('sites.city = :city', { city: city }) - } - - if (whoCreated) { - query.andWhere('sites.who_created = :whoCreated', { whoCreated: whoCreated }) - } - - if (latlongReliabilityFlag) { - query.andWhere('sites.latlong_reliability_flag = :latlongReliabilityFlag', { latlongReliabilityFlag: latlongReliabilityFlag }) - } - - if (latdeg) { - query.andWhere('sites.latdeg = :latdeg', { latdeg: latdeg }) - } - - if (latDegrees) { - query.andWhere('sites.lat_degrees = :latDegrees', { latDegrees: latDegrees }) - } - - if (latMinutes) { - query.andWhere('sites.lat_minutes = :latMinutes', { latMinutes: latMinutes }) - } - - if (latSeconds) { - query.andWhere('sites.lat_seconds = :latSeconds', { latSeconds: latSeconds }) - } - - if (longdeg) { - query.andWhere('sites.longdeg = :longdeg', { longdeg: longdeg }) - } - - if (longDegrees) { - query.andWhere('sites.long_degrees = :longDeg', { longDeg: longDegrees }) - } - - if (longMinutes) { - query.andWhere('sites.long_minutes = :longMinutes', { longMinutes: longMinutes }) - } - - if (longSeconds) { - query.andWhere('sites.long_seconds = :longSeconds', { longSeconds: longSeconds }) - } - - if (whenCreated) { - query.andWhere('sites.whenCreated = :whenCreated', { whenCreated: whenCreated }) - } - - if (whenUpdated) { - query.andWhere('sites.whenUpdated = :whenUpdated', { whenUpdated: whenUpdated }) - } - - const result = await query.skip((page - 1) * pageSize).take(pageSize).getManyAndCount(); - - response.sites = result[0] ? result[0] : []; - response.count = result[1] ? result[1] : 0; - response.page = page; - response.pageSize = pageSize; - - return response; - } - - /** - * Find sites by its ID - * @param siteId site Id - * @returns a single site matching the site ID - */ - async findSiteBySiteId(siteId: string) { - const response = new FetchSiteDetail(); - - response.httpStatusCode = 200; - - response.data = await this.siteRepository.findOneOrFail({ where: { id: siteId } }); - - return response; - } -} diff --git a/backend/sites/src/app/site.module.ts b/backend/sites/src/app/site.module.ts deleted file mode 100644 index 89ae97a8..00000000 --- a/backend/sites/src/app/site.module.ts +++ /dev/null @@ -1,70 +0,0 @@ -import { Module } from '@nestjs/common'; -import { TypeOrmModule } from '@nestjs/typeorm'; -import { SiteResolver } from './resolvers/site.resolver'; -import { SiteService } from './services/site.service'; -import { SiteController } from './controllers/site.controller'; -import { Sites } from './entities/sites.entity'; -import { Events } from './entities/events.entity'; -import { LandHistories } from './entities/landHistories.entity'; -import { Mailout } from './entities/mailout.entity'; -import { SiteAssocs } from './entities/siteAssocs.entity'; -import { SiteDocs } from './entities/siteDocs.entity'; -import { SitePartics } from './entities/sitePartics.entity'; -import { SiteProfiles } from './entities/siteProfiles.entity'; -import { SiteSubdivisions } from './entities/siteSubdivisions.entity'; -import { BceRegionCd } from './entities/bceRegionCd.entity'; -import { ClassificationCd } from './entities/classificationCd.entity'; -import { SiteRiskCd } from './entities/siteRiskCd.entity'; -import { SiteStatusCd } from './entities/siteStatusCd.entity'; -import { EventTypeCd } from './entities/eventTypeCd.entity'; -import { EventClassCd } from './entities/eventClassCd.entity'; -import { ConditionsText } from './entities/conditionsText.entity'; -import { EventPartics } from './entities/eventPartics.entity'; -import { LandUseCd } from './entities/landUseCd.entity'; -import { SiteProfileLandUses } from './entities/siteProfileLandUses.entity'; -import { ProfileAnswers } from './entities/profileAnswers.entity'; -import { ProfileSubmissions } from './entities/profileSubmissions.entity'; -import { SiteProfileOwners } from './entities/siteProfileOwners.entity'; -import { ProfileQuestions } from './entities/profileQuestions.entity'; -import { ProfileCategories } from './entities/profileCategories.entity'; -import { SubmissionCd } from './entities/submissionCd.entity'; -import { SiteDocPartics } from './entities/siteDocPartics.entity'; -import { PeopleOrgs } from './entities/peopleOrgs.entity'; -import { SiteParticRoles } from './entities/siteParticRoles.entity'; -import { ParticRoleCd } from './entities/particRoleCd.entity'; -import { EventParticRoleCd } from './entities/eventParticRoleCd.entity'; -import { CityRegions } from './entities/cityRegions.entity'; -import { SiteContaminationClassXref } from './entities/siteContaminationClassXref.entity'; -import { ContaminationClassCd } from './entities/contaminationClassCd.entity'; -import { SiteCrownLandStatusCd } from './entities/siteCrownLandStatusCd.entity'; -import { SisAddresses } from './entities/sisAddresses.entity'; -import { SiteStaffs } from './entities/siteStaffs.entity'; -import { DocParticRoleCd } from './entities/docParticRoleCd.entity'; -import { LtoDownload } from './entities/ltoDownload.entity'; -import { LtoPrevDownload } from './entities/ltoPrevDownload.entity'; -import { PlanTable } from './entities/planTable.entity'; -import { SiteCrownLandContaminated } from './entities/siteCrownLandContaminated.entity'; -import { DashboardResolver } from './resolvers/dashboard.resolver'; -import { DashboardService } from './services/dashboard.service'; -import { RecentViews } from './entities/recentViews.entity'; - -/** - * Module for wrapping all functionalities in sites microserivce - */ -@Module({ - imports: [TypeOrmModule.forFeature([Sites, Events, LandHistories, Mailout, SiteAssocs, SiteDocs, SitePartics, SiteProfiles, - SiteSubdivisions, BceRegionCd, ClassificationCd, SiteRiskCd, SiteStatusCd, EventTypeCd, - EventClassCd, SiteStatusCd, Events, ConditionsText, EventPartics, EventTypeCd, LandUseCd, LandHistories, SiteProfileLandUses, - ProfileAnswers, ProfileSubmissions, SiteProfileLandUses, SiteProfileOwners, ProfileQuestions, ProfileCategories, SubmissionCd, - SiteDocPartics, PeopleOrgs, SiteParticRoles, ParticRoleCd, EventParticRoleCd, CityRegions, SiteContaminationClassXref, - ContaminationClassCd, SiteCrownLandStatusCd, SisAddresses, SiteStaffs, DocParticRoleCd, LtoDownload, LtoPrevDownload, - PlanTable, SiteCrownLandContaminated, RecentViews])], - providers: [ - SiteResolver, - SiteService, - DashboardResolver, - DashboardService - ], - controllers: [SiteController], -}) -export class SiteModule { } diff --git a/backend/sites/src/app/utils/site.util.ts b/backend/sites/src/app/utils/site.util.ts deleted file mode 100644 index b12b0370..00000000 --- a/backend/sites/src/app/utils/site.util.ts +++ /dev/null @@ -1,12 +0,0 @@ -export class SiteUtil { - - /** - * Removes all special characters from a given string except alphanumeric characters and spaces. - * @param input The input string to clean. - * @returns The cleaned string. - */ - public async removeSpecialCharacters(input: string): Promise { - // Allow only alphanumeric characters - return input.replace(/[^a-zA-Z0-9]/g, ''); - } -} diff --git a/backend/sites/src/main.ts b/backend/sites/src/main.ts deleted file mode 100644 index 4ed0ffac..00000000 --- a/backend/sites/src/main.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { NestFactory } from '@nestjs/core'; -import { AppModule } from './app.module'; - -async function main() { - const app = await NestFactory.create(AppModule); - app.enableCors({ - origin: true, - methods: 'GET,HEAD,PUT,PATCH,POST,DELETE,OPTIONS', - credentials: true, - }); - await app.listen(4007); -} -main(); diff --git a/backend/sites/src/migrations/1711646316453-master-script.ts b/backend/sites/src/migrations/1711646316453-master-script.ts deleted file mode 100644 index 63662cc2..00000000 --- a/backend/sites/src/migrations/1711646316453-master-script.ts +++ /dev/null @@ -1,426 +0,0 @@ -import { MigrationInterface, QueryRunner } from "typeorm"; - -export class MasterScript1711646316453 implements MigrationInterface { - name = 'MasterScript1711646316453' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`CREATE TABLE "sites"."profile_categories" ("id" bigint NOT NULL, "sequence_no" bigint NOT NULL, "description" character varying(200) NOT NULL, "question_type" character varying(1) NOT NULL, "effective_date" TIMESTAMP NOT NULL, "expiry_date" TIMESTAMP, "who_created" character varying(30) NOT NULL, "who_updated" character varying(30), "when_created" TIMESTAMP NOT NULL, "when_updated" TIMESTAMP, "category_precursor" character varying(300), CONSTRAINT "PK_ad4c4dbdc4185df6dc92444151a" PRIMARY KEY ("id"))`); - await queryRunner.query(`CREATE INDEX "profcat_id_seq" ON "sites"."profile_categories" ("id", "sequence_no") `); - await queryRunner.query(`CREATE UNIQUE INDEX "profile_categories_pkey" ON "sites"."profile_categories" ("id") `); - await queryRunner.query(`CREATE TABLE "sites"."profile_questions" ("id" bigint NOT NULL, "sequence_no" bigint NOT NULL, "category_id" bigint NOT NULL, "parent_id" bigint, "description" character varying(400) NOT NULL, "effective_date" TIMESTAMP NOT NULL, "expiry_date" TIMESTAMP, "who_created" character varying(30) NOT NULL, "who_updated" character varying(30), "when_created" TIMESTAMP NOT NULL, "when_updated" TIMESTAMP, CONSTRAINT "PK_cd8ce99059b595c4576dfd9a950" PRIMARY KEY ("id"))`); - await queryRunner.query(`CREATE INDEX "profque_parent_id" ON "sites"."profile_questions" ("parent_id") `); - await queryRunner.query(`CREATE UNIQUE INDEX "profile_questions_pkey" ON "sites"."profile_questions" ("id") `); - await queryRunner.query(`CREATE INDEX "profque_category_id" ON "sites"."profile_questions" ("category_id") `); - await queryRunner.query(`CREATE INDEX "profque_cat_seq" ON "sites"."profile_questions" ("category_id", "sequence_no") `); - await queryRunner.query(`CREATE TABLE "sites"."profile_answers" ("site_id" bigint NOT NULL, "sprof_date_completed" TIMESTAMP NOT NULL, "question_id" bigint NOT NULL, "who_created" character varying(30) NOT NULL, "when_created" TIMESTAMP NOT NULL, CONSTRAINT "PK_5a64b5b84dbe10ebf8ce93530a8" PRIMARY KEY ("site_id", "sprof_date_completed", "question_id"))`); - await queryRunner.query(`CREATE INDEX "profans_sprof" ON "sites"."profile_answers" ("site_id", "sprof_date_completed") `); - await queryRunner.query(`CREATE UNIQUE INDEX "profile_answers_pkey" ON "sites"."profile_answers" ("question_id", "site_id", "sprof_date_completed") `); - await queryRunner.query(`CREATE TABLE "sites"."conditions_text" ("event_id" bigint NOT NULL, "conditions_comment" character varying(2000) NOT NULL, "who_created" character varying(30) NOT NULL, "who_updated" character varying(30), "when_created" TIMESTAMP NOT NULL, "when_updated" TIMESTAMP, "rwm_flag" smallint NOT NULL, CONSTRAINT "PK_eafccfd90e6ea26bb25396c5a27" PRIMARY KEY ("event_id"))`); - await queryRunner.query(`CREATE INDEX "ctext_rwm_flag" ON "sites"."conditions_text" ("rwm_flag") `); - await queryRunner.query(`CREATE INDEX "ctext_applied_to" ON "sites"."conditions_text" ("event_id") `); - await queryRunner.query(`CREATE TABLE "sites"."event_partic_role_cd" ("code" character varying(6) NOT NULL, "description" character varying(40) NOT NULL, CONSTRAINT "PK_d797a2afddd9edae760dbe0ff8f" PRIMARY KEY ("code"))`); - await queryRunner.query(`CREATE UNIQUE INDEX "event_partic_role_cd_pkey" ON "sites"."event_partic_role_cd" ("code") `); - await queryRunner.query(`CREATE TABLE "sites"."city_regions" ("city" character varying(30) NOT NULL, "bcer_code" character varying(6) NOT NULL, CONSTRAINT "PK_cb17df9c10546fc2fd8f0228433" PRIMARY KEY ("city"))`); - await queryRunner.query(`CREATE UNIQUE INDEX "city_regions_pkey" ON "sites"."city_regions" ("city") `); - await queryRunner.query(`CREATE INDEX "cr_associated_region" ON "sites"."city_regions" ("bcer_code") `); - await queryRunner.query(`CREATE TABLE "sites"."bce_region_cd" ("code" character varying(6) NOT NULL, "description" character varying(40) NOT NULL, CONSTRAINT "PK_1fca462f3669363ceb6ebd93ac0" PRIMARY KEY ("code"))`); - await queryRunner.query(`CREATE UNIQUE INDEX "bce_region_cd_pkey" ON "sites"."bce_region_cd" ("code") `); - await queryRunner.query(`CREATE TABLE "sites"."mailout" ("site_id" bigint NOT NULL, "psnorg_id" bigint NOT NULL, "bcer_code" character varying(6) NOT NULL, "display_name" character varying(150) NOT NULL, "common_name" character varying(40) NOT NULL, "common_city_name" character varying(30) NOT NULL, "organization_address" character varying(50) NOT NULL, "org_address_2" character varying(50), "org_address_3" character varying(50), "organization_city_name" character varying(30) NOT NULL, "prov_state" character varying(2) NOT NULL, "postal_code" character varying(10), "mailing_date" TIMESTAMP, "response_date" TIMESTAMP, "record_date" TIMESTAMP, "revise" character varying(1), "complete" character varying(1), "complete_date" TIMESTAMP, "comments" character varying(750), "update_notation" character varying(1), "update_notation_date" TIMESTAMP, "who_created" character varying(30) NOT NULL, "when_created" TIMESTAMP NOT NULL, "who_updated" character varying(30), "when_updated" TIMESTAMP, CONSTRAINT "PK_0442a4856b21b9b280cf9f5617f" PRIMARY KEY ("site_id", "psnorg_id"))`); - await queryRunner.query(`CREATE UNIQUE INDEX "mailout_pkey" ON "sites"."mailout" ("psnorg_id", "site_id") `); - await queryRunner.query(`CREATE INDEX "mailout_bcer_code" ON "sites"."mailout" ("bcer_code") `); - await queryRunner.query(`CREATE TABLE "sites"."sis_addresses" ("id" bigint NOT NULL, "psnorg_id" bigint NOT NULL, "effective_date" TIMESTAMP, "termination_date" TIMESTAMP, "bus_area_code" character varying(3), "bus_phone_no" character varying(7), "fax_area_code" character varying(3), "fax_phone_no" character varying(7), "home_area_code" character varying(3), "home_phone_no" character varying(7), "addr_type" character varying(7) NOT NULL, "addr_line_1" character varying(50) NOT NULL, "addr_line_2" character varying(50), "addr_line_3" character varying(50), "addr_line_4" character varying(50), "city" character varying(30) NOT NULL, "prov_state" character varying(2) NOT NULL, "country" character varying(3) NOT NULL, "postal_code" character varying(10), "who_created" character varying(30) NOT NULL, "who_updated" character varying(30), "when_created" TIMESTAMP NOT NULL, "when_updated" TIMESTAMP, CONSTRAINT "PK_902f3df5b7729877942ce7020f1" PRIMARY KEY ("id"))`); - await queryRunner.query(`CREATE INDEX "addr_a_location_for_frgn" ON "sites"."sis_addresses" ("psnorg_id") `); - await queryRunner.query(`CREATE UNIQUE INDEX "sis_addresses_pkey" ON "sites"."sis_addresses" ("id") `); - await queryRunner.query(`CREATE TABLE "sites"."doc_partic_role_cd" ("code" character varying(6) NOT NULL, "description" character varying(40) NOT NULL, CONSTRAINT "PK_0a0aa9d1a7150f33749f38b580f" PRIMARY KEY ("code"))`); - await queryRunner.query(`CREATE UNIQUE INDEX "doc_partic_role_cd_pkey" ON "sites"."doc_partic_role_cd" ("code") `); - await queryRunner.query(`CREATE TABLE "sites"."site_docs" ("id" bigint NOT NULL, "site_id" bigint NOT NULL, "submission_date" TIMESTAMP NOT NULL, "document_date" TIMESTAMP, "title" character varying(150) NOT NULL, "note" character varying(255), "who_created" character varying(30) NOT NULL, "who_updated" character varying(30), "when_created" TIMESTAMP NOT NULL, "when_updated" TIMESTAMP, "rwm_flag" smallint NOT NULL, "rwm_note_flag" smallint, CONSTRAINT "PK_a273087a870d3bdcb49ea7bdfc3" PRIMARY KEY ("id"))`); - await queryRunner.query(`CREATE INDEX "sdoc_about_frgn" ON "sites"."site_docs" ("site_id") `); - await queryRunner.query(`CREATE INDEX "sdoc_rwm_flag" ON "sites"."site_docs" ("rwm_flag") `); - await queryRunner.query(`CREATE UNIQUE INDEX "site_docs_pkey" ON "sites"."site_docs" ("id") `); - await queryRunner.query(`CREATE TABLE "sites"."partic_role_cd" ("code" character varying(6) NOT NULL, "description" character varying(40) NOT NULL, CONSTRAINT "PK_f66fa58a7a9d9ae750d6cd1e97f" PRIMARY KEY ("code"))`); - await queryRunner.query(`CREATE UNIQUE INDEX "partic_role_cd_pkey" ON "sites"."partic_role_cd" ("code") `); - await queryRunner.query(`CREATE TABLE "sites"."site_partic_roles" ("pr_code" character varying(6) NOT NULL, "sp_id" bigint NOT NULL, "who_created" character varying(30) NOT NULL, "who_updated" character varying(30), "when_created" TIMESTAMP NOT NULL, "when_updated" TIMESTAMP, "rwm_flag" smallint NOT NULL, CONSTRAINT "PK_1aaebab8e7887a0e11b6c287482" PRIMARY KEY ("pr_code", "sp_id"))`); - await queryRunner.query(`CREATE INDEX "spr_classifying_frgn" ON "sites"."site_partic_roles" ("sp_id") `); - await queryRunner.query(`CREATE INDEX "spr_rwm_flag" ON "sites"."site_partic_roles" ("rwm_flag") `); - await queryRunner.query(`CREATE UNIQUE INDEX "site_partic_roles_pkey" ON "sites"."site_partic_roles" ("pr_code", "sp_id") `); - await queryRunner.query(`CREATE INDEX "spr_classified_by_frgn" ON "sites"."site_partic_roles" ("pr_code") `); - await queryRunner.query(`CREATE TABLE "sites"."site_profile_owners" ("site_id" bigint NOT NULL, "date_completed" TIMESTAMP NOT NULL, "sp_id" bigint NOT NULL, "owner_company_contact" character varying(150), "agent_authorized_ind" character varying(1), CONSTRAINT "PK_372ee35a35e9fcc7d25d6ae3b8f" PRIMARY KEY ("site_id", "date_completed", "sp_id"))`); - await queryRunner.query(`CREATE INDEX "spown_sp_fk_i" ON "sites"."site_profile_owners" ("sp_id") `); - await queryRunner.query(`CREATE UNIQUE INDEX "site_profile_owners_pkey" ON "sites"."site_profile_owners" ("date_completed", "site_id", "sp_id") `); - await queryRunner.query(`CREATE INDEX "spown_sprof_fk_i" ON "sites"."site_profile_owners" ("date_completed", "site_id") `); - await queryRunner.query(`CREATE TABLE "sites"."site_partics" ("id" bigint NOT NULL, "site_id" bigint NOT NULL, "psnorg_id" bigint NOT NULL, "effective_date" TIMESTAMP NOT NULL, "end_date" TIMESTAMP, "note" character(255), "who_created" character(30) NOT NULL, "who_updated" character(30), "when_created" TIMESTAMP NOT NULL, "when_updated" TIMESTAMP, "rwm_flag" smallint NOT NULL, "rwm_note_flag" smallint NOT NULL, CONSTRAINT "PK_696a284617a7f02933f29d8ecdc" PRIMARY KEY ("id"))`); - await queryRunner.query(`CREATE INDEX "sp_identified_by2_frgn" ON "sites"."site_partics" ("site_id") `); - await queryRunner.query(`CREATE INDEX "sp_rwm_flag" ON "sites"."site_partics" ("rwm_flag") `); - await queryRunner.query(`CREATE INDEX "sp_identified_by_frgn" ON "sites"."site_partics" ("psnorg_id") `); - await queryRunner.query(`CREATE UNIQUE INDEX "site_partics_pkey" ON "sites"."site_partics" ("id") `); - await queryRunner.query(`CREATE TABLE "sites"."site_doc_partics" ("id" bigint NOT NULL, "dpr_code" character varying(6) NOT NULL, "sdoc_id" bigint NOT NULL, "sp_id" bigint NOT NULL, "psnorg_id" bigint NOT NULL, "who_created" character varying(30) NOT NULL, "who_updated" character varying(30), "when_created" TIMESTAMP NOT NULL, "when_updated" TIMESTAMP, "rwm_flag" smallint NOT NULL, CONSTRAINT "UQ_4f9b4ac9bd8d02e44e73516902e" UNIQUE ("dpr_code"), CONSTRAINT "UQ_ef5d35263f0cc2773256c285647" UNIQUE ("sdoc_id"), CONSTRAINT "UQ_df9a943e1b0b8d86df36971b144" UNIQUE ("psnorg_id"), CONSTRAINT "PK_3bd8f0fd332e1eb8c4c5a4e86f8" PRIMARY KEY ("id"))`); - await queryRunner.query(`CREATE INDEX "sdp_played_by_frgn" ON "sites"."site_doc_partics" ("sp_id") `); - await queryRunner.query(`CREATE INDEX "sdp_playing_a_role_i_frgn" ON "sites"."site_doc_partics" ("sdoc_id") `); - await queryRunner.query(`CREATE INDEX "sdp_rwm_flag" ON "sites"."site_doc_partics" ("rwm_flag") `); - await queryRunner.query(`CREATE INDEX "sdp_psnorg_frgn" ON "sites"."site_doc_partics" ("psnorg_id") `); - await queryRunner.query(`CREATE UNIQUE INDEX "site_doc_partics_pkey" ON "sites"."site_doc_partics" ("id") `); - await queryRunner.query(`CREATE UNIQUE INDEX "site_doc_partics_sdoc_id_psnorg_id_dpr_code_key" ON "sites"."site_doc_partics" ("dpr_code", "psnorg_id", "sdoc_id") `); - await queryRunner.query(`CREATE INDEX "sdp_classified_by_frgn" ON "sites"."site_doc_partics" ("dpr_code") `); - await queryRunner.query(`CREATE TABLE "sites"."site_staffs" ("id" bigint NOT NULL, "psnorg_id" bigint NOT NULL, "emp_num" character varying(10), "user_id" character varying(16) NOT NULL, "e_mail_addr" character varying(40), "stftype_code" character varying(6), "prt_name" character varying(15) NOT NULL, "display_name" character varying(255), "region_code" character varying(6), "start_date" TIMESTAMP NOT NULL, "termination_date" TIMESTAMP, "staff_role" character varying(12) NOT NULL, "who_created" character varying(30) NOT NULL, "who_updated" character varying(30), "when_created" TIMESTAMP NOT NULL, "when_updated" TIMESTAMP, "last_name" character varying(150), "first_name" character varying(75), CONSTRAINT "UQ_6a823f4bdaf2485661fa50b8246" UNIQUE ("psnorg_id"), CONSTRAINT "UQ_ca2c3e875aa5e455ee86bf8e02e" UNIQUE ("start_date"), CONSTRAINT "PK_6d0b93303c2f0101bd49f49e044" PRIMARY KEY ("id"))`); - await queryRunner.query(`CREATE UNIQUE INDEX "site_staffs_psnorg_id_start_date_key" ON "sites"."site_staffs" ("psnorg_id", "start_date") `); - await queryRunner.query(`CREATE INDEX "site_staff_employed_as_frgn" ON "sites"."site_staffs" ("psnorg_id") `); - await queryRunner.query(`CREATE UNIQUE INDEX "site_staffs_pkey" ON "sites"."site_staffs" ("id") `); - await queryRunner.query(`CREATE TABLE "sites"."contamination_class_cd" ("code" character varying(6) NOT NULL, "description" character varying(140) NOT NULL, CONSTRAINT "PK_68b18f12122b82f2b6827c4e399" PRIMARY KEY ("code"))`); - await queryRunner.query(`CREATE UNIQUE INDEX "contamination_class_cd_pkey" ON "sites"."contamination_class_cd" ("code") `); - await queryRunner.query(`CREATE TABLE "sites"."site_contamination_class_xref" ("sclc_id" bigint NOT NULL, "contamination_class_code" character varying(6) NOT NULL, "who_created" character varying(30) NOT NULL, "who_updated" character varying(30), "when_created" TIMESTAMP NOT NULL, "when_updated" TIMESTAMP, CONSTRAINT "PK_8ebc61d08f29db7a4e68eae4385" PRIMARY KEY ("sclc_id", "contamination_class_code"))`); - await queryRunner.query(`CREATE UNIQUE INDEX "site_contamination_class_xref_pkey" ON "sites"."site_contamination_class_xref" ("contamination_class_code", "sclc_id") `); - await queryRunner.query(`CREATE TABLE "sites"."site_crown_land_status_cd" ("code" character varying(6) NOT NULL, "description" character varying(140) NOT NULL, CONSTRAINT "PK_04711244d6fc460ad7ab782490f" PRIMARY KEY ("code"))`); - await queryRunner.query(`CREATE UNIQUE INDEX "site_crown_land_status_cd_pkey" ON "sites"."site_crown_land_status_cd" ("code") `); - await queryRunner.query(`CREATE TABLE "sites"."site_crown_land_contaminated" ("id" bigint NOT NULL, "estimated_cost_of_remediations" double precision NOT NULL, "actual_cost_of_remediations" double precision, "contamination_other_desc" character varying(50), "who_created" character varying(30) NOT NULL, "who_updated" character varying(30) DEFAULT statement_timestamp(), "when_created" TIMESTAMP NOT NULL, "when_updated" TIMESTAMP DEFAULT statement_timestamp(), "psnorg_id" bigint, "site_crown_land_status_code" character varying(6), CONSTRAINT "PK_6eda683ea614a412d989c0a7451" PRIMARY KEY ("id"))`); - await queryRunner.query(`CREATE UNIQUE INDEX "site_crown_land_contaminated_pkey" ON "sites"."site_crown_land_contaminated" ("id") `); - await queryRunner.query(`CREATE TABLE "sites"."people_orgs" ("id" bigint NOT NULL, "organization_name" character varying(150), "display_name" character varying(150) NOT NULL, "entity_type" character varying(12) NOT NULL, "location" character varying(40), "bcer_code" character varying(6), "contact_name" character varying(150), "mail_userid" character varying(100), "last_name" character varying(150), "first_name" character varying(75), "middle_name" character varying(75), "who_created" character varying(30) NOT NULL, "who_updated" character varying(30), "when_created" TIMESTAMP NOT NULL, "when_updated" TIMESTAMP, "end_date" TIMESTAMP, CONSTRAINT "PK_f21f7810077cedb2b4c99e7b857" PRIMARY KEY ("id"))`); - await queryRunner.query(`CREATE UNIQUE INDEX "people_orgs_pkey" ON "sites"."people_orgs" ("id") `); - await queryRunner.query(`CREATE INDEX "psnorg_working_within_frgn" ON "sites"."people_orgs" ("bcer_code") `); - await queryRunner.query(`CREATE TABLE "sites"."event_partics" ("event_id" bigint NOT NULL, "sp_id" bigint NOT NULL, "epr_code" character varying(6) NOT NULL, "psnorg_id" bigint NOT NULL, "who_created" character varying(30) NOT NULL, "who_updated" character varying(30), "when_created" TIMESTAMP NOT NULL, "when_updated" TIMESTAMP, "rwm_flag" smallint NOT NULL, CONSTRAINT "PK_9312e97df117437b5f4dbbf5943" PRIMARY KEY ("event_id", "sp_id", "epr_code"))`); - await queryRunner.query(`CREATE INDEX "ep_played_by_frgn" ON "sites"."event_partics" ("sp_id") `); - await queryRunner.query(`CREATE INDEX "ep_rwm_flag" ON "sites"."event_partics" ("rwm_flag") `); - await queryRunner.query(`CREATE INDEX "ep_psnorg_frgn" ON "sites"."event_partics" ("psnorg_id") `); - await queryRunner.query(`CREATE INDEX "ep_playing_a_role_i_frgn" ON "sites"."event_partics" ("event_id") `); - await queryRunner.query(`CREATE INDEX "ep_classified_by_frgn" ON "sites"."event_partics" ("epr_code") `); - await queryRunner.query(`CREATE UNIQUE INDEX "event_partics_pkey" ON "sites"."event_partics" ("epr_code", "event_id", "sp_id") `); - await queryRunner.query(`CREATE TABLE "sites"."event_class_cd" ("code" character varying(6) NOT NULL, "description" character varying(80) NOT NULL, CONSTRAINT "PK_39cd66c9ad46408b8298ff09d4c" PRIMARY KEY ("code"))`); - await queryRunner.query(`CREATE UNIQUE INDEX "event_class_cd_pkey" ON "sites"."event_class_cd" ("code") `); - await queryRunner.query(`CREATE TABLE "sites"."site_status_cd" ("code" character varying(6) NOT NULL, "description" character varying(120) NOT NULL, CONSTRAINT "PK_ad41aacc4073cfc61b0f56d7452" PRIMARY KEY ("code"))`); - await queryRunner.query(`CREATE UNIQUE INDEX "site_status_cd_pkey" ON "sites"."site_status_cd" ("code") `); - await queryRunner.query(`CREATE TABLE "sites"."event_type_cd" ("code" character varying(6) NOT NULL, "ecls_code" character varying(6) NOT NULL, "sst_code" character varying(6), "description" character varying(120) NOT NULL, "req_completion_date" character varying(1) NOT NULL, "req_regional_approval" character varying(1) NOT NULL, "req_remediation_plan" character varying(1) NOT NULL, "req_registrar_approval" character varying(1) NOT NULL, "req_success" character varying(1) NOT NULL, "site_registry_visible" character varying(1) NOT NULL, CONSTRAINT "PK_6b8ac60b413e3695f6093bd627a" PRIMARY KEY ("code", "ecls_code"))`); - await queryRunner.query(`CREATE INDEX "etyp_related_to_frgn" ON "sites"."event_type_cd" ("sst_code") `); - await queryRunner.query(`CREATE INDEX "etyp_classified_by_frgn" ON "sites"."event_type_cd" ("ecls_code") `); - await queryRunner.query(`CREATE UNIQUE INDEX "event_type_cd_pkey" ON "sites"."event_type_cd" ("code", "ecls_code") `); - await queryRunner.query(`CREATE TABLE "sites"."events" ("id" bigint NOT NULL, "site_id" bigint NOT NULL, "event_date" TIMESTAMP NOT NULL, "completion_date" TIMESTAMP, "etyp_code" character varying(6) NOT NULL, "psnorg_id" bigint NOT NULL, "sp_id" bigint NOT NULL, "note" character varying(500), "region_app_flag" character varying(1), "region_userid" character varying(16), "region_date" TIMESTAMP, "who_created" character varying(30) NOT NULL, "who_updated" character varying(30), "when_created" TIMESTAMP NOT NULL, "when_updated" TIMESTAMP, "rwm_flag" smallint NOT NULL, "rwm_note_flag" smallint NOT NULL, "rwm_approval_date" TIMESTAMP, "ecls_code" character varying(6) NOT NULL, "requirement_due_date" TIMESTAMP, "requirement_received_date" TIMESTAMP, CONSTRAINT "PK_40731c7151fe4be3116e45ddf73" PRIMARY KEY ("id"))`); - await queryRunner.query(`CREATE INDEX "event_responsibility_of_frgn" ON "sites"."events" ("sp_id") `); - await queryRunner.query(`CREATE INDEX "event_applicable_to_frgn" ON "sites"."events" ("site_id") `); - await queryRunner.query(`CREATE INDEX "event_rwm_note_flag" ON "sites"."events" ("rwm_note_flag") `); - await queryRunner.query(`CREATE INDEX "event_rwm_flag" ON "sites"."events" ("rwm_flag") `); - await queryRunner.query(`CREATE INDEX "event_psnorg_frgn" ON "sites"."events" ("psnorg_id") `); - await queryRunner.query(`CREATE UNIQUE INDEX "events_pkey" ON "sites"."events" ("id") `); - await queryRunner.query(`CREATE INDEX "event_described_by_frgn" ON "sites"."events" ("ecls_code", "etyp_code") `); - await queryRunner.query(`CREATE TABLE "sites"."site_assocs" ("site_id" bigint NOT NULL, "site_id_associated_with" bigint NOT NULL, "effective_date" TIMESTAMP NOT NULL, "note" character varying(255), "who_created" character varying(30) NOT NULL, "who_updated" character varying(30), "when_created" TIMESTAMP NOT NULL, "when_updated" TIMESTAMP, "rwm_flag" smallint NOT NULL, "rwm_note_flag" smallint NOT NULL, "common_pid" character varying(1) NOT NULL, CONSTRAINT "PK_d73a722a21ace208f93cc8dd811" PRIMARY KEY ("site_id", "site_id_associated_with"))`); - await queryRunner.query(`CREATE INDEX "sa_associated_with_frgn" ON "sites"."site_assocs" ("site_id_associated_with") `); - await queryRunner.query(`CREATE UNIQUE INDEX "site_assocs_pkey" ON "sites"."site_assocs" ("site_id", "site_id_associated_with") `); - await queryRunner.query(`CREATE INDEX "sa_adjacent_to_frgn" ON "sites"."site_assocs" ("site_id") `); - await queryRunner.query(`CREATE INDEX "sa_rwm_note_flag" ON "sites"."site_assocs" ("rwm_note_flag") `); - await queryRunner.query(`CREATE INDEX "sa_rwm_flag" ON "sites"."site_assocs" ("rwm_flag") `); - await queryRunner.query(`CREATE TABLE "sites"."site_subdivisions" ("site_id" bigint NOT NULL, "subdiv_id" bigint NOT NULL, "date_noted" TIMESTAMP NOT NULL, "initial_indicator" character varying(1) NOT NULL, "who_created" character varying(30) NOT NULL, "who_updated" character varying(30), "when_created" TIMESTAMP NOT NULL, "when_updated" TIMESTAMP, "sprof_date_completed" TIMESTAMP, "site_subdiv_id" bigint NOT NULL, "send_to_sr" character varying(1) NOT NULL, CONSTRAINT "UQ_a832b6c43076e628fe78d50fb45" UNIQUE ("site_id"), CONSTRAINT "UQ_658bd2d307dc4205b529993cddd" UNIQUE ("subdiv_id"), CONSTRAINT "UQ_71b14e3856335e7dc23fc28897b" UNIQUE ("sprof_date_completed"), CONSTRAINT "PK_ab0b9905ac3a461acae3113fdc5" PRIMARY KEY ("site_subdiv_id"))`); - await queryRunner.query(`CREATE INDEX "sitesub_comprised_of_frgn" ON "sites"."site_subdivisions" ("subdiv_id") `); - await queryRunner.query(`CREATE INDEX "sitesub_for_profile" ON "sites"."site_subdivisions" ("sprof_date_completed") `); - await queryRunner.query(`CREATE UNIQUE INDEX "site_subdivisions_pkey" ON "sites"."site_subdivisions" ("site_subdiv_id") `); - await queryRunner.query(`CREATE INDEX "sitesub_part_or_all_of_frgn" ON "sites"."site_subdivisions" ("site_id") `); - await queryRunner.query(`CREATE UNIQUE INDEX "site_subdivisions_site_id_subdiv_id_sprof_date_completed_key" ON "sites"."site_subdivisions" ("site_id", "sprof_date_completed", "subdiv_id") `); - await queryRunner.query(`CREATE TABLE "sites"."classification_cd" ("code" character varying(6) NOT NULL, "description" character varying(40) NOT NULL, CONSTRAINT "PK_fef4a1c98e41afc4b1a8052212e" PRIMARY KEY ("code"))`); - await queryRunner.query(`CREATE UNIQUE INDEX "classification_cd_pkey" ON "sites"."classification_cd" ("code") `); - await queryRunner.query(`CREATE TABLE "sites"."site_risk_cd" ("code" character varying(6) NOT NULL, "description" character varying(40) NOT NULL, CONSTRAINT "PK_5a8325ad2f61932d934e9e87813" PRIMARY KEY ("code"))`); - await queryRunner.query(`CREATE UNIQUE INDEX "site_risk_cd_pkey" ON "sites"."site_risk_cd" ("code") `); - await queryRunner.query(`CREATE TABLE "sites"."sites" ("id" bigint NOT NULL, "bcer_code" character varying(6) NOT NULL, "sst_code" character varying(6) NOT NULL, "common_name" character varying(40) NOT NULL, "addr_type" character varying(7) NOT NULL, "addr_line_1" character varying(50) NOT NULL, "addr_line_2" character varying(50), "addr_line_3" character varying(50), "addr_line_4" character varying(50), "city" character varying(30) NOT NULL, "prov_state" character varying(2) NOT NULL, "postal_code" character varying(10), "latdeg" double precision, "longdeg" double precision, "victoria_file_no" character varying(40), "regional_file_no" character varying(40), "class_code" character varying(6), "general_description" character varying(255), "who_created" character varying(30) NOT NULL, "who_updated" character varying(30), "when_created" TIMESTAMP NOT NULL, "when_updated" TIMESTAMP, "rwm_flag" smallint NOT NULL, "rwm_general_desc_flag" smallint NOT NULL, "consultant_submitted" character(1), "long_degrees" smallint, "long_minutes" smallint, "long_seconds" numeric(4,2), "lat_degrees" smallint, "lat_minutes" smallint, "lat_seconds" numeric(4,2), "sr_status" character varying(1) NOT NULL DEFAULT 'Y', "latlong_reliability_flag" character varying(12) NOT NULL, "site_risk_code" character varying(6) NOT NULL DEFAULT 'UNC', "geometry" geometry, CONSTRAINT "UQ_e093eba174650da1012069caddf" UNIQUE ("victoria_file_no"), CONSTRAINT "PK_4f5eccb1dfde10c9170502595a7" PRIMARY KEY ("id"))`); - await queryRunner.query(`CREATE UNIQUE INDEX "sites_victoria_file_no_key" ON "sites"."sites" ("victoria_file_no") `); - await queryRunner.query(`CREATE INDEX "site_described_by_frgn" ON "sites"."sites" ("sst_code") `); - await queryRunner.query(`CREATE INDEX "site_risk_is" ON "sites"."sites" ("site_risk_code") `); - await queryRunner.query(`CREATE INDEX "site_gen_desc_flag" ON "sites"."sites" ("rwm_general_desc_flag") `); - await queryRunner.query(`CREATE UNIQUE INDEX "sites_pkey" ON "sites"."sites" ("id") `); - await queryRunner.query(`CREATE INDEX "site_geom_ddx" ON "sites"."sites" ("geometry") `); - await queryRunner.query(`CREATE INDEX "site_classification" ON "sites"."sites" ("class_code") `); - await queryRunner.query(`CREATE INDEX "site_responsibility_o_frgn" ON "sites"."sites" ("bcer_code") `); - await queryRunner.query(`CREATE INDEX "site_bco" ON "sites"."sites" ("bcer_code", "class_code", "id", "rwm_flag", "sst_code") `); - await queryRunner.query(`CREATE TABLE "sites"."land_histories" ("site_id" bigint NOT NULL, "lut_code" character varying(6) NOT NULL, "note" character varying(255), "who_created" character varying(30) NOT NULL, "who_updated" character varying(30), "when_created" TIMESTAMP NOT NULL, "when_updated" TIMESTAMP, "rwm_flag" smallint NOT NULL, "rwm_note_flag" smallint NOT NULL, "site_profile" character(1), "profile_date_received" TIMESTAMP, CONSTRAINT "PK_c169100fce2e3d6bb6cc0d9a1e0" PRIMARY KEY ("site_id", "lut_code"))`); - await queryRunner.query(`CREATE INDEX "sluh_applicable_to_frgn" ON "sites"."land_histories" ("site_id") `); - await queryRunner.query(`CREATE INDEX "sluh_rwm_note_flag" ON "sites"."land_histories" ("rwm_note_flag") `); - await queryRunner.query(`CREATE INDEX "sluh_rwm_flag" ON "sites"."land_histories" ("rwm_flag") `); - await queryRunner.query(`CREATE INDEX "sluh_described_by_frgn" ON "sites"."land_histories" ("lut_code") `); - await queryRunner.query(`CREATE UNIQUE INDEX "land_histories_pkey" ON "sites"."land_histories" ("lut_code", "site_id") `); - await queryRunner.query(`CREATE TABLE "sites"."land_use_cd" ("code" character varying(6) NOT NULL, "description" character varying(60) NOT NULL, CONSTRAINT "PK_1ebd86ea91ac644362cab63dfc1" PRIMARY KEY ("code"))`); - await queryRunner.query(`CREATE UNIQUE INDEX "land_use_cd_pkey" ON "sites"."land_use_cd" ("code") `); - await queryRunner.query(`CREATE TABLE "sites"."site_profile_land_uses" ("site_id" bigint NOT NULL, "sprof_date_completed" TIMESTAMP NOT NULL, "lut_code" character varying(6) NOT NULL, "who_created" character varying(16) NOT NULL, "when_created" TIMESTAMP NOT NULL, CONSTRAINT "PK_51b544fec501997e7f7bd6ec63b" PRIMARY KEY ("site_id", "sprof_date_completed", "lut_code"))`); - await queryRunner.query(`CREATE UNIQUE INDEX "site_profile_land_uses_pkey" ON "sites"."site_profile_land_uses" ("lut_code", "site_id", "sprof_date_completed") `); - await queryRunner.query(`CREATE TABLE "sites"."site_profiles" ("site_id" bigint NOT NULL, "date_completed" TIMESTAMP NOT NULL, "local_auth_date_recd" TIMESTAMP, "local_auth_name" character varying(200), "local_auth_agency" character varying(200), "local_auth_address1" character varying(40), "local_auth_address2" character varying(40), "local_auth_phone_area_code" character varying(3), "local_auth_phone_no" character varying(7), "local_auth_fax_area_code" character varying(3), "local_auth_fax_no" character varying(7), "local_auth_date_submitted" TIMESTAMP, "local_auth_date_forwarded" TIMESTAMP, "rwm_date_received" TIMESTAMP, "rwm_partic_id" bigint, "rwm_phone_area_code" character varying(3), "rwm_phone_no" character varying(7), "rwm_fax_area_code" character varying(3), "rwm_fax_no" character varying(7), "investigation_required" character(1), "rwm_date_decision" TIMESTAMP, "site_reg_date_recd" TIMESTAMP, "site_reg_date_entered" TIMESTAMP, "site_reg_partic_id" bigint, "owner_partic_id" bigint, "site_address" character varying(100), "site_city" character varying(30), "site_postal_code" character varying(10), "number_of_pids" smallint, "number_of_pins" smallint, "lat_degrees" smallint, "lat_minutes" smallint, "lat_seconds" numeric(4,2), "long_degrees" smallint, "long_minutes" smallint, "long_seconds" numeric(4,2), "comments" character varying(2000), "who_created" character varying(30) NOT NULL, "who_updated" character varying(30), "when_created" TIMESTAMP NOT NULL, "when_updated" TIMESTAMP, "local_auth_email" character varying(50), "planned_activity_comment" character varying(2000), "site_disclosure_comment" character varying(2000), "gov_documents_comment" character varying(2000), "completor_partic_id" bigint, "contact_partic_id" bigint, CONSTRAINT "PK_12d8e8cd3b984567cacbc3ae269" PRIMARY KEY ("site_id", "date_completed"))`); - await queryRunner.query(`CREATE INDEX "sprof_site_reg_site_partic" ON "sites"."site_profiles" ("site_reg_partic_id") `); - await queryRunner.query(`CREATE INDEX "sprof_rwm_site_partic" ON "sites"."site_profiles" ("rwm_partic_id") `); - await queryRunner.query(`CREATE UNIQUE INDEX "site_profiles_pkey" ON "sites"."site_profiles" ("date_completed", "site_id") `); - await queryRunner.query(`CREATE TABLE "sites"."profile_submissions" ("sprof_date_completed" TIMESTAMP NOT NULL, "submcd_code" character varying(6) NOT NULL, "sprof_site_id" bigint NOT NULL, CONSTRAINT "PK_745fa19f5162e40e59fbb0e76ff" PRIMARY KEY ("sprof_date_completed", "submcd_code", "sprof_site_id"))`); - await queryRunner.query(`CREATE INDEX "profsbm_submcd_fk_i" ON "sites"."profile_submissions" ("submcd_code") `); - await queryRunner.query(`CREATE INDEX "profsbm_sprof_fk_i" ON "sites"."profile_submissions" ("sprof_date_completed", "sprof_site_id") `); - await queryRunner.query(`CREATE UNIQUE INDEX "profile_submissions_pkey" ON "sites"."profile_submissions" ("sprof_date_completed", "sprof_site_id", "submcd_code") `); - await queryRunner.query(`CREATE TABLE "sites"."submission_cd" ("code" character varying(6) NOT NULL, "description" character varying(40) NOT NULL, "used_in" character varying(4) NOT NULL, CONSTRAINT "PK_51386aa61774360a636f5acd29d" PRIMARY KEY ("code"))`); - await queryRunner.query(`CREATE UNIQUE INDEX "submission_cd_pkey" ON "sites"."submission_cd" ("code") `); - await queryRunner.query(`CREATE TABLE "sites"."subdivisions" ("id" bigint NOT NULL, "date_noted" TIMESTAMP NOT NULL, "pin" character varying(9), "pid" character varying(9), "bcaa_folio_number" character varying(20), "entity_type" character varying(4), "addr_line_1" character varying(50), "addr_line_2" character varying(50), "addr_line_3" character varying(50), "addr_line_4" character varying(50), "city" character varying(30), "postal_code" character varying(10), "legal_description" character varying(255), "who_created" character varying(30) NOT NULL, "who_updated" character varying(30), "when_created" TIMESTAMP NOT NULL, "when_updated" TIMESTAMP, "crown_lands_file_no" character varying(7), "pid_status_cd" character varying(1) NOT NULL, "valid_pid" character(1), CONSTRAINT "UQ_ad7dfb7e17c409d8b025f8776a8" UNIQUE ("pin"), CONSTRAINT "UQ_2008492ca13515d645bfbf1699e" UNIQUE ("pid"), CONSTRAINT "PK_f521e4439b27c529d97c90d1907" PRIMARY KEY ("id"))`); - await queryRunner.query(`CREATE UNIQUE INDEX "subdivisions_pid_pin_key" ON "sites"."subdivisions" ("pid", "pin") `); - await queryRunner.query(`CREATE UNIQUE INDEX "subdivisions_pkey" ON "sites"."subdivisions" ("id") `); - await queryRunner.query(`CREATE TABLE "sites"."spatial_ref_sys" ("srid" integer NOT NULL, "auth_name" character varying(256), "auth_srid" integer, "srtext" character varying(2048), "proj4text" character varying(2048), CONSTRAINT "PK_ff8a45f5398d8ad47f3b844bb58" PRIMARY KEY ("srid"))`); - await queryRunner.query(`CREATE UNIQUE INDEX "spatial_ref_sys_pkey" ON "sites"."spatial_ref_sys" ("srid") `); - await queryRunner.query(`CREATE TABLE "sites"."site_registry_module" ("id" uuid NOT NULL DEFAULT uuid_generate_v4(), "sites" character(1), "site_location_description" character(1), "site_partics" character(1), "site_partic_notes" character(1), "site_partic_roles" character(1), "site_partic_dates" character(1), "notations" character(1), "notation_notes" character(1), "notation_actions" character(1), "notation_partics" character(1), "documents" character(1), "document_notes" character(1), "document_partics" character(1), "document_abstracts" character(1), "document_measure_pops" character(1), "document_measure_details" character(1), "associations" character(1), "association_notes" character(1), "association_dates" character(1), "suspect_land_uses" character(1), "suspect_land_use_notes" character(1), "aec_assessments" character(1), "aec_assessment_mig_potential" character(1), "aec_assessment_sources" character(1), "aec_assessment_medias" character(1), "aec_assessment_media_notes" character(1), "aec_assessment_pcocs" character(1), "aec_remed_plans" character(1), "aec_remed_plan_notes" character(1), "aec_remed_plan_items" character(1), "aec_remed_plan_item_measures" character(1), "aec_remed_approaches" character(1), CONSTRAINT "PK_7c6a966c058663ac877148f6f42" PRIMARY KEY ("id"))`); - await queryRunner.query(`CREATE TABLE "sites"."site_registry" ("site_id" bigint NOT NULL, "reg_flag" smallint, "reg_userid" character varying(16), "init_approval_date" TIMESTAMP, "last_approval_date" TIMESTAMP, "tombstone_date" TIMESTAMP, CONSTRAINT "PK_f9b6fe314837927a20473fa8540" PRIMARY KEY ("site_id"))`); - await queryRunner.query(`CREATE UNIQUE INDEX "site_registry_pkey" ON "sites"."site_registry" ("site_id") `); - await queryRunner.query(`CREATE INDEX "sitereg_bco" ON "sites"."site_registry" ("reg_flag", "site_id") `); - await queryRunner.query(`CREATE TABLE "sites"."plan_table" ("plan_id" uuid NOT NULL DEFAULT uuid_generate_v4(), "statement_id" character varying(30), "timestamp" TIMESTAMP, "remarks" character varying(80), "operation" character varying(30), "options" character varying(30), "object_node" character varying(128), "object_owner" character varying(30), "object_name" character varying(30), "object_instance" numeric(38,0), "object_type" character varying(30), "optimizer" character varying(255), "search_columns" numeric(38,0), "id" numeric(38,0), "parent_id" numeric(38,0), "position" numeric(38,0), "other" text, CONSTRAINT "PK_47862dc75dee14961bc390d6737" PRIMARY KEY ("plan_id"))`); - await queryRunner.query(`CREATE TABLE "sites"."lto_download" ("pid" character varying(9) NOT NULL, "pid_status_cd" character varying(1), "legal_description" character varying(255), "child_pid" character varying(9), "child_pid_status_cd" character varying(1), "child_legal_description" character varying(255), CONSTRAINT "PK_0bcb06db567ffea12eeb73f59fa" PRIMARY KEY ("pid"))`); - await queryRunner.query(`CREATE TABLE "sites"."lto_prev_download" ("pid" character varying(9) NOT NULL, "pid_status_cd" character varying(1), "legal_description" character varying(255), "child_pid" character varying(9), "child_pid_status_cd" character varying(1), "child_legal_description" character varying(255), CONSTRAINT "PK_ca5a3547d8e33dcb25c3dbe64cd" PRIMARY KEY ("pid"))`); - await queryRunner.query(`ALTER TABLE "sites"."profile_questions" ADD CONSTRAINT "FK_14edd82a4bb575de4f9f1cf07fe" FOREIGN KEY ("category_id") REFERENCES "sites"."profile_categories"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."profile_questions" ADD CONSTRAINT "FK_49ae5cf816287627cfd33bf2e0f" FOREIGN KEY ("parent_id") REFERENCES "sites"."profile_questions"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."profile_answers" ADD CONSTRAINT "FK_938ad8c705f3e2de4f81f3af1ef" FOREIGN KEY ("question_id") REFERENCES "sites"."profile_questions"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."profile_answers" ADD CONSTRAINT "FK_fcba3242e7d187740cf099e5c66" FOREIGN KEY ("site_id", "sprof_date_completed") REFERENCES "sites"."site_profiles"("site_id","date_completed") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."conditions_text" ADD CONSTRAINT "FK_eafccfd90e6ea26bb25396c5a27" FOREIGN KEY ("event_id") REFERENCES "sites"."events"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."city_regions" ADD CONSTRAINT "FK_33e181f6ff3eddb414d71d8d6ff" FOREIGN KEY ("bcer_code") REFERENCES "sites"."bce_region_cd"("code") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."mailout" ADD CONSTRAINT "FK_3bde45d6ea2a31600524ac08422" FOREIGN KEY ("bcer_code") REFERENCES "sites"."bce_region_cd"("code") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."mailout" ADD CONSTRAINT "FK_df8d8ef2f6f749ca8178143534d" FOREIGN KEY ("psnorg_id") REFERENCES "sites"."people_orgs"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."mailout" ADD CONSTRAINT "FK_0377a38291463564bca530aa113" FOREIGN KEY ("site_id") REFERENCES "sites"."sites"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."sis_addresses" ADD CONSTRAINT "FK_182f20c89cd73a826528fe101e2" FOREIGN KEY ("psnorg_id") REFERENCES "sites"."people_orgs"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."site_docs" ADD CONSTRAINT "FK_5d7407888d0e0ead1950c801966" FOREIGN KEY ("site_id") REFERENCES "sites"."sites"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."site_partic_roles" ADD CONSTRAINT "FK_da8e17d429388c732e1cb261efd" FOREIGN KEY ("pr_code") REFERENCES "sites"."partic_role_cd"("code") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."site_partic_roles" ADD CONSTRAINT "FK_4171a309de795d40009f2049ca7" FOREIGN KEY ("sp_id") REFERENCES "sites"."site_partics"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."site_profile_owners" ADD CONSTRAINT "FK_4d14bbf4faba151de1fd6c6f4d0" FOREIGN KEY ("site_id", "date_completed") REFERENCES "sites"."site_profiles"("site_id","date_completed") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."site_profile_owners" ADD CONSTRAINT "FK_43192994f2226491bec18fec2cd" FOREIGN KEY ("sp_id") REFERENCES "sites"."site_partics"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."site_partics" ADD CONSTRAINT "FK_7a8091ea5132040c323702e7034" FOREIGN KEY ("psnorg_id") REFERENCES "sites"."people_orgs"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."site_partics" ADD CONSTRAINT "FK_73ea22c3bcdc161fa9ede8de094" FOREIGN KEY ("site_id") REFERENCES "sites"."sites"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."site_doc_partics" ADD CONSTRAINT "FK_4f9b4ac9bd8d02e44e73516902e" FOREIGN KEY ("dpr_code") REFERENCES "sites"."doc_partic_role_cd"("code") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."site_doc_partics" ADD CONSTRAINT "FK_df9a943e1b0b8d86df36971b144" FOREIGN KEY ("psnorg_id") REFERENCES "sites"."people_orgs"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."site_doc_partics" ADD CONSTRAINT "FK_ef5d35263f0cc2773256c285647" FOREIGN KEY ("sdoc_id") REFERENCES "sites"."site_docs"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."site_doc_partics" ADD CONSTRAINT "FK_3f4c5169ec89b93e7509ab26f37" FOREIGN KEY ("sp_id") REFERENCES "sites"."site_partics"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."site_staffs" ADD CONSTRAINT "FK_6a823f4bdaf2485661fa50b8246" FOREIGN KEY ("psnorg_id") REFERENCES "sites"."people_orgs"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."site_contamination_class_xref" ADD CONSTRAINT "FK_d55e2c28916898fb8709cead017" FOREIGN KEY ("contamination_class_code") REFERENCES "sites"."contamination_class_cd"("code") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."site_contamination_class_xref" ADD CONSTRAINT "FK_13b56121c4098b587b4fdbd0175" FOREIGN KEY ("sclc_id") REFERENCES "sites"."site_crown_land_contaminated"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."site_crown_land_contaminated" ADD CONSTRAINT "FK_6eda683ea614a412d989c0a7451" FOREIGN KEY ("id") REFERENCES "sites"."sites"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."site_crown_land_contaminated" ADD CONSTRAINT "FK_2c5f5026d5645f6af23b5e3dd75" FOREIGN KEY ("psnorg_id") REFERENCES "sites"."people_orgs"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."site_crown_land_contaminated" ADD CONSTRAINT "FK_d6b2ef003392e7f94acb0a76081" FOREIGN KEY ("site_crown_land_status_code") REFERENCES "sites"."site_crown_land_status_cd"("code") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."people_orgs" ADD CONSTRAINT "FK_689cb78e07c25d64080a1328600" FOREIGN KEY ("bcer_code") REFERENCES "sites"."bce_region_cd"("code") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."event_partics" ADD CONSTRAINT "FK_8644abc153426cfacb67a8f5602" FOREIGN KEY ("epr_code") REFERENCES "sites"."event_partic_role_cd"("code") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."event_partics" ADD CONSTRAINT "FK_403fc38ed2fc14975735dc004a9" FOREIGN KEY ("event_id") REFERENCES "sites"."events"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."event_partics" ADD CONSTRAINT "FK_d72a925912888c241f6b3285d3d" FOREIGN KEY ("psnorg_id") REFERENCES "sites"."people_orgs"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."event_partics" ADD CONSTRAINT "FK_80a7d02a903118a3f172b6ced70" FOREIGN KEY ("sp_id") REFERENCES "sites"."site_partics"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."event_type_cd" ADD CONSTRAINT "FK_97683b723351e8fb279ffed9a28" FOREIGN KEY ("ecls_code") REFERENCES "sites"."event_class_cd"("code") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."event_type_cd" ADD CONSTRAINT "FK_e8dd38f537dc5caa782a80f95e4" FOREIGN KEY ("sst_code") REFERENCES "sites"."site_status_cd"("code") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."events" ADD CONSTRAINT "FK_07f172ed34b648e7f3282aeb305" FOREIGN KEY ("etyp_code", "ecls_code") REFERENCES "sites"."event_type_cd"("code","ecls_code") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."events" ADD CONSTRAINT "FK_d55da70f86820cf43dbcef6ac04" FOREIGN KEY ("site_id") REFERENCES "sites"."sites"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."site_assocs" ADD CONSTRAINT "FK_25c8c940d25f3407fbff0e00d9e" FOREIGN KEY ("site_id") REFERENCES "sites"."sites"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."site_assocs" ADD CONSTRAINT "FK_fad080594a9ae08bb4a3faacdb9" FOREIGN KEY ("site_id_associated_with") REFERENCES "sites"."sites"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."site_subdivisions" ADD CONSTRAINT "FK_a832b6c43076e628fe78d50fb45" FOREIGN KEY ("site_id") REFERENCES "sites"."sites"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."sites" ADD CONSTRAINT "FK_fbd36524edbb3b52d4062de0d00" FOREIGN KEY ("bcer_code") REFERENCES "sites"."bce_region_cd"("code") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."sites" ADD CONSTRAINT "FK_ae06e875ad4cd80ba5a8d110699" FOREIGN KEY ("class_code") REFERENCES "sites"."classification_cd"("code") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."sites" ADD CONSTRAINT "FK_ce544ec8a4703f5341486694444" FOREIGN KEY ("site_risk_code") REFERENCES "sites"."site_risk_cd"("code") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."sites" ADD CONSTRAINT "FK_6bff1991139b6cbb61870eb9f11" FOREIGN KEY ("sst_code") REFERENCES "sites"."site_status_cd"("code") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."land_histories" ADD CONSTRAINT "FK_fe1f2b87ee75fdced19793c5765" FOREIGN KEY ("lut_code") REFERENCES "sites"."land_use_cd"("code") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."land_histories" ADD CONSTRAINT "FK_97f4d0a979dd72e13d095ef20fe" FOREIGN KEY ("site_id") REFERENCES "sites"."sites"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."site_profile_land_uses" ADD CONSTRAINT "FK_abe87fe0b8f899472d78176623d" FOREIGN KEY ("lut_code") REFERENCES "sites"."land_use_cd"("code") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."site_profile_land_uses" ADD CONSTRAINT "FK_84d86cc243b265a436e3ab616c3" FOREIGN KEY ("site_id", "sprof_date_completed") REFERENCES "sites"."site_profiles"("site_id","date_completed") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."site_profiles" ADD CONSTRAINT "FK_aafdda946ab5c8dd00cae4d9544" FOREIGN KEY ("completor_partic_id") REFERENCES "sites"."site_partics"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."site_profiles" ADD CONSTRAINT "FK_c67f7496519aa992316fe7b4b21" FOREIGN KEY ("contact_partic_id") REFERENCES "sites"."site_partics"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."site_profiles" ADD CONSTRAINT "FK_07815f2409991b176f8b9ea1755" FOREIGN KEY ("rwm_partic_id") REFERENCES "sites"."site_partics"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."site_profiles" ADD CONSTRAINT "FK_2cca26154be730cfec15ef6cb09" FOREIGN KEY ("site_id") REFERENCES "sites"."sites"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."site_profiles" ADD CONSTRAINT "FK_371e7c30224542fe70e1b3e84a7" FOREIGN KEY ("site_reg_partic_id") REFERENCES "sites"."site_partics"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."profile_submissions" ADD CONSTRAINT "FK_b24bc419d1131f423acf44fb9ab" FOREIGN KEY ("sprof_site_id", "sprof_date_completed") REFERENCES "sites"."site_profiles"("site_id","date_completed") ON DELETE NO ACTION ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "sites"."profile_submissions" ADD CONSTRAINT "FK_b5736764024c5bf47c39f934971" FOREIGN KEY ("submcd_code") REFERENCES "sites"."submission_cd"("code") ON DELETE NO ACTION ON UPDATE NO ACTION`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "sites"."profile_submissions" DROP CONSTRAINT "FK_b5736764024c5bf47c39f934971"`); - await queryRunner.query(`ALTER TABLE "sites"."profile_submissions" DROP CONSTRAINT "FK_b24bc419d1131f423acf44fb9ab"`); - await queryRunner.query(`ALTER TABLE "sites"."site_profiles" DROP CONSTRAINT "FK_371e7c30224542fe70e1b3e84a7"`); - await queryRunner.query(`ALTER TABLE "sites"."site_profiles" DROP CONSTRAINT "FK_2cca26154be730cfec15ef6cb09"`); - await queryRunner.query(`ALTER TABLE "sites"."site_profiles" DROP CONSTRAINT "FK_07815f2409991b176f8b9ea1755"`); - await queryRunner.query(`ALTER TABLE "sites"."site_profiles" DROP CONSTRAINT "FK_c67f7496519aa992316fe7b4b21"`); - await queryRunner.query(`ALTER TABLE "sites"."site_profiles" DROP CONSTRAINT "FK_aafdda946ab5c8dd00cae4d9544"`); - await queryRunner.query(`ALTER TABLE "sites"."site_profile_land_uses" DROP CONSTRAINT "FK_84d86cc243b265a436e3ab616c3"`); - await queryRunner.query(`ALTER TABLE "sites"."site_profile_land_uses" DROP CONSTRAINT "FK_abe87fe0b8f899472d78176623d"`); - await queryRunner.query(`ALTER TABLE "sites"."land_histories" DROP CONSTRAINT "FK_97f4d0a979dd72e13d095ef20fe"`); - await queryRunner.query(`ALTER TABLE "sites"."land_histories" DROP CONSTRAINT "FK_fe1f2b87ee75fdced19793c5765"`); - await queryRunner.query(`ALTER TABLE "sites"."sites" DROP CONSTRAINT "FK_6bff1991139b6cbb61870eb9f11"`); - await queryRunner.query(`ALTER TABLE "sites"."sites" DROP CONSTRAINT "FK_ce544ec8a4703f5341486694444"`); - await queryRunner.query(`ALTER TABLE "sites"."sites" DROP CONSTRAINT "FK_ae06e875ad4cd80ba5a8d110699"`); - await queryRunner.query(`ALTER TABLE "sites"."sites" DROP CONSTRAINT "FK_fbd36524edbb3b52d4062de0d00"`); - await queryRunner.query(`ALTER TABLE "sites"."site_subdivisions" DROP CONSTRAINT "FK_a832b6c43076e628fe78d50fb45"`); - await queryRunner.query(`ALTER TABLE "sites"."site_assocs" DROP CONSTRAINT "FK_fad080594a9ae08bb4a3faacdb9"`); - await queryRunner.query(`ALTER TABLE "sites"."site_assocs" DROP CONSTRAINT "FK_25c8c940d25f3407fbff0e00d9e"`); - await queryRunner.query(`ALTER TABLE "sites"."events" DROP CONSTRAINT "FK_d55da70f86820cf43dbcef6ac04"`); - await queryRunner.query(`ALTER TABLE "sites"."events" DROP CONSTRAINT "FK_07f172ed34b648e7f3282aeb305"`); - await queryRunner.query(`ALTER TABLE "sites"."event_type_cd" DROP CONSTRAINT "FK_e8dd38f537dc5caa782a80f95e4"`); - await queryRunner.query(`ALTER TABLE "sites"."event_type_cd" DROP CONSTRAINT "FK_97683b723351e8fb279ffed9a28"`); - await queryRunner.query(`ALTER TABLE "sites"."event_partics" DROP CONSTRAINT "FK_80a7d02a903118a3f172b6ced70"`); - await queryRunner.query(`ALTER TABLE "sites"."event_partics" DROP CONSTRAINT "FK_d72a925912888c241f6b3285d3d"`); - await queryRunner.query(`ALTER TABLE "sites"."event_partics" DROP CONSTRAINT "FK_403fc38ed2fc14975735dc004a9"`); - await queryRunner.query(`ALTER TABLE "sites"."event_partics" DROP CONSTRAINT "FK_8644abc153426cfacb67a8f5602"`); - await queryRunner.query(`ALTER TABLE "sites"."people_orgs" DROP CONSTRAINT "FK_689cb78e07c25d64080a1328600"`); - await queryRunner.query(`ALTER TABLE "sites"."site_crown_land_contaminated" DROP CONSTRAINT "FK_d6b2ef003392e7f94acb0a76081"`); - await queryRunner.query(`ALTER TABLE "sites"."site_crown_land_contaminated" DROP CONSTRAINT "FK_2c5f5026d5645f6af23b5e3dd75"`); - await queryRunner.query(`ALTER TABLE "sites"."site_crown_land_contaminated" DROP CONSTRAINT "FK_6eda683ea614a412d989c0a7451"`); - await queryRunner.query(`ALTER TABLE "sites"."site_contamination_class_xref" DROP CONSTRAINT "FK_13b56121c4098b587b4fdbd0175"`); - await queryRunner.query(`ALTER TABLE "sites"."site_contamination_class_xref" DROP CONSTRAINT "FK_d55e2c28916898fb8709cead017"`); - await queryRunner.query(`ALTER TABLE "sites"."site_staffs" DROP CONSTRAINT "FK_6a823f4bdaf2485661fa50b8246"`); - await queryRunner.query(`ALTER TABLE "sites"."site_doc_partics" DROP CONSTRAINT "FK_3f4c5169ec89b93e7509ab26f37"`); - await queryRunner.query(`ALTER TABLE "sites"."site_doc_partics" DROP CONSTRAINT "FK_ef5d35263f0cc2773256c285647"`); - await queryRunner.query(`ALTER TABLE "sites"."site_doc_partics" DROP CONSTRAINT "FK_df9a943e1b0b8d86df36971b144"`); - await queryRunner.query(`ALTER TABLE "sites"."site_doc_partics" DROP CONSTRAINT "FK_4f9b4ac9bd8d02e44e73516902e"`); - await queryRunner.query(`ALTER TABLE "sites"."site_partics" DROP CONSTRAINT "FK_73ea22c3bcdc161fa9ede8de094"`); - await queryRunner.query(`ALTER TABLE "sites"."site_partics" DROP CONSTRAINT "FK_7a8091ea5132040c323702e7034"`); - await queryRunner.query(`ALTER TABLE "sites"."site_profile_owners" DROP CONSTRAINT "FK_43192994f2226491bec18fec2cd"`); - await queryRunner.query(`ALTER TABLE "sites"."site_profile_owners" DROP CONSTRAINT "FK_4d14bbf4faba151de1fd6c6f4d0"`); - await queryRunner.query(`ALTER TABLE "sites"."site_partic_roles" DROP CONSTRAINT "FK_4171a309de795d40009f2049ca7"`); - await queryRunner.query(`ALTER TABLE "sites"."site_partic_roles" DROP CONSTRAINT "FK_da8e17d429388c732e1cb261efd"`); - await queryRunner.query(`ALTER TABLE "sites"."site_docs" DROP CONSTRAINT "FK_5d7407888d0e0ead1950c801966"`); - await queryRunner.query(`ALTER TABLE "sites"."sis_addresses" DROP CONSTRAINT "FK_182f20c89cd73a826528fe101e2"`); - await queryRunner.query(`ALTER TABLE "sites"."mailout" DROP CONSTRAINT "FK_0377a38291463564bca530aa113"`); - await queryRunner.query(`ALTER TABLE "sites"."mailout" DROP CONSTRAINT "FK_df8d8ef2f6f749ca8178143534d"`); - await queryRunner.query(`ALTER TABLE "sites"."mailout" DROP CONSTRAINT "FK_3bde45d6ea2a31600524ac08422"`); - await queryRunner.query(`ALTER TABLE "sites"."city_regions" DROP CONSTRAINT "FK_33e181f6ff3eddb414d71d8d6ff"`); - await queryRunner.query(`ALTER TABLE "sites"."conditions_text" DROP CONSTRAINT "FK_eafccfd90e6ea26bb25396c5a27"`); - await queryRunner.query(`ALTER TABLE "sites"."profile_answers" DROP CONSTRAINT "FK_fcba3242e7d187740cf099e5c66"`); - await queryRunner.query(`ALTER TABLE "sites"."profile_answers" DROP CONSTRAINT "FK_938ad8c705f3e2de4f81f3af1ef"`); - await queryRunner.query(`ALTER TABLE "sites"."profile_questions" DROP CONSTRAINT "FK_49ae5cf816287627cfd33bf2e0f"`); - await queryRunner.query(`ALTER TABLE "sites"."profile_questions" DROP CONSTRAINT "FK_14edd82a4bb575de4f9f1cf07fe"`); - await queryRunner.query(`DROP TABLE "sites"."lto_prev_download"`); - await queryRunner.query(`DROP TABLE "sites"."lto_download"`); - await queryRunner.query(`DROP TABLE "sites"."plan_table"`); - await queryRunner.query(`DROP INDEX "sites"."sitereg_bco"`); - await queryRunner.query(`DROP INDEX "sites"."site_registry_pkey"`); - await queryRunner.query(`DROP TABLE "sites"."site_registry"`); - await queryRunner.query(`DROP TABLE "sites"."site_registry_module"`); - await queryRunner.query(`DROP INDEX "sites"."spatial_ref_sys_pkey"`); - await queryRunner.query(`DROP TABLE "sites"."spatial_ref_sys"`); - await queryRunner.query(`DROP INDEX "sites"."subdivisions_pkey"`); - await queryRunner.query(`DROP INDEX "sites"."subdivisions_pid_pin_key"`); - await queryRunner.query(`DROP TABLE "sites"."subdivisions"`); - await queryRunner.query(`DROP INDEX "sites"."submission_cd_pkey"`); - await queryRunner.query(`DROP TABLE "sites"."submission_cd"`); - await queryRunner.query(`DROP INDEX "sites"."profile_submissions_pkey"`); - await queryRunner.query(`DROP INDEX "sites"."profsbm_sprof_fk_i"`); - await queryRunner.query(`DROP INDEX "sites"."profsbm_submcd_fk_i"`); - await queryRunner.query(`DROP TABLE "sites"."profile_submissions"`); - await queryRunner.query(`DROP INDEX "sites"."site_profiles_pkey"`); - await queryRunner.query(`DROP INDEX "sites"."sprof_rwm_site_partic"`); - await queryRunner.query(`DROP INDEX "sites"."sprof_site_reg_site_partic"`); - await queryRunner.query(`DROP TABLE "sites"."site_profiles"`); - await queryRunner.query(`DROP INDEX "sites"."site_profile_land_uses_pkey"`); - await queryRunner.query(`DROP TABLE "sites"."site_profile_land_uses"`); - await queryRunner.query(`DROP INDEX "sites"."land_use_cd_pkey"`); - await queryRunner.query(`DROP TABLE "sites"."land_use_cd"`); - await queryRunner.query(`DROP INDEX "sites"."land_histories_pkey"`); - await queryRunner.query(`DROP INDEX "sites"."sluh_described_by_frgn"`); - await queryRunner.query(`DROP INDEX "sites"."sluh_rwm_flag"`); - await queryRunner.query(`DROP INDEX "sites"."sluh_rwm_note_flag"`); - await queryRunner.query(`DROP INDEX "sites"."sluh_applicable_to_frgn"`); - await queryRunner.query(`DROP TABLE "sites"."land_histories"`); - await queryRunner.query(`DROP INDEX "sites"."site_bco"`); - await queryRunner.query(`DROP INDEX "sites"."site_responsibility_o_frgn"`); - await queryRunner.query(`DROP INDEX "sites"."site_classification"`); - await queryRunner.query(`DROP INDEX "sites"."site_geom_ddx"`); - await queryRunner.query(`DROP INDEX "sites"."sites_pkey"`); - await queryRunner.query(`DROP INDEX "sites"."site_gen_desc_flag"`); - await queryRunner.query(`DROP INDEX "sites"."site_risk_is"`); - await queryRunner.query(`DROP INDEX "sites"."site_described_by_frgn"`); - await queryRunner.query(`DROP INDEX "sites"."sites_victoria_file_no_key"`); - await queryRunner.query(`DROP TABLE "sites"."sites"`); - await queryRunner.query(`DROP INDEX "sites"."site_risk_cd_pkey"`); - await queryRunner.query(`DROP TABLE "sites"."site_risk_cd"`); - await queryRunner.query(`DROP INDEX "sites"."classification_cd_pkey"`); - await queryRunner.query(`DROP TABLE "sites"."classification_cd"`); - await queryRunner.query(`DROP INDEX "sites"."site_subdivisions_site_id_subdiv_id_sprof_date_completed_key"`); - await queryRunner.query(`DROP INDEX "sites"."sitesub_part_or_all_of_frgn"`); - await queryRunner.query(`DROP INDEX "sites"."site_subdivisions_pkey"`); - await queryRunner.query(`DROP INDEX "sites"."sitesub_for_profile"`); - await queryRunner.query(`DROP INDEX "sites"."sitesub_comprised_of_frgn"`); - await queryRunner.query(`DROP TABLE "sites"."site_subdivisions"`); - await queryRunner.query(`DROP INDEX "sites"."sa_rwm_flag"`); - await queryRunner.query(`DROP INDEX "sites"."sa_rwm_note_flag"`); - await queryRunner.query(`DROP INDEX "sites"."sa_adjacent_to_frgn"`); - await queryRunner.query(`DROP INDEX "sites"."site_assocs_pkey"`); - await queryRunner.query(`DROP INDEX "sites"."sa_associated_with_frgn"`); - await queryRunner.query(`DROP TABLE "sites"."site_assocs"`); - await queryRunner.query(`DROP INDEX "sites"."event_described_by_frgn"`); - await queryRunner.query(`DROP INDEX "sites"."events_pkey"`); - await queryRunner.query(`DROP INDEX "sites"."event_psnorg_frgn"`); - await queryRunner.query(`DROP INDEX "sites"."event_rwm_flag"`); - await queryRunner.query(`DROP INDEX "sites"."event_rwm_note_flag"`); - await queryRunner.query(`DROP INDEX "sites"."event_applicable_to_frgn"`); - await queryRunner.query(`DROP INDEX "sites"."event_responsibility_of_frgn"`); - await queryRunner.query(`DROP TABLE "sites"."events"`); - await queryRunner.query(`DROP INDEX "sites"."event_type_cd_pkey"`); - await queryRunner.query(`DROP INDEX "sites"."etyp_classified_by_frgn"`); - await queryRunner.query(`DROP INDEX "sites"."etyp_related_to_frgn"`); - await queryRunner.query(`DROP TABLE "sites"."event_type_cd"`); - await queryRunner.query(`DROP INDEX "sites"."site_status_cd_pkey"`); - await queryRunner.query(`DROP TABLE "sites"."site_status_cd"`); - await queryRunner.query(`DROP INDEX "sites"."event_class_cd_pkey"`); - await queryRunner.query(`DROP TABLE "sites"."event_class_cd"`); - await queryRunner.query(`DROP INDEX "sites"."event_partics_pkey"`); - await queryRunner.query(`DROP INDEX "sites"."ep_classified_by_frgn"`); - await queryRunner.query(`DROP INDEX "sites"."ep_playing_a_role_i_frgn"`); - await queryRunner.query(`DROP INDEX "sites"."ep_psnorg_frgn"`); - await queryRunner.query(`DROP INDEX "sites"."ep_rwm_flag"`); - await queryRunner.query(`DROP INDEX "sites"."ep_played_by_frgn"`); - await queryRunner.query(`DROP TABLE "sites"."event_partics"`); - await queryRunner.query(`DROP INDEX "sites"."psnorg_working_within_frgn"`); - await queryRunner.query(`DROP INDEX "sites"."people_orgs_pkey"`); - await queryRunner.query(`DROP TABLE "sites"."people_orgs"`); - await queryRunner.query(`DROP INDEX "sites"."site_crown_land_contaminated_pkey"`); - await queryRunner.query(`DROP TABLE "sites"."site_crown_land_contaminated"`); - await queryRunner.query(`DROP INDEX "sites"."site_crown_land_status_cd_pkey"`); - await queryRunner.query(`DROP TABLE "sites"."site_crown_land_status_cd"`); - await queryRunner.query(`DROP INDEX "sites"."site_contamination_class_xref_pkey"`); - await queryRunner.query(`DROP TABLE "sites"."site_contamination_class_xref"`); - await queryRunner.query(`DROP INDEX "sites"."contamination_class_cd_pkey"`); - await queryRunner.query(`DROP TABLE "sites"."contamination_class_cd"`); - await queryRunner.query(`DROP INDEX "sites"."site_staffs_pkey"`); - await queryRunner.query(`DROP INDEX "sites"."site_staff_employed_as_frgn"`); - await queryRunner.query(`DROP INDEX "sites"."site_staffs_psnorg_id_start_date_key"`); - await queryRunner.query(`DROP TABLE "sites"."site_staffs"`); - await queryRunner.query(`DROP INDEX "sites"."sdp_classified_by_frgn"`); - await queryRunner.query(`DROP INDEX "sites"."site_doc_partics_sdoc_id_psnorg_id_dpr_code_key"`); - await queryRunner.query(`DROP INDEX "sites"."site_doc_partics_pkey"`); - await queryRunner.query(`DROP INDEX "sites"."sdp_psnorg_frgn"`); - await queryRunner.query(`DROP INDEX "sites"."sdp_rwm_flag"`); - await queryRunner.query(`DROP INDEX "sites"."sdp_playing_a_role_i_frgn"`); - await queryRunner.query(`DROP INDEX "sites"."sdp_played_by_frgn"`); - await queryRunner.query(`DROP TABLE "sites"."site_doc_partics"`); - await queryRunner.query(`DROP INDEX "sites"."site_partics_pkey"`); - await queryRunner.query(`DROP INDEX "sites"."sp_identified_by_frgn"`); - await queryRunner.query(`DROP INDEX "sites"."sp_rwm_flag"`); - await queryRunner.query(`DROP INDEX "sites"."sp_identified_by2_frgn"`); - await queryRunner.query(`DROP TABLE "sites"."site_partics"`); - await queryRunner.query(`DROP INDEX "sites"."spown_sprof_fk_i"`); - await queryRunner.query(`DROP INDEX "sites"."site_profile_owners_pkey"`); - await queryRunner.query(`DROP INDEX "sites"."spown_sp_fk_i"`); - await queryRunner.query(`DROP TABLE "sites"."site_profile_owners"`); - await queryRunner.query(`DROP INDEX "sites"."spr_classified_by_frgn"`); - await queryRunner.query(`DROP INDEX "sites"."site_partic_roles_pkey"`); - await queryRunner.query(`DROP INDEX "sites"."spr_rwm_flag"`); - await queryRunner.query(`DROP INDEX "sites"."spr_classifying_frgn"`); - await queryRunner.query(`DROP TABLE "sites"."site_partic_roles"`); - await queryRunner.query(`DROP INDEX "sites"."partic_role_cd_pkey"`); - await queryRunner.query(`DROP TABLE "sites"."partic_role_cd"`); - await queryRunner.query(`DROP INDEX "sites"."site_docs_pkey"`); - await queryRunner.query(`DROP INDEX "sites"."sdoc_rwm_flag"`); - await queryRunner.query(`DROP INDEX "sites"."sdoc_about_frgn"`); - await queryRunner.query(`DROP TABLE "sites"."site_docs"`); - await queryRunner.query(`DROP INDEX "sites"."doc_partic_role_cd_pkey"`); - await queryRunner.query(`DROP TABLE "sites"."doc_partic_role_cd"`); - await queryRunner.query(`DROP INDEX "sites"."sis_addresses_pkey"`); - await queryRunner.query(`DROP INDEX "sites"."addr_a_location_for_frgn"`); - await queryRunner.query(`DROP TABLE "sites"."sis_addresses"`); - await queryRunner.query(`DROP INDEX "sites"."mailout_bcer_code"`); - await queryRunner.query(`DROP INDEX "sites"."mailout_pkey"`); - await queryRunner.query(`DROP TABLE "sites"."mailout"`); - await queryRunner.query(`DROP INDEX "sites"."bce_region_cd_pkey"`); - await queryRunner.query(`DROP TABLE "sites"."bce_region_cd"`); - await queryRunner.query(`DROP INDEX "sites"."cr_associated_region"`); - await queryRunner.query(`DROP INDEX "sites"."city_regions_pkey"`); - await queryRunner.query(`DROP TABLE "sites"."city_regions"`); - await queryRunner.query(`DROP INDEX "sites"."event_partic_role_cd_pkey"`); - await queryRunner.query(`DROP TABLE "sites"."event_partic_role_cd"`); - await queryRunner.query(`DROP INDEX "sites"."ctext_applied_to"`); - await queryRunner.query(`DROP INDEX "sites"."ctext_rwm_flag"`); - await queryRunner.query(`DROP TABLE "sites"."conditions_text"`); - await queryRunner.query(`DROP INDEX "sites"."profile_answers_pkey"`); - await queryRunner.query(`DROP INDEX "sites"."profans_sprof"`); - await queryRunner.query(`DROP TABLE "sites"."profile_answers"`); - await queryRunner.query(`DROP INDEX "sites"."profque_cat_seq"`); - await queryRunner.query(`DROP INDEX "sites"."profque_category_id"`); - await queryRunner.query(`DROP INDEX "sites"."profile_questions_pkey"`); - await queryRunner.query(`DROP INDEX "sites"."profque_parent_id"`); - await queryRunner.query(`DROP TABLE "sites"."profile_questions"`); - await queryRunner.query(`DROP INDEX "sites"."profile_categories_pkey"`); - await queryRunner.query(`DROP INDEX "sites"."profcat_id_seq"`); - await queryRunner.query(`DROP TABLE "sites"."profile_categories"`); - } - -} diff --git a/backend/sites/src/migrations/1715628483959-master-script.ts b/backend/sites/src/migrations/1715628483959-master-script.ts deleted file mode 100644 index a747cb3e..00000000 --- a/backend/sites/src/migrations/1715628483959-master-script.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { MigrationInterface, QueryRunner } from "typeorm"; - -export class MasterScript1715628483959 implements MigrationInterface { - name = 'MasterScript1715628483959' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "sites"."site_crown_land_contaminated" ALTER COLUMN "estimated_cost_of_remediations" TYPE double precision`); - await queryRunner.query(`ALTER TABLE "sites"."site_crown_land_contaminated" ALTER COLUMN "actual_cost_of_remediations" TYPE double precision`); - await queryRunner.query(`ALTER TABLE "sites"."sites" ALTER COLUMN "latdeg" TYPE double precision`); - await queryRunner.query(`ALTER TABLE "sites"."sites" ALTER COLUMN "longdeg" TYPE double precision`); - await queryRunner.query(`ALTER TABLE "sites"."sites" ALTER COLUMN "geometry" TYPE geometry`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "sites"."sites" ALTER COLUMN "geometry" TYPE geometry(GEOMETRY,0)`); - await queryRunner.query(`ALTER TABLE "sites"."sites" ALTER COLUMN "longdeg" TYPE double precision`); - await queryRunner.query(`ALTER TABLE "sites"."sites" ALTER COLUMN "latdeg" TYPE double precision`); - await queryRunner.query(`ALTER TABLE "sites"."site_crown_land_contaminated" ALTER COLUMN "actual_cost_of_remediations" TYPE double precision`); - await queryRunner.query(`ALTER TABLE "sites"."site_crown_land_contaminated" ALTER COLUMN "estimated_cost_of_remediations" TYPE double precision`); - } - -} diff --git a/backend/sites/start.sh b/backend/sites/start.sh deleted file mode 100644 index 39b01ca1..00000000 --- a/backend/sites/start.sh +++ /dev/null @@ -1,11 +0,0 @@ -# create DB dependencies - database, schema -#sh initDB.sh - -# run type orm migrations -#npm run typeorm:run-migrations - -# Creates a "dist" folder with the production build -#npm run build - -# start the API -npm run start:prod \ No newline at end of file diff --git a/backend/sites/test/app.e2e-spec.ts b/backend/sites/test/app.e2e-spec.ts deleted file mode 100644 index 8c6434f6..00000000 --- a/backend/sites/test/app.e2e-spec.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { Test, TestingModule } from '@nestjs/testing'; -import { INestApplication } from '@nestjs/common'; -import * as request from 'supertest'; -import { AppModule } from './../src/app.module'; - -describe('AppController (e2e)', () => { - let app: INestApplication; - - beforeEach(async () => { - const moduleFixture: TestingModule = await Test.createTestingModule({ - imports: [AppModule], - }).compile(); - - app = moduleFixture.createNestApplication(); - await app.init(); - }); - - it('/ (GET)', () => { - return request(app.getHttpServer()) - .get('/') - .expect(200) - .expect('Hello World!'); - }); -}); diff --git a/backend/sites/test/jest-e2e.json b/backend/sites/test/jest-e2e.json deleted file mode 100644 index bb66802c..00000000 --- a/backend/sites/test/jest-e2e.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "moduleFileExtensions": ["js", "json", "ts"], - "rootDir": ".", - "testEnvironment": "node", - "testRegex": ".e2e-spec.ts$", - "transform": { - "^.+\\.(t|j)s$": "ts-jest" - } -} diff --git a/backend/sites/tsconfig.build.json b/backend/sites/tsconfig.build.json deleted file mode 100644 index 1d7acd89..00000000 --- a/backend/sites/tsconfig.build.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "./tsconfig.json", - "exclude": ["node_modules", "test", "dist", "**/*spec.ts"] -} diff --git a/backend/sites/tsconfig.json b/backend/sites/tsconfig.json deleted file mode 100644 index 960b9f2c..00000000 --- a/backend/sites/tsconfig.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "declaration": true, - "removeComments": true, - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - "allowSyntheticDefaultImports": true, - "target": "es2017", - "sourceMap": true, - "outDir": "./dist", - "baseUrl": "./", - "incremental": true, - "skipLibCheck": true, - "strictNullChecks": false, - "noImplicitAny": false, - "strictBindCallApply": false, - "forceConsistentCasingInFileNames": false, - "noFallthroughCasesInSwitch": false - } -} \ No newline at end of file diff --git a/backend/sites/typeOrm.config.ts b/backend/sites/typeOrm.config.ts deleted file mode 100644 index de087e8f..00000000 --- a/backend/sites/typeOrm.config.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { DataSource } from 'typeorm'; - -// eslint-disable-next-line @typescript-eslint/no-var-requires -require('dotenv').config(); - -export default new DataSource({ - type: 'postgres', - host: process.env.POSTGRESQL_HOST, - port: parseInt(process.env.POSTGRESQL_PORT) || 5432, - username: process.env.POSTGRES_DB_USERNAME, - password: process.env.POSTGRES_DB_PASSWORD, - database: process.env.POSTGRES_DATABASE, - schema: process.env.POSTGRES_DB_SCHEMA, - synchronize: false, - logging: true, - entities: ['src/app/entities/**/*.{js,ts}'], - migrations: ['src/migrations/**/*.ts'], -}); diff --git a/etl/ReadMe.md b/etl/ReadMe.md deleted file mode 100644 index ce313ebb..00000000 --- a/etl/ReadMe.md +++ /dev/null @@ -1,124 +0,0 @@ -# Setup environment using docker - -``` -cd ~\nr-epd-digital-services\backend\etl -cp sample.env .env -docker-compose build -docker-compose up -d -``` -Above step will create a PostGis server with test data, Kafka and Debezium connectors required. - -If you don't have a target Oracle database, you can create it using Docker with the below commands. - -``` -docker run -dt --name oracle21c \ ---hostname dockerdb \ --p 172.18.215.225:1532:1532 -p 172.18.215.225:1521:1521 -p 172.18.215.225:5500:5500 \ --e ORACLE_PWD=Admin123 \ --v /home/ubuntu/oradata/dbconfig:/opt/oracle/oradata/dbconfig \ -container-registry.oracle.com/database/express:latest -``` - -Note that the IP address 172.18.215.225 in this command is the local eth0 ip address on the host machine. When the oracle db is up, execute the below commands from the docker's terminal to create SSL wallet using orapki. - -``` -orapki wallet create -wallet /opt/oracle/wallet -pwd Admin123 -auto_login_local -orapki wallet add -wallet /opt/oracle/wallet -pwd Admin123 -dn "CN=172.18.215.225.nip.io" -keysize 1024 -self_signed -validity 3650 -orapki wallet display -wallet /opt/oracle/wallet -pwd Admin123 -orapki wallet export -wallet /opt/oracle/wallet -pwd Admin123 -dn "CN=172.18.215.225.nip.io" -cert /tmp/dockerdb-certificate.crt -``` - -Restart oracle docker for the changes to take effect. Once the database listener is up, you can access the database using the hostname on SSL port using JDBC as shown below: - -``` -jdbc:oracle:thin:@(description=(address=(protocol=tcps)(host=172.18.215.225.nip.io)(port=1532))(connect_data=(service_name=XEPDB1))) -``` - - -# Create sample data in postgresql using init.sql - -# OpenShift Build and Deploy process - -## 1. Build custom postgis - -``` - oc process -f debezium-postgis.build.yaml |oc apply -f - -``` - -## 2. Build kafka jdbc connect component - -``` - oc process -f debezium-jdbc.build.yaml --param-file=.env |oc apply -f - -``` - -## 3. Build kafka broker. -``` - oc process -f debezium-kafka.build.yaml |oc apply -f - -``` - -## 4. Deploy postgis (switch to correct project for env before this step) -``` - oc process -f debezium-postgis.deploy.yaml |oc apply -f - -``` -## 5. Deploy zookeeper -``` - oc process -f debezium-zookeeper.deploy.yaml |oc apply -f - -``` -## 6. Deploy kafka -``` - oc process -f debezium-kafka.deploy.yaml |oc apply -f - -``` -## 7. Deploy kafka-jdbc connect. -``` - oc process -f debezium-jdbc.deploy.yaml |oc apply -f - -``` - -# Register postgresql connector -``` -curl -u : -H "Content-Type: application/json" -d @register-postgres-source-connector.json http://localhost:8083/connectors/ - -curl -u : -H "Content-Type: application/json" -d @register-postgres-source-connector.json https://debezium-jdbc-dev.apps.silver.devops.gov.bc.ca/connectors/ - - - -``` - -# Register Oracle jdbc sink connector - -``` -curl -u : -H "Content-Type: application/json" -d @register-oracle-jdbc-sink-connector.json http://localhost:8083/connectors/ - -curl -u : -H "Content-Type: application/json" -d @register-oracle-jdbc-sink-connector.json https://debezium-jdbc-dev.apps.silver.devops.gov.bc.ca/connectors/ - - -``` - -# Test with a kafka console consumer. -``` -docker-compose -f docker-compose.yaml exec kafka /kafka/bin/kafka-console-consumer.sh \ - --bootstrap-server kafka:9092 \ - --from-beginning \ - --property print.key=true \ - --topic dbserver1.public.sites -``` - - -# Delete connectors -``` -curl -u : -X DELETE localhost:8083/connectors/ - -curl -u : -X DELETE localhost:8083/connectors/oracle-jdbc-sink-connector -curl -u : -X DELETE localhost:8083/connectors/postgres-source-connector - -curl -u : -X DELETE https://debezium-jdbc-dev.apps.silver.devops.gov.bc.ca/connectors/oracle-jdbc-sink-connector -curl -u : -X DELETE https://debezium-jdbc-dev.apps.silver.devops.gov.bc.ca/connectors/postgres-source-connector - -``` - -# Get all connectors registered. -``` -curl -u : localhost:8083/connectors/ -curl -u : https://debezium-jdbc-dev.apps.silver.devops.gov.bc.ca/connectors -``` - - diff --git a/etl/debezium-jdbc/.classpath b/etl/debezium-jdbc/.classpath deleted file mode 100644 index fc43a693..00000000 --- a/etl/debezium-jdbc/.classpath +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/etl/debezium-jdbc/.project b/etl/debezium-jdbc/.project deleted file mode 100644 index 6db1196a..00000000 --- a/etl/debezium-jdbc/.project +++ /dev/null @@ -1,34 +0,0 @@ - - - kafka-connect-debezium-transforms - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.m2e.core.maven2Builder - - - - - - org.eclipse.jdt.core.javanature - org.eclipse.m2e.core.maven2Nature - - - - 1683217195739 - - 30 - - org.eclipse.core.resources.regexFilterMatcher - node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__ - - - - diff --git a/etl/debezium-jdbc/.settings/org.eclipse.core.resources.prefs b/etl/debezium-jdbc/.settings/org.eclipse.core.resources.prefs deleted file mode 100644 index 654c1750..00000000 --- a/etl/debezium-jdbc/.settings/org.eclipse.core.resources.prefs +++ /dev/null @@ -1,3 +0,0 @@ -eclipse.preferences.version=1 -encoding//src/main/java=UTF-8 -encoding/=UTF-8 diff --git a/etl/debezium-jdbc/.settings/org.eclipse.jdt.apt.core.prefs b/etl/debezium-jdbc/.settings/org.eclipse.jdt.apt.core.prefs deleted file mode 100644 index ec0c557e..00000000 --- a/etl/debezium-jdbc/.settings/org.eclipse.jdt.apt.core.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.apt.aptEnabled=false diff --git a/etl/debezium-jdbc/.settings/org.eclipse.jdt.core.prefs b/etl/debezium-jdbc/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 3a7f4f94..00000000 --- a/etl/debezium-jdbc/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,9 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 -org.eclipse.jdt.core.compiler.compliance=1.8 -org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled -org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning -org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore -org.eclipse.jdt.core.compiler.processAnnotations=disabled -org.eclipse.jdt.core.compiler.release=disabled -org.eclipse.jdt.core.compiler.source=1.8 diff --git a/etl/debezium-jdbc/.settings/org.eclipse.m2e.core.prefs b/etl/debezium-jdbc/.settings/org.eclipse.m2e.core.prefs deleted file mode 100644 index 14b697b7..00000000 --- a/etl/debezium-jdbc/.settings/org.eclipse.m2e.core.prefs +++ /dev/null @@ -1,4 +0,0 @@ -activeProfiles= -eclipse.preferences.version=1 -resolveWorkspaceProjects=true -version=1 diff --git a/etl/debezium-jdbc/Dockerfile b/etl/debezium-jdbc/Dockerfile deleted file mode 100644 index d791fa00..00000000 --- a/etl/debezium-jdbc/Dockerfile +++ /dev/null @@ -1,51 +0,0 @@ -ARG DEBEZIUM_VERSION - -FROM maven:3.8.6-jdk-11 AS builder -WORKDIR /app/ -COPY ./ ./ -RUN mvn clean install - -RUN echo "DEBEZIUM_VERSION is " ${DEBEZIUM_VERSION} - -FROM debezium/connect:2.5 - -ARG ORACLE_JDBC_VERSION -ARG ORACLE_JDBC_MD5 -ARG KAFKA_JDBC_VERSION -ARG ORACLE_DB_HOST -ARG ORACLE_DB_PORT - -# Fetch and deploy Oracle JDBC driver -# These should point to the driver version to be used -ENV MAVEN_DEP_DESTINATION=$KAFKA_HOME/libs \ - ORACLE_JDBC_REPO="com/oracle/database/jdbc" \ - ORACLE_JDBC_GROUP="ojdbc8" - -RUN docker-maven-download central "$ORACLE_JDBC_REPO" "$ORACLE_JDBC_GROUP" "$ORACLE_JDBC_VERSION" "$ORACLE_JDBC_MD5" - -# Fetch and deploy Kafka Connect JDBC -ENV KAFKA_CONNECT_JDBC_DIR=$KAFKA_CONNECT_PLUGINS_DIR/kafka-connect-jdbc -ENV KAFKA_OPTS="-Djava.security.auth.login.config=/kafka/config/connect_jaas.conf" -RUN mkdir $KAFKA_CONNECT_JDBC_DIR - -#RUN cd $KAFKA_CONNECT_JDBC_DIR && \ - #curl -sO https://packages.confluent.io/maven/io/confluent/kafka-connect-jdbc/$KAFKA_JDBC_VERSION/kafka-connect-jdbc-$KAFKA_JDBC_VERSION.jar - -COPY --from=builder /app/target/*.jar $KAFKA_CONNECT_JDBC_DIR/ -COPY --from=builder /app/lib/*.jar $KAFKA_CONNECT_JDBC_DIR/ -COPY InstallCert.class . -COPY "InstallCert\$SavingTrustManager.class" . -COPY connect-log4j.properties /kafka/config/ -COPY log4j.properties /kafka/config/ -COPY connect_jaas.conf /kafka/config/ -COPY connect.password /kafka/config/ -#COPY connect-distributed.properties /kafka/config/ - -RUN java InstallCert --quiet "${ORACLE_DB_HOST}:${ORACLE_DB_PORT}" -RUN keytool -exportcert -alias "$ORACLE_DB_HOST-1" -keystore jssecacerts -storepass changeit -file oracle.cer - -USER root - -RUN keytool -importcert -alias orakey -noprompt -keystore /etc/pki/java/cacerts -storepass changeit -file oracle.cer - -USER kafka diff --git a/etl/debezium-jdbc/InstallCert$SavingTrustManager.class b/etl/debezium-jdbc/InstallCert$SavingTrustManager.class deleted file mode 100644 index 8a0d0fa4507ed32d0e38d4dbe21da30e02b32764..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1289 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 Rcur0(^T}IWSB>kL{|8W!8@B)e diff --git a/etl/debezium-jdbc/connect-log4j.properties b/etl/debezium-jdbc/connect-log4j.properties deleted file mode 100644 index f17e2bb2..00000000 --- a/etl/debezium-jdbc/connect-log4j.properties +++ /dev/null @@ -1,42 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -log4j.rootLogger=ERROR, stdout, connectAppender - -# Send the logs to the console. -# -log4j.appender.stdout=org.apache.log4j.ConsoleAppender -log4j.appender.stdout.layout=org.apache.log4j.PatternLayout - -# Send the logs to a file, rolling the file at midnight local time. For example, the `File` option specifies the -# location of the log files (e.g. ${kafka.logs.dir}/connect.log), and at midnight local time the file is closed -# and copied in the same directory but with a filename that ends in the `DatePattern` option. -# -log4j.appender.connectAppender=org.apache.log4j.DailyRollingFileAppender -log4j.appender.connectAppender.DatePattern='.'yyyy-MM-dd-HH -log4j.appender.connectAppender.File=${kafka.logs.dir}/connect.log -log4j.appender.connectAppender.layout=org.apache.log4j.PatternLayout - -# The `%X{connector.context}` parameter in the layout includes connector-specific and task-specific information -# in the log messages, where appropriate. This makes it easier to identify those log messages that apply to a -# specific connector. -# -connect.log.pattern=[%d] %p %X{connector.context}%m (%c:%L)%n - -log4j.appender.stdout.layout.ConversionPattern=${connect.log.pattern} -log4j.appender.connectAppender.layout.ConversionPattern=${connect.log.pattern} - -log4j.logger.org.apache.zookeeper=ERROR -log4j.logger.org.reflections=ERROR diff --git a/etl/debezium-jdbc/connect.password b/etl/debezium-jdbc/connect.password deleted file mode 100644 index 1fcaba53..00000000 --- a/etl/debezium-jdbc/connect.password +++ /dev/null @@ -1 +0,0 @@ -admin: changeme \ No newline at end of file diff --git a/etl/debezium-jdbc/connect_jaas.conf b/etl/debezium-jdbc/connect_jaas.conf deleted file mode 100644 index 08442fb8..00000000 --- a/etl/debezium-jdbc/connect_jaas.conf +++ /dev/null @@ -1,5 +0,0 @@ -KafkaConnect { - org.apache.kafka.connect.rest.basic.auth.extension.PropertyFileLoginModule required - debug="true" - file="/kafka/config/connect.password"; -}; \ No newline at end of file diff --git a/etl/debezium-jdbc/dependency-reduced-pom.xml b/etl/debezium-jdbc/dependency-reduced-pom.xml deleted file mode 100644 index a48f2ece..00000000 --- a/etl/debezium-jdbc/dependency-reduced-pom.xml +++ /dev/null @@ -1,129 +0,0 @@ - - - 4.0.0 - ca.bc.gov.nr-epd - kafka-connect-debezium-transforms - kafka-connect-debezium-transforms - 1.0-SNAPSHOT - - - - - maven-clean-plugin - 3.1.0 - - - maven-resources-plugin - 3.0.2 - - - maven-shade-plugin - 3.2.4 - - - maven-compiler-plugin - 3.8.0 - - - maven-surefire-plugin - 2.22.1 - - - maven-jar-plugin - 3.0.2 - - - maven-install-plugin - 2.5.2 - - - - - - maven-compiler-plugin - - 8 - 8 - - - - maven-shade-plugin - - - package - - shade - - - - - *:* - - META-INF/*.SF - META-INF/*.DSA - META-INF/*.RSA - - - - - - - - - - - - org.apache.kafka - connect-transforms - 3.2.1 - provided - - - com.oracle.database.jdbc - ojdbc8 - 19.10.0.0 - provided - - - io.confluent - kafka-connect-jdbc - 5.3.1 - provided - - - org.locationtech.jts - jts-io-ora - 1.19.0 - system - ${basedir}/lib/jts-io-ora-1.19.0.jar - - - oracle - sdoapi - 11.2.0 - system - ${basedir}/lib/sdoapi-11.2.0.jar - - - oracle - sdoutl - 11.2.0 - system - ${basedir}/lib/sdoutl-11.2.0.jar - - - - - - org.locationtech.jts - jts-io - 1.19.0 - pom - import - - - - - UTF-8 - - diff --git a/etl/debezium-jdbc/lib/jts-core-1.19.0.jar b/etl/debezium-jdbc/lib/jts-core-1.19.0.jar deleted file mode 100644 index f465913d52a0f80a17263f4c19378ba3ef6c07a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1103721 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

w{zOiaCkcYyQ!U?6H#NVr-aYC)lm%+890V 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%0DPop6)-=266zZE6i&)Px{^ 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

} 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