From 5ac482c36a64936c5c2513ba6c0625c9df5c0a2c Mon Sep 17 00:00:00 2001 From: Mauricio Munoz Date: Mon, 8 Apr 2024 18:31:29 -0700 Subject: [PATCH] Revert "Merge pull request #71 from Mau-MD/code_review" This reverts commit 8f534aa0952b232b41042c64f1d624d67ec9738c, reversing changes made to 79d3eb5a3b9b01157afbb4c77fb6b5f00be8a261. --- backend/app.ts | 14 +- backend/package.json | 1 - backend/pnpm-lock.yaml | 6198 ++++++----------- backend/src/course/clone.ts | 79 - backend/src/course/course.ts | 287 - backend/src/course/featured.ts | 165 - backend/src/course/likes.ts | 28 - backend/src/feedback/feedback.ts | 114 - backend/src/following/following.ts | 120 - backend/src/following/status.ts | 58 - backend/src/middleware/getAuthUser.ts | 24 - backend/src/post/post.ts | 80 - backend/src/rating/ranking.ts | 47 +- backend/src/rating/youtube.ts | 43 +- backend/src/resources/resources.ts | 108 - backend/src/routes/auth.ts | 2 +- backend/src/routes/course.ts | 211 - backend/src/routes/debug.ts | 50 +- backend/src/routes/follow.ts | 103 - backend/src/routes/post.ts | 84 - backend/src/routes/resources.ts | 67 - backend/src/routes/suggestions.ts | 22 - backend/src/routes/user.ts | 21 - backend/src/suggestions/suggestions.ts | 119 - backend/src/types/course.d.ts | 6 - backend/src/types/enums.ts | 10 - backend/src/types/global.d.ts | 6 - backend/src/types/image.d.ts | 7 - backend/src/types/resource.d.ts | 18 - backend/src/types/user.d.ts | 9 +- backend/src/types/youtube.d.ts | 14 +- backend/src/unsplash/unsplash.ts | 24 - backend/src/user/user.ts | 26 - backend/src/utils/emojiPicker.ts | 5 - backend/src/utils/infiniteQuery.ts | 30 - backend/src/utils/parseToJason.ts | 9 - backend/src/utils/similarity.ts | 110 - backend/tests/similarity.test.ts | 53 - backend/tsconfig.json | 1 - frontend/cypress.config.ts | 1 - frontend/cypress/e2e/auth.cy.ts | 14 - frontend/cypress/e2e/course.cy.ts | 26 - frontend/cypress/e2e/feed.cy.ts | 39 - frontend/cypress/support/commands.ts | 30 +- frontend/cypress/support/index.ts | 13 - frontend/cypress/tsconfig.json | 8 - frontend/package.json | 4 - frontend/pnpm-lock.yaml | 600 +- frontend/src/App.tsx | 57 +- frontend/src/assets/nodata.svg | 1 - .../CourseFromScratchIndex.tsx | 271 - .../CourseFromScratch/YoutubeVideoIframe.tsx | 19 - .../src/components/Dashboard/CourseCard.tsx | 290 - .../components/Dashboard/DashboardIndex.tsx | 174 - frontend/src/components/Dashboard/NoData.tsx | 23 - .../components/DeleteCourse/DeleteCourse.tsx | 176 - .../DeleteCourse/VideoCardPreview.tsx | 56 - .../components/Difficulty/DifficultyCard.tsx | 44 +- .../components/Difficulty/DifficultyIndex.tsx | 115 +- .../src/components/Featured/FeaturedIndex.tsx | 190 - .../components/Featured/MakeFeaturedModal.tsx | 94 - frontend/src/components/Feed/CloneModal.tsx | 162 - frontend/src/components/Feed/FeedCard.tsx | 107 - frontend/src/components/Feed/FeedIndex.tsx | 138 - frontend/src/components/Feed/NewPostForm.tsx | 196 - .../src/components/Following/FollowForm.tsx | 101 - .../components/Following/FollowingCard.tsx | 100 - .../components/Following/FollowingIndex.tsx | 160 - .../components/Following/FollowingLayout.tsx | 17 - .../components/Following/SetStatusForm.tsx | 95 - .../GuidedPopover/GuidedPopover.tsx | 63 - frontend/src/components/Hub/Banner.tsx | 5 +- frontend/src/components/Hub/HubIndex.tsx | 83 +- frontend/src/components/Hub/ResourceGroup.tsx | 111 +- frontend/src/components/Hub/VideoCard.tsx | 141 +- .../src/components/Layouts/CourseLayout.tsx | 36 +- .../src/components/Loading/LoadingCard.tsx | 13 - frontend/src/components/Navbar.tsx | 39 +- .../src/components/NewCourse/CourseCode.tsx | 116 - .../components/NewCourse/NewCourseIndex.tsx | 213 +- frontend/src/components/Popover/Popover.tsx | 78 - .../src/components/Popover/PopoverPortal.tsx | 11 - frontend/src/components/Popover/Tooltip.tsx | 58 - .../src/components/Profile/ProfileIndex.tsx | 110 - .../components/Registration/LoginIndex.tsx | 21 +- .../components/Registration/RegisterIndex.tsx | 17 +- frontend/src/components/Share/Share.tsx | 46 - frontend/src/hooks/useThemeColor.ts | 3 +- frontend/src/hooks/useTour.ts | 75 - frontend/src/types/course.d.ts | 10 - frontend/src/types/enums.ts | 10 - frontend/src/types/following.d.ts | 7 - frontend/src/types/image.d.ts | 7 - frontend/src/types/post.d.ts | 9 - frontend/src/types/resource.d.ts | 16 - frontend/src/types/youtube.d.ts | 21 - frontend/src/utils/auth.ts | 12 +- frontend/src/utils/courseCompletition.ts | 14 - frontend/src/utils/debounce.ts | 8 - frontend/src/utils/truncate.ts | 6 - frontend/tsconfig.json | 1 - 101 files changed, 2139 insertions(+), 10915 deletions(-) delete mode 100644 backend/src/course/clone.ts delete mode 100644 backend/src/course/course.ts delete mode 100644 backend/src/course/featured.ts delete mode 100644 backend/src/course/likes.ts delete mode 100644 backend/src/feedback/feedback.ts delete mode 100644 backend/src/following/following.ts delete mode 100644 backend/src/following/status.ts delete mode 100644 backend/src/middleware/getAuthUser.ts delete mode 100644 backend/src/post/post.ts delete mode 100644 backend/src/resources/resources.ts delete mode 100644 backend/src/routes/course.ts delete mode 100644 backend/src/routes/follow.ts delete mode 100644 backend/src/routes/post.ts delete mode 100644 backend/src/routes/resources.ts delete mode 100644 backend/src/routes/suggestions.ts delete mode 100644 backend/src/routes/user.ts delete mode 100644 backend/src/suggestions/suggestions.ts delete mode 100644 backend/src/types/course.d.ts delete mode 100644 backend/src/types/enums.ts delete mode 100644 backend/src/types/image.d.ts delete mode 100644 backend/src/types/resource.d.ts delete mode 100644 backend/src/unsplash/unsplash.ts delete mode 100644 backend/src/user/user.ts delete mode 100644 backend/src/utils/emojiPicker.ts delete mode 100644 backend/src/utils/infiniteQuery.ts delete mode 100644 backend/src/utils/parseToJason.ts delete mode 100644 backend/src/utils/similarity.ts delete mode 100644 backend/tests/similarity.test.ts delete mode 100644 frontend/cypress/e2e/auth.cy.ts delete mode 100644 frontend/cypress/e2e/course.cy.ts delete mode 100644 frontend/cypress/e2e/feed.cy.ts delete mode 100644 frontend/cypress/support/index.ts delete mode 100644 frontend/cypress/tsconfig.json delete mode 100644 frontend/src/assets/nodata.svg delete mode 100644 frontend/src/components/CourseFromScratch/CourseFromScratchIndex.tsx delete mode 100644 frontend/src/components/CourseFromScratch/YoutubeVideoIframe.tsx delete mode 100644 frontend/src/components/Dashboard/CourseCard.tsx delete mode 100644 frontend/src/components/Dashboard/DashboardIndex.tsx delete mode 100644 frontend/src/components/Dashboard/NoData.tsx delete mode 100644 frontend/src/components/DeleteCourse/DeleteCourse.tsx delete mode 100644 frontend/src/components/DeleteCourse/VideoCardPreview.tsx delete mode 100644 frontend/src/components/Featured/FeaturedIndex.tsx delete mode 100644 frontend/src/components/Featured/MakeFeaturedModal.tsx delete mode 100644 frontend/src/components/Feed/CloneModal.tsx delete mode 100644 frontend/src/components/Feed/FeedCard.tsx delete mode 100644 frontend/src/components/Feed/FeedIndex.tsx delete mode 100644 frontend/src/components/Feed/NewPostForm.tsx delete mode 100644 frontend/src/components/Following/FollowForm.tsx delete mode 100644 frontend/src/components/Following/FollowingCard.tsx delete mode 100644 frontend/src/components/Following/FollowingIndex.tsx delete mode 100644 frontend/src/components/Following/FollowingLayout.tsx delete mode 100644 frontend/src/components/Following/SetStatusForm.tsx delete mode 100644 frontend/src/components/GuidedPopover/GuidedPopover.tsx delete mode 100644 frontend/src/components/Loading/LoadingCard.tsx delete mode 100644 frontend/src/components/NewCourse/CourseCode.tsx delete mode 100644 frontend/src/components/Popover/Popover.tsx delete mode 100644 frontend/src/components/Popover/PopoverPortal.tsx delete mode 100644 frontend/src/components/Popover/Tooltip.tsx delete mode 100644 frontend/src/components/Profile/ProfileIndex.tsx delete mode 100644 frontend/src/components/Share/Share.tsx delete mode 100644 frontend/src/hooks/useTour.ts delete mode 100644 frontend/src/types/course.d.ts delete mode 100644 frontend/src/types/enums.ts delete mode 100644 frontend/src/types/following.d.ts delete mode 100644 frontend/src/types/image.d.ts delete mode 100644 frontend/src/types/post.d.ts delete mode 100644 frontend/src/types/resource.d.ts delete mode 100644 frontend/src/types/youtube.d.ts delete mode 100644 frontend/src/utils/courseCompletition.ts delete mode 100644 frontend/src/utils/debounce.ts delete mode 100644 frontend/src/utils/truncate.ts diff --git a/backend/app.ts b/backend/app.ts index 238869b..6cee3c3 100644 --- a/backend/app.ts +++ b/backend/app.ts @@ -3,15 +3,9 @@ import dotenv from "dotenv"; import Parse from "parse/node"; import auth from "./src/routes/auth"; +import cors from "cors"; import { NotFoundError } from "./src/utils/errors"; import debug from "./src/routes/debug"; -import cors from "cors"; -import course from "./src/routes/course"; -import resources from "./src/routes/resources"; -import post from "./src/routes/post"; -import follow from "./src/routes/follow"; -import suggestions from "./src/routes/suggestions"; -import user from "./src/routes/user"; dotenv.config(); @@ -25,12 +19,6 @@ app.use(cors()); app.use("/auth", auth); app.use("/debug", debug); -app.use("/course", course); -app.use("/resources", resources); -app.use("/post", post); -app.use("/follow", follow); -app.use("/suggestions", suggestions); -app.use("/user", user); app.get("/", async (req, res) => { const testObject = new Parse.Object("test"); diff --git a/backend/package.json b/backend/package.json index 7f01bef..b0a35fe 100644 --- a/backend/package.json +++ b/backend/package.json @@ -13,7 +13,6 @@ "author": "", "license": "ISC", "dependencies": { - "axios": "^0.27.2", "cors": "^2.8.5", "date-fns": "^2.28.0", "dotenv": "^16.0.1", diff --git a/backend/pnpm-lock.yaml b/backend/pnpm-lock.yaml index ffd8b9c..c629e73 100644 --- a/backend/pnpm-lock.yaml +++ b/backend/pnpm-lock.yaml @@ -1,17 +1,16 @@ lockfileVersion: 5.4 specifiers: - "@babel/core": ^7.18.6 - "@babel/preset-env": ^7.18.6 - "@babel/preset-typescript": ^7.18.6 - "@types/express": ^4.17.13 - "@types/jest": ^28.1.3 - "@types/node": ^18.0.0 - "@types/nodemailer": ^6.4.4 - "@types/parse": ^2.18.16 - axios: ^0.27.2 - babel-cli: ^6.26.0 + '@babel/core': ^7.18.6 + '@babel/preset-env': ^7.18.6 + '@babel/preset-typescript': ^7.18.6 + '@types/express': ^4.17.13 + '@types/jest': ^28.1.3 + '@types/node': ^18.0.0 + '@types/nodemailer': ^6.4.4 + '@types/parse': ^2.18.16 cors: ^2.8.5 + babel-cli: ^6.26.0 date-fns: ^2.28.0 dotenv: ^16.0.1 express: ^4.18.1 @@ -25,7 +24,6 @@ specifiers: typescript: ^4.7.4 dependencies: - axios: 0.27.2 cors: 2.8.5 date-fns: 2.28.0 dotenv: 16.0.1 @@ -36,14 +34,14 @@ dependencies: ts-node: 10.8.1_qiyc72axg2v44xl4yovan2v55u devDependencies: - "@babel/core": 7.18.6 - "@babel/preset-env": 7.18.6_@babel+core@7.18.6 - "@babel/preset-typescript": 7.18.6_@babel+core@7.18.6 - "@types/express": 4.17.13 - "@types/jest": 28.1.3 - "@types/node": 18.0.0 - "@types/nodemailer": 6.4.4 - "@types/parse": 2.18.16 + '@babel/core': 7.18.6 + '@babel/preset-env': 7.18.6_@babel+core@7.18.6 + '@babel/preset-typescript': 7.18.6_@babel+core@7.18.6 + '@types/express': 4.17.13 + '@types/jest': 28.1.3 + '@types/node': 18.0.0 + '@types/nodemailer': 6.4.4 + '@types/parse': 2.18.16 babel-cli: 6.26.0 jest: 28.1.2_jbmz3vlfopghb5mdasddsdxfzq nodemon: 2.0.18 @@ -51,52 +49,41 @@ devDependencies: typescript: 4.7.4 packages: + /@ampproject/remapping/2.2.0: - resolution: - { - integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==, - } - engines: { node: ">=6.0.0" } + resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} + engines: {node: '>=6.0.0'} dependencies: - "@jridgewell/gen-mapping": 0.1.1 - "@jridgewell/trace-mapping": 0.3.14 + '@jridgewell/gen-mapping': 0.1.1 + '@jridgewell/trace-mapping': 0.3.14 dev: true /@babel/code-frame/7.18.6: - resolution: - { - integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} + engines: {node: '>=6.9.0'} dependencies: - "@babel/highlight": 7.18.6 + '@babel/highlight': 7.18.6 dev: true /@babel/compat-data/7.18.6: - resolution: - { - integrity: sha512-tzulrgDT0QD6U7BJ4TKVk2SDDg7wlP39P9yAx1RfLy7vP/7rsDRlWVfbWxElslu56+r7QOhB2NSDsabYYruoZQ==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-tzulrgDT0QD6U7BJ4TKVk2SDDg7wlP39P9yAx1RfLy7vP/7rsDRlWVfbWxElslu56+r7QOhB2NSDsabYYruoZQ==} + engines: {node: '>=6.9.0'} dev: true /@babel/core/7.18.6: - resolution: - { - integrity: sha512-cQbWBpxcbbs/IUredIPkHiAGULLV8iwgNRMFzvbhEXISp4f3rUUXE5+TIw6KwUWUR3DwyI6gmBRnmAtYaWehwQ==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@ampproject/remapping": 2.2.0 - "@babel/code-frame": 7.18.6 - "@babel/generator": 7.18.7 - "@babel/helper-compilation-targets": 7.18.6_@babel+core@7.18.6 - "@babel/helper-module-transforms": 7.18.6 - "@babel/helpers": 7.18.6 - "@babel/parser": 7.18.6 - "@babel/template": 7.18.6 - "@babel/traverse": 7.18.6 - "@babel/types": 7.18.7 + resolution: {integrity: sha512-cQbWBpxcbbs/IUredIPkHiAGULLV8iwgNRMFzvbhEXISp4f3rUUXE5+TIw6KwUWUR3DwyI6gmBRnmAtYaWehwQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.0 + '@babel/code-frame': 7.18.6 + '@babel/generator': 7.18.7 + '@babel/helper-compilation-targets': 7.18.6_@babel+core@7.18.6 + '@babel/helper-module-transforms': 7.18.6 + '@babel/helpers': 7.18.6 + '@babel/parser': 7.18.6 + '@babel/template': 7.18.6 + '@babel/traverse': 7.18.6 + '@babel/types': 7.18.7 convert-source-map: 1.8.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -107,102 +94,81 @@ packages: dev: true /@babel/generator/7.18.7: - resolution: - { - integrity: sha512-shck+7VLlY72a2w9c3zYWuE1pwOKEiQHV7GTUbSnhyl5eu3i04t30tBY82ZRWrDfo3gkakCFtevExnxbkf2a3A==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/types": 7.18.7 - "@jridgewell/gen-mapping": 0.3.2 + resolution: {integrity: sha512-shck+7VLlY72a2w9c3zYWuE1pwOKEiQHV7GTUbSnhyl5eu3i04t30tBY82ZRWrDfo3gkakCFtevExnxbkf2a3A==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.18.7 + '@jridgewell/gen-mapping': 0.3.2 jsesc: 2.5.2 dev: true /@babel/helper-annotate-as-pure/7.18.6: - resolution: - { - integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} + engines: {node: '>=6.9.0'} dependencies: - "@babel/types": 7.18.7 + '@babel/types': 7.18.7 dev: true /@babel/helper-builder-binary-assignment-operator-visitor/7.18.6: - resolution: - { - integrity: sha512-KT10c1oWEpmrIRYnthbzHgoOf6B+Xd6a5yhdbNtdhtG7aO1or5HViuf1TQR36xY/QprXA5nvxO6nAjhJ4y38jw==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-KT10c1oWEpmrIRYnthbzHgoOf6B+Xd6a5yhdbNtdhtG7aO1or5HViuf1TQR36xY/QprXA5nvxO6nAjhJ4y38jw==} + engines: {node: '>=6.9.0'} dependencies: - "@babel/helper-explode-assignable-expression": 7.18.6 - "@babel/types": 7.18.7 + '@babel/helper-explode-assignable-expression': 7.18.6 + '@babel/types': 7.18.7 dev: true /@babel/helper-compilation-targets/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-vFjbfhNCzqdeAtZflUFrG5YIFqGTqsctrtkZ1D/NB0mDW9TwW3GmmUepYY4G9wCET5rY5ugz4OGTcLd614IzQg==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-vFjbfhNCzqdeAtZflUFrG5YIFqGTqsctrtkZ1D/NB0mDW9TwW3GmmUepYY4G9wCET5rY5ugz4OGTcLd614IzQg==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0 + '@babel/core': ^7.0.0 dependencies: - "@babel/compat-data": 7.18.6 - "@babel/core": 7.18.6 - "@babel/helper-validator-option": 7.18.6 + '@babel/compat-data': 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-validator-option': 7.18.6 browserslist: 4.21.1 semver: 6.3.0 dev: true /@babel/helper-create-class-features-plugin/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-YfDzdnoxHGV8CzqHGyCbFvXg5QESPFkXlHtvdCkesLjjVMT2Adxe4FGUR5ChIb3DxSaXO12iIOCWoXdsUVwnqw==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-YfDzdnoxHGV8CzqHGyCbFvXg5QESPFkXlHtvdCkesLjjVMT2Adxe4FGUR5ChIb3DxSaXO12iIOCWoXdsUVwnqw==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0 - dependencies: - "@babel/core": 7.18.6 - "@babel/helper-annotate-as-pure": 7.18.6 - "@babel/helper-environment-visitor": 7.18.6 - "@babel/helper-function-name": 7.18.6 - "@babel/helper-member-expression-to-functions": 7.18.6 - "@babel/helper-optimise-call-expression": 7.18.6 - "@babel/helper-replace-supers": 7.18.6 - "@babel/helper-split-export-declaration": 7.18.6 + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-environment-visitor': 7.18.6 + '@babel/helper-function-name': 7.18.6 + '@babel/helper-member-expression-to-functions': 7.18.6 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/helper-replace-supers': 7.18.6 + '@babel/helper-split-export-declaration': 7.18.6 transitivePeerDependencies: - supports-color dev: true /@babel/helper-create-regexp-features-plugin/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0 + '@babel/core': ^7.0.0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-annotate-as-pure": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-annotate-as-pure': 7.18.6 regexpu-core: 5.1.0 dev: true /@babel/helper-define-polyfill-provider/0.3.1_@babel+core@7.18.6: - resolution: - { - integrity: sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==, - } + resolution: {integrity: sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==} peerDependencies: - "@babel/core": ^7.4.0-0 + '@babel/core': ^7.4.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-compilation-targets": 7.18.6_@babel+core@7.18.6 - "@babel/helper-module-imports": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 - "@babel/traverse": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-compilation-targets': 7.18.6_@babel+core@7.18.6 + '@babel/helper-module-imports': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/traverse': 7.18.6 debug: 4.3.4 lodash.debounce: 4.0.8 resolve: 1.22.1 @@ -212,1266 +178,999 @@ packages: dev: true /@babel/helper-environment-visitor/7.18.6: - resolution: - { - integrity: sha512-8n6gSfn2baOY+qlp+VSzsosjCVGFqWKmDF0cCWOybh52Dw3SEyoWR1KrhMJASjLwIEkkAufZ0xvr+SxLHSpy2Q==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-8n6gSfn2baOY+qlp+VSzsosjCVGFqWKmDF0cCWOybh52Dw3SEyoWR1KrhMJASjLwIEkkAufZ0xvr+SxLHSpy2Q==} + engines: {node: '>=6.9.0'} dev: true /@babel/helper-explode-assignable-expression/7.18.6: - resolution: - { - integrity: sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==} + engines: {node: '>=6.9.0'} dependencies: - "@babel/types": 7.18.7 + '@babel/types': 7.18.7 dev: true /@babel/helper-function-name/7.18.6: - resolution: - { - integrity: sha512-0mWMxV1aC97dhjCah5U5Ua7668r5ZmSC2DLfH2EZnf9c3/dHZKiFa5pRLMH5tjSl471tY6496ZWk/kjNONBxhw==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-0mWMxV1aC97dhjCah5U5Ua7668r5ZmSC2DLfH2EZnf9c3/dHZKiFa5pRLMH5tjSl471tY6496ZWk/kjNONBxhw==} + engines: {node: '>=6.9.0'} dependencies: - "@babel/template": 7.18.6 - "@babel/types": 7.18.7 + '@babel/template': 7.18.6 + '@babel/types': 7.18.7 dev: true /@babel/helper-hoist-variables/7.18.6: - resolution: - { - integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} + engines: {node: '>=6.9.0'} dependencies: - "@babel/types": 7.18.7 + '@babel/types': 7.18.7 dev: true /@babel/helper-member-expression-to-functions/7.18.6: - resolution: - { - integrity: sha512-CeHxqwwipekotzPDUuJOfIMtcIHBuc7WAzLmTYWctVigqS5RktNMQ5bEwQSuGewzYnCtTWa3BARXeiLxDTv+Ng==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-CeHxqwwipekotzPDUuJOfIMtcIHBuc7WAzLmTYWctVigqS5RktNMQ5bEwQSuGewzYnCtTWa3BARXeiLxDTv+Ng==} + engines: {node: '>=6.9.0'} dependencies: - "@babel/types": 7.18.7 + '@babel/types': 7.18.7 dev: true /@babel/helper-module-imports/7.18.6: - resolution: - { - integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} + engines: {node: '>=6.9.0'} dependencies: - "@babel/types": 7.18.7 + '@babel/types': 7.18.7 dev: true /@babel/helper-module-transforms/7.18.6: - resolution: - { - integrity: sha512-L//phhB4al5uucwzlimruukHB3jRd5JGClwRMD/ROrVjXfLqovYnvQrK/JK36WYyVwGGO7OD3kMyVTjx+WVPhw==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/helper-environment-visitor": 7.18.6 - "@babel/helper-module-imports": 7.18.6 - "@babel/helper-simple-access": 7.18.6 - "@babel/helper-split-export-declaration": 7.18.6 - "@babel/helper-validator-identifier": 7.18.6 - "@babel/template": 7.18.6 - "@babel/traverse": 7.18.6 - "@babel/types": 7.18.7 + resolution: {integrity: sha512-L//phhB4al5uucwzlimruukHB3jRd5JGClwRMD/ROrVjXfLqovYnvQrK/JK36WYyVwGGO7OD3kMyVTjx+WVPhw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-environment-visitor': 7.18.6 + '@babel/helper-module-imports': 7.18.6 + '@babel/helper-simple-access': 7.18.6 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/helper-validator-identifier': 7.18.6 + '@babel/template': 7.18.6 + '@babel/traverse': 7.18.6 + '@babel/types': 7.18.7 transitivePeerDependencies: - supports-color dev: true /@babel/helper-optimise-call-expression/7.18.6: - resolution: - { - integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} + engines: {node: '>=6.9.0'} dependencies: - "@babel/types": 7.18.7 + '@babel/types': 7.18.7 dev: true /@babel/helper-plugin-utils/7.18.6: - resolution: - { - integrity: sha512-gvZnm1YAAxh13eJdkb9EWHBnF3eAub3XTLCZEehHT2kWxiKVRL64+ae5Y6Ivne0mVHmMYKT+xWgZO+gQhuLUBg==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-gvZnm1YAAxh13eJdkb9EWHBnF3eAub3XTLCZEehHT2kWxiKVRL64+ae5Y6Ivne0mVHmMYKT+xWgZO+gQhuLUBg==} + engines: {node: '>=6.9.0'} dev: true /@babel/helper-remap-async-to-generator/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-z5wbmV55TveUPZlCLZvxWHtrjuJd+8inFhk7DG0WW87/oJuGDcjDiu7HIvGcpf5464L6xKCg3vNkmlVVz9hwyQ==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-z5wbmV55TveUPZlCLZvxWHtrjuJd+8inFhk7DG0WW87/oJuGDcjDiu7HIvGcpf5464L6xKCg3vNkmlVVz9hwyQ==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0 + '@babel/core': ^7.0.0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-annotate-as-pure": 7.18.6 - "@babel/helper-environment-visitor": 7.18.6 - "@babel/helper-wrap-function": 7.18.6 - "@babel/types": 7.18.7 + '@babel/core': 7.18.6 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-environment-visitor': 7.18.6 + '@babel/helper-wrap-function': 7.18.6 + '@babel/types': 7.18.7 transitivePeerDependencies: - supports-color dev: true /@babel/helper-replace-supers/7.18.6: - resolution: - { - integrity: sha512-fTf7zoXnUGl9gF25fXCWE26t7Tvtyn6H4hkLSYhATwJvw2uYxd3aoXplMSe0g9XbwK7bmxNes7+FGO0rB/xC0g==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/helper-environment-visitor": 7.18.6 - "@babel/helper-member-expression-to-functions": 7.18.6 - "@babel/helper-optimise-call-expression": 7.18.6 - "@babel/traverse": 7.18.6 - "@babel/types": 7.18.7 + resolution: {integrity: sha512-fTf7zoXnUGl9gF25fXCWE26t7Tvtyn6H4hkLSYhATwJvw2uYxd3aoXplMSe0g9XbwK7bmxNes7+FGO0rB/xC0g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-environment-visitor': 7.18.6 + '@babel/helper-member-expression-to-functions': 7.18.6 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/traverse': 7.18.6 + '@babel/types': 7.18.7 transitivePeerDependencies: - supports-color dev: true /@babel/helper-simple-access/7.18.6: - resolution: - { - integrity: sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==} + engines: {node: '>=6.9.0'} dependencies: - "@babel/types": 7.18.7 + '@babel/types': 7.18.7 dev: true /@babel/helper-skip-transparent-expression-wrappers/7.18.6: - resolution: - { - integrity: sha512-4KoLhwGS9vGethZpAhYnMejWkX64wsnHPDwvOsKWU6Fg4+AlK2Jz3TyjQLMEPvz+1zemi/WBdkYxCD0bAfIkiw==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-4KoLhwGS9vGethZpAhYnMejWkX64wsnHPDwvOsKWU6Fg4+AlK2Jz3TyjQLMEPvz+1zemi/WBdkYxCD0bAfIkiw==} + engines: {node: '>=6.9.0'} dependencies: - "@babel/types": 7.18.7 + '@babel/types': 7.18.7 dev: true /@babel/helper-split-export-declaration/7.18.6: - resolution: - { - integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} + engines: {node: '>=6.9.0'} dependencies: - "@babel/types": 7.18.7 + '@babel/types': 7.18.7 dev: true /@babel/helper-validator-identifier/7.18.6: - resolution: - { - integrity: sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==} + engines: {node: '>=6.9.0'} dev: true /@babel/helper-validator-option/7.18.6: - resolution: - { - integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==} + engines: {node: '>=6.9.0'} dev: true /@babel/helper-wrap-function/7.18.6: - resolution: - { - integrity: sha512-I5/LZfozwMNbwr/b1vhhuYD+J/mU+gfGAj5td7l5Rv9WYmH6i3Om69WGKNmlIpsVW/mF6O5bvTKbvDQZVgjqOw==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/helper-function-name": 7.18.6 - "@babel/template": 7.18.6 - "@babel/traverse": 7.18.6 - "@babel/types": 7.18.7 + resolution: {integrity: sha512-I5/LZfozwMNbwr/b1vhhuYD+J/mU+gfGAj5td7l5Rv9WYmH6i3Om69WGKNmlIpsVW/mF6O5bvTKbvDQZVgjqOw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-function-name': 7.18.6 + '@babel/template': 7.18.6 + '@babel/traverse': 7.18.6 + '@babel/types': 7.18.7 transitivePeerDependencies: - supports-color dev: true /@babel/helpers/7.18.6: - resolution: - { - integrity: sha512-vzSiiqbQOghPngUYt/zWGvK3LAsPhz55vc9XNN0xAl2gV4ieShI2OQli5duxWHD+72PZPTKAcfcZDE1Cwc5zsQ==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/template": 7.18.6 - "@babel/traverse": 7.18.6 - "@babel/types": 7.18.7 + resolution: {integrity: sha512-vzSiiqbQOghPngUYt/zWGvK3LAsPhz55vc9XNN0xAl2gV4ieShI2OQli5duxWHD+72PZPTKAcfcZDE1Cwc5zsQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.18.6 + '@babel/traverse': 7.18.6 + '@babel/types': 7.18.7 transitivePeerDependencies: - supports-color dev: true /@babel/highlight/7.18.6: - resolution: - { - integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} + engines: {node: '>=6.9.0'} dependencies: - "@babel/helper-validator-identifier": 7.18.6 + '@babel/helper-validator-identifier': 7.18.6 chalk: 2.4.2 js-tokens: 4.0.0 dev: true /@babel/parser/7.18.6: - resolution: - { - integrity: sha512-uQVSa9jJUe/G/304lXspfWVpKpK4euFLgGiMQFOCpM/bgcAdeoHwi/OQz23O9GK2osz26ZiXRRV9aV+Yl1O8tw==, - } - engines: { node: ">=6.0.0" } + resolution: {integrity: sha512-uQVSa9jJUe/G/304lXspfWVpKpK4euFLgGiMQFOCpM/bgcAdeoHwi/OQz23O9GK2osz26ZiXRRV9aV+Yl1O8tw==} + engines: {node: '>=6.0.0'} hasBin: true dependencies: - "@babel/types": 7.18.7 + '@babel/types': 7.18.7 dev: true /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0 + '@babel/core': ^7.0.0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-Udgu8ZRgrBrttVz6A0EVL0SJ1z+RLbIeqsu632SA1hf0awEppD6TvdznoH+orIF8wtFFAV/Enmw9Y+9oV8TQcw==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-Udgu8ZRgrBrttVz6A0EVL0SJ1z+RLbIeqsu632SA1hf0awEppD6TvdznoH+orIF8wtFFAV/Enmw9Y+9oV8TQcw==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.13.0 + '@babel/core': ^7.13.0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 - "@babel/helper-skip-transparent-expression-wrappers": 7.18.6 - "@babel/plugin-proposal-optional-chaining": 7.18.6_@babel+core@7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/helper-skip-transparent-expression-wrappers': 7.18.6 + '@babel/plugin-proposal-optional-chaining': 7.18.6_@babel+core@7.18.6 dev: true /@babel/plugin-proposal-async-generator-functions/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-WAz4R9bvozx4qwf74M+sfqPMKfSqwM0phxPTR6iJIi8robgzXwkEgmeJG1gEKhm6sDqT/U9aV3lfcqybIpev8w==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-WAz4R9bvozx4qwf74M+sfqPMKfSqwM0phxPTR6iJIi8robgzXwkEgmeJG1gEKhm6sDqT/U9aV3lfcqybIpev8w==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-environment-visitor": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 - "@babel/helper-remap-async-to-generator": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-syntax-async-generators": 7.8.4_@babel+core@7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-environment-visitor': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/helper-remap-async-to-generator': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.18.6 transitivePeerDependencies: - supports-color dev: true /@babel/plugin-proposal-class-properties/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-create-class-features-plugin": 7.18.6_@babel+core@7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-create-class-features-plugin': 7.18.6_@babel+core@7.18.6 + '@babel/helper-plugin-utils': 7.18.6 transitivePeerDependencies: - supports-color dev: true /@babel/plugin-proposal-class-static-block/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.12.0 + '@babel/core': ^7.12.0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-create-class-features-plugin": 7.18.6_@babel+core@7.18.6 - "@babel/helper-plugin-utils": 7.18.6 - "@babel/plugin-syntax-class-static-block": 7.14.5_@babel+core@7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-create-class-features-plugin': 7.18.6_@babel+core@7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.18.6 transitivePeerDependencies: - supports-color dev: true /@babel/plugin-proposal-dynamic-import/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 - "@babel/plugin-syntax-dynamic-import": 7.8.3_@babel+core@7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.18.6 dev: true /@babel/plugin-proposal-export-namespace-from/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-zr/QcUlUo7GPo6+X1wC98NJADqmy5QTFWWhqeQWiki4XHafJtLl/YMGkmRB2szDD2IYJCCdBTd4ElwhId9T7Xw==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-zr/QcUlUo7GPo6+X1wC98NJADqmy5QTFWWhqeQWiki4XHafJtLl/YMGkmRB2szDD2IYJCCdBTd4ElwhId9T7Xw==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 - "@babel/plugin-syntax-export-namespace-from": 7.8.3_@babel+core@7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.18.6 dev: true /@babel/plugin-proposal-json-strings/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 - "@babel/plugin-syntax-json-strings": 7.8.3_@babel+core@7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.18.6 dev: true /@babel/plugin-proposal-logical-assignment-operators/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-zMo66azZth/0tVd7gmkxOkOjs2rpHyhpcFo565PUP37hSp6hSd9uUKIfTDFMz58BwqgQKhJ9YxtM5XddjXVn+Q==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-zMo66azZth/0tVd7gmkxOkOjs2rpHyhpcFo565PUP37hSp6hSd9uUKIfTDFMz58BwqgQKhJ9YxtM5XddjXVn+Q==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 - "@babel/plugin-syntax-logical-assignment-operators": 7.10.4_@babel+core@7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.18.6 dev: true /@babel/plugin-proposal-nullish-coalescing-operator/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 - "@babel/plugin-syntax-nullish-coalescing-operator": 7.8.3_@babel+core@7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.18.6 dev: true /@babel/plugin-proposal-numeric-separator/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 - "@babel/plugin-syntax-numeric-separator": 7.10.4_@babel+core@7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.18.6 dev: true /@babel/plugin-proposal-object-rest-spread/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-9yuM6wr4rIsKa1wlUAbZEazkCrgw2sMPEXCr4Rnwetu7cEW1NydkCWytLuYletbf8vFxdJxFhwEZqMpOx2eZyw==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-9yuM6wr4rIsKa1wlUAbZEazkCrgw2sMPEXCr4Rnwetu7cEW1NydkCWytLuYletbf8vFxdJxFhwEZqMpOx2eZyw==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/compat-data": 7.18.6 - "@babel/core": 7.18.6 - "@babel/helper-compilation-targets": 7.18.6_@babel+core@7.18.6 - "@babel/helper-plugin-utils": 7.18.6 - "@babel/plugin-syntax-object-rest-spread": 7.8.3_@babel+core@7.18.6 - "@babel/plugin-transform-parameters": 7.18.8_@babel+core@7.18.6 + '@babel/compat-data': 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-compilation-targets': 7.18.6_@babel+core@7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.18.6 + '@babel/plugin-transform-parameters': 7.18.8_@babel+core@7.18.6 dev: true /@babel/plugin-proposal-optional-catch-binding/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 - "@babel/plugin-syntax-optional-catch-binding": 7.8.3_@babel+core@7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.18.6 dev: true /@babel/plugin-proposal-optional-chaining/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-PatI6elL5eMzoypFAiYDpYQyMtXTn+iMhuxxQt5mAXD4fEmKorpSI3PHd+i3JXBJN3xyA6MvJv7at23HffFHwA==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-PatI6elL5eMzoypFAiYDpYQyMtXTn+iMhuxxQt5mAXD4fEmKorpSI3PHd+i3JXBJN3xyA6MvJv7at23HffFHwA==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 - "@babel/helper-skip-transparent-expression-wrappers": 7.18.6 - "@babel/plugin-syntax-optional-chaining": 7.8.3_@babel+core@7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/helper-skip-transparent-expression-wrappers': 7.18.6 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.18.6 dev: true /@babel/plugin-proposal-private-methods/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-create-class-features-plugin": 7.18.6_@babel+core@7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-create-class-features-plugin': 7.18.6_@babel+core@7.18.6 + '@babel/helper-plugin-utils': 7.18.6 transitivePeerDependencies: - supports-color dev: true /@babel/plugin-proposal-private-property-in-object/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-annotate-as-pure": 7.18.6 - "@babel/helper-create-class-features-plugin": 7.18.6_@babel+core@7.18.6 - "@babel/helper-plugin-utils": 7.18.6 - "@babel/plugin-syntax-private-property-in-object": 7.14.5_@babel+core@7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-create-class-features-plugin': 7.18.6_@babel+core@7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.18.6 transitivePeerDependencies: - supports-color dev: true /@babel/plugin-proposal-unicode-property-regex/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} + engines: {node: '>=4'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-create-regexp-features-plugin": 7.18.6_@babel+core@7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-create-regexp-features-plugin': 7.18.6_@babel+core@7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.18.6: - resolution: - { - integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==, - } + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-syntax-bigint/7.8.3_@babel+core@7.18.6: - resolution: - { - integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==, - } + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.18.6: - resolution: - { - integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==, - } + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-syntax-class-static-block/7.14.5_@babel+core@7.18.6: - resolution: - { - integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.18.6: - resolution: - { - integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==, - } + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.18.6: - resolution: - { - integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==, - } + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-syntax-import-assertions/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.18.6: - resolution: - { - integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==, - } + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.18.6: - resolution: - { - integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==, - } + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.18.6: - resolution: - { - integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==, - } + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.18.6: - resolution: - { - integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==, - } + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.18.6: - resolution: - { - integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==, - } + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.18.6: - resolution: - { - integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==, - } + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.18.6: - resolution: - { - integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==, - } + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.18.6: - resolution: - { - integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==, - } + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.18.6: - resolution: - { - integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.18.6: - resolution: - { - integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-syntax-typescript/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-transform-arrow-functions/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-transform-async-to-generator/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-module-imports": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 - "@babel/helper-remap-async-to-generator": 7.18.6_@babel+core@7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-module-imports': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/helper-remap-async-to-generator': 7.18.6_@babel+core@7.18.6 transitivePeerDependencies: - supports-color dev: true /@babel/plugin-transform-block-scoped-functions/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-transform-block-scoping/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-pRqwb91C42vs1ahSAWJkxOxU1RHWDn16XAa6ggQ72wjLlWyYeAcLvTtE0aM8ph3KNydy9CQF2nLYcjq1WysgxQ==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-pRqwb91C42vs1ahSAWJkxOxU1RHWDn16XAa6ggQ72wjLlWyYeAcLvTtE0aM8ph3KNydy9CQF2nLYcjq1WysgxQ==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-transform-classes/7.18.8_@babel+core@7.18.6: - resolution: - { - integrity: sha512-RySDoXdF6hgHSHuAW4aLGyVQdmvEX/iJtjVre52k0pxRq4hzqze+rAVP++NmNv596brBpYmaiKgTZby7ziBnVg==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-RySDoXdF6hgHSHuAW4aLGyVQdmvEX/iJtjVre52k0pxRq4hzqze+rAVP++NmNv596brBpYmaiKgTZby7ziBnVg==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 - dependencies: - "@babel/core": 7.18.6 - "@babel/helper-annotate-as-pure": 7.18.6 - "@babel/helper-environment-visitor": 7.18.6 - "@babel/helper-function-name": 7.18.6 - "@babel/helper-optimise-call-expression": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 - "@babel/helper-replace-supers": 7.18.6 - "@babel/helper-split-export-declaration": 7.18.6 + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-environment-visitor': 7.18.6 + '@babel/helper-function-name': 7.18.6 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/helper-replace-supers': 7.18.6 + '@babel/helper-split-export-declaration': 7.18.6 globals: 11.12.0 transitivePeerDependencies: - supports-color dev: true /@babel/plugin-transform-computed-properties/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-9repI4BhNrR0KenoR9vm3/cIc1tSBIo+u1WVjKCAynahj25O8zfbiE6JtAtHPGQSs4yZ+bA8mRasRP+qc+2R5A==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-9repI4BhNrR0KenoR9vm3/cIc1tSBIo+u1WVjKCAynahj25O8zfbiE6JtAtHPGQSs4yZ+bA8mRasRP+qc+2R5A==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-transform-destructuring/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-tgy3u6lRp17ilY8r1kP4i2+HDUwxlVqq3RTc943eAWSzGgpU1qhiKpqZ5CMyHReIYPHdo3Kg8v8edKtDqSVEyQ==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-tgy3u6lRp17ilY8r1kP4i2+HDUwxlVqq3RTc943eAWSzGgpU1qhiKpqZ5CMyHReIYPHdo3Kg8v8edKtDqSVEyQ==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-transform-dotall-regex/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-create-regexp-features-plugin": 7.18.6_@babel+core@7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-create-regexp-features-plugin': 7.18.6_@babel+core@7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-transform-duplicate-keys/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-NJU26U/208+sxYszf82nmGYqVF9QN8py2HFTblPT9hbawi8+1C5a9JubODLTGFuT0qlkqVinmkwOD13s0sZktg==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-NJU26U/208+sxYszf82nmGYqVF9QN8py2HFTblPT9hbawi8+1C5a9JubODLTGFuT0qlkqVinmkwOD13s0sZktg==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-transform-exponentiation-operator/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-builder-binary-assignment-operator-visitor": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-transform-for-of/7.18.8_@babel+core@7.18.6: - resolution: - { - integrity: sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-transform-function-name/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-kJha/Gbs5RjzIu0CxZwf5e3aTTSlhZnHMT8zPWnJMjNpLOUgqevg+PN5oMH68nMCXnfiMo4Bhgxqj59KHTlAnA==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-kJha/Gbs5RjzIu0CxZwf5e3aTTSlhZnHMT8zPWnJMjNpLOUgqevg+PN5oMH68nMCXnfiMo4Bhgxqj59KHTlAnA==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-compilation-targets": 7.18.6_@babel+core@7.18.6 - "@babel/helper-function-name": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-compilation-targets': 7.18.6_@babel+core@7.18.6 + '@babel/helper-function-name': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-transform-literals/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-x3HEw0cJZVDoENXOp20HlypIHfl0zMIhMVZEBVTfmqbObIpsMxMbmU5nOEO8R7LYT+z5RORKPlTI5Hj4OsO9/Q==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-x3HEw0cJZVDoENXOp20HlypIHfl0zMIhMVZEBVTfmqbObIpsMxMbmU5nOEO8R7LYT+z5RORKPlTI5Hj4OsO9/Q==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-transform-member-expression-literals/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-transform-modules-amd/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-module-transforms": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-module-transforms': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 babel-plugin-dynamic-import-node: 2.3.3 transitivePeerDependencies: - supports-color dev: true /@babel/plugin-transform-modules-commonjs/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-module-transforms": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 - "@babel/helper-simple-access": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-module-transforms': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/helper-simple-access': 7.18.6 babel-plugin-dynamic-import-node: 2.3.3 transitivePeerDependencies: - supports-color dev: true /@babel/plugin-transform-modules-systemjs/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-UbPYpXxLjTw6w6yXX2BYNxF3p6QY225wcTkfQCy3OMnSlS/C3xGtwUjEzGkldb/sy6PWLiCQ3NbYfjWUTI3t4g==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-UbPYpXxLjTw6w6yXX2BYNxF3p6QY225wcTkfQCy3OMnSlS/C3xGtwUjEzGkldb/sy6PWLiCQ3NbYfjWUTI3t4g==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-hoist-variables": 7.18.6 - "@babel/helper-module-transforms": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 - "@babel/helper-validator-identifier": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-hoist-variables': 7.18.6 + '@babel/helper-module-transforms': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/helper-validator-identifier': 7.18.6 babel-plugin-dynamic-import-node: 2.3.3 transitivePeerDependencies: - supports-color dev: true /@babel/plugin-transform-modules-umd/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-module-transforms": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-module-transforms': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 transitivePeerDependencies: - supports-color dev: true /@babel/plugin-transform-named-capturing-groups-regex/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0 + '@babel/core': ^7.0.0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-create-regexp-features-plugin": 7.18.6_@babel+core@7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-create-regexp-features-plugin': 7.18.6_@babel+core@7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-transform-new-target/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-transform-object-super/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 - "@babel/helper-replace-supers": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/helper-replace-supers': 7.18.6 transitivePeerDependencies: - supports-color dev: true /@babel/plugin-transform-parameters/7.18.8_@babel+core@7.18.6: - resolution: - { - integrity: sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-transform-property-literals/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-transform-regenerator/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 regenerator-transform: 0.15.0 dev: true /@babel/plugin-transform-reserved-words/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-transform-shorthand-properties/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-transform-spread/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-ayT53rT/ENF8WWexIRg9AiV9h0aIteyWn5ptfZTZQrjk/+f3WdrJGCY4c9wcgl2+MKkKPhzbYp97FTsquZpDCw==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-ayT53rT/ENF8WWexIRg9AiV9h0aIteyWn5ptfZTZQrjk/+f3WdrJGCY4c9wcgl2+MKkKPhzbYp97FTsquZpDCw==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 - "@babel/helper-skip-transparent-expression-wrappers": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/helper-skip-transparent-expression-wrappers': 7.18.6 dev: true /@babel/plugin-transform-sticky-regex/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-transform-template-literals/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-UuqlRrQmT2SWRvahW46cGSany0uTlcj8NYOS5sRGYi8FxPYPoLd5DDmMd32ZXEj2Jq+06uGVQKHxa/hJx2EzKw==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-UuqlRrQmT2SWRvahW46cGSany0uTlcj8NYOS5sRGYi8FxPYPoLd5DDmMd32ZXEj2Jq+06uGVQKHxa/hJx2EzKw==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-transform-typeof-symbol/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-7m71iS/QhsPk85xSjFPovHPcH3H9qeyzsujhTc+vcdnsXavoWYJ74zx0lP5RhpC5+iDnVLO+PPMHzC11qels1g==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-7m71iS/QhsPk85xSjFPovHPcH3H9qeyzsujhTc+vcdnsXavoWYJ74zx0lP5RhpC5+iDnVLO+PPMHzC11qels1g==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-transform-typescript/7.18.8_@babel+core@7.18.6: - resolution: - { - integrity: sha512-p2xM8HI83UObjsZGofMV/EdYjamsDm6MoN3hXPYIT0+gxIoopE+B7rPYKAxfrz9K9PK7JafTTjqYC6qipLExYA==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-p2xM8HI83UObjsZGofMV/EdYjamsDm6MoN3hXPYIT0+gxIoopE+B7rPYKAxfrz9K9PK7JafTTjqYC6qipLExYA==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-create-class-features-plugin": 7.18.6_@babel+core@7.18.6 - "@babel/helper-plugin-utils": 7.18.6 - "@babel/plugin-syntax-typescript": 7.18.6_@babel+core@7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-create-class-features-plugin': 7.18.6_@babel+core@7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/plugin-syntax-typescript': 7.18.6_@babel+core@7.18.6 transitivePeerDependencies: - supports-color dev: true /@babel/plugin-transform-unicode-escapes/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-XNRwQUXYMP7VLuy54cr/KS/WeL3AZeORhrmeZ7iewgu+X2eBqmpaLI/hzqr9ZxCeUoq0ASK4GUzSM0BDhZkLFw==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-XNRwQUXYMP7VLuy54cr/KS/WeL3AZeORhrmeZ7iewgu+X2eBqmpaLI/hzqr9ZxCeUoq0ASK4GUzSM0BDhZkLFw==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/plugin-transform-unicode-regex/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-create-regexp-features-plugin": 7.18.6_@babel+core@7.18.6 - "@babel/helper-plugin-utils": 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-create-regexp-features-plugin': 7.18.6_@babel+core@7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true /@babel/preset-env/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-WrthhuIIYKrEFAwttYzgRNQ5hULGmwTj+D6l7Zdfsv5M7IWV/OZbUfbeL++Qrzx1nVJwWROIFhCHRYQV4xbPNw==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-WrthhuIIYKrEFAwttYzgRNQ5hULGmwTj+D6l7Zdfsv5M7IWV/OZbUfbeL++Qrzx1nVJwWROIFhCHRYQV4xbPNw==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 - dependencies: - "@babel/compat-data": 7.18.6 - "@babel/core": 7.18.6 - "@babel/helper-compilation-targets": 7.18.6_@babel+core@7.18.6 - "@babel/helper-plugin-utils": 7.18.6 - "@babel/helper-validator-option": 7.18.6 - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-proposal-async-generator-functions": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-proposal-class-properties": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-proposal-class-static-block": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-proposal-dynamic-import": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-proposal-export-namespace-from": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-proposal-json-strings": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-proposal-logical-assignment-operators": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-proposal-nullish-coalescing-operator": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-proposal-numeric-separator": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-proposal-object-rest-spread": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-proposal-optional-catch-binding": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-proposal-optional-chaining": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-proposal-private-methods": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-proposal-private-property-in-object": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-proposal-unicode-property-regex": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-syntax-async-generators": 7.8.4_@babel+core@7.18.6 - "@babel/plugin-syntax-class-properties": 7.12.13_@babel+core@7.18.6 - "@babel/plugin-syntax-class-static-block": 7.14.5_@babel+core@7.18.6 - "@babel/plugin-syntax-dynamic-import": 7.8.3_@babel+core@7.18.6 - "@babel/plugin-syntax-export-namespace-from": 7.8.3_@babel+core@7.18.6 - "@babel/plugin-syntax-import-assertions": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-syntax-json-strings": 7.8.3_@babel+core@7.18.6 - "@babel/plugin-syntax-logical-assignment-operators": 7.10.4_@babel+core@7.18.6 - "@babel/plugin-syntax-nullish-coalescing-operator": 7.8.3_@babel+core@7.18.6 - "@babel/plugin-syntax-numeric-separator": 7.10.4_@babel+core@7.18.6 - "@babel/plugin-syntax-object-rest-spread": 7.8.3_@babel+core@7.18.6 - "@babel/plugin-syntax-optional-catch-binding": 7.8.3_@babel+core@7.18.6 - "@babel/plugin-syntax-optional-chaining": 7.8.3_@babel+core@7.18.6 - "@babel/plugin-syntax-private-property-in-object": 7.14.5_@babel+core@7.18.6 - "@babel/plugin-syntax-top-level-await": 7.14.5_@babel+core@7.18.6 - "@babel/plugin-transform-arrow-functions": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-transform-async-to-generator": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-transform-block-scoped-functions": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-transform-block-scoping": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-transform-classes": 7.18.8_@babel+core@7.18.6 - "@babel/plugin-transform-computed-properties": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-transform-destructuring": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-transform-dotall-regex": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-transform-duplicate-keys": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-transform-exponentiation-operator": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-transform-for-of": 7.18.8_@babel+core@7.18.6 - "@babel/plugin-transform-function-name": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-transform-literals": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-transform-member-expression-literals": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-transform-modules-amd": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-transform-modules-commonjs": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-transform-modules-systemjs": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-transform-modules-umd": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-transform-named-capturing-groups-regex": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-transform-new-target": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-transform-object-super": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-transform-parameters": 7.18.8_@babel+core@7.18.6 - "@babel/plugin-transform-property-literals": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-transform-regenerator": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-transform-reserved-words": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-transform-shorthand-properties": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-transform-spread": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-transform-sticky-regex": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-transform-template-literals": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-transform-typeof-symbol": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-transform-unicode-escapes": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-transform-unicode-regex": 7.18.6_@babel+core@7.18.6 - "@babel/preset-modules": 0.1.5_@babel+core@7.18.6 - "@babel/types": 7.18.7 + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-compilation-targets': 7.18.6_@babel+core@7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/helper-validator-option': 7.18.6 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-async-generator-functions': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-class-static-block': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-dynamic-import': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-export-namespace-from': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-json-strings': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-logical-assignment-operators': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-numeric-separator': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-object-rest-spread': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-optional-catch-binding': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-optional-chaining': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-private-methods': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-private-property-in-object': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.18.6 + '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.18.6 + '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.18.6 + '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.18.6 + '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.18.6 + '@babel/plugin-syntax-import-assertions': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.18.6 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.18.6 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.18.6 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.18.6 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.18.6 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.18.6 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.18.6 + '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.18.6 + '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.18.6 + '@babel/plugin-transform-arrow-functions': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-async-to-generator': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-block-scoped-functions': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-block-scoping': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-classes': 7.18.8_@babel+core@7.18.6 + '@babel/plugin-transform-computed-properties': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-destructuring': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-duplicate-keys': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-exponentiation-operator': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-for-of': 7.18.8_@babel+core@7.18.6 + '@babel/plugin-transform-function-name': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-literals': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-member-expression-literals': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-modules-amd': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-modules-commonjs': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-modules-systemjs': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-modules-umd': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-named-capturing-groups-regex': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-new-target': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-object-super': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-parameters': 7.18.8_@babel+core@7.18.6 + '@babel/plugin-transform-property-literals': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-regenerator': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-reserved-words': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-shorthand-properties': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-spread': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-sticky-regex': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-template-literals': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-typeof-symbol': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-unicode-escapes': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-unicode-regex': 7.18.6_@babel+core@7.18.6 + '@babel/preset-modules': 0.1.5_@babel+core@7.18.6 + '@babel/types': 7.18.7 babel-plugin-polyfill-corejs2: 0.3.1_@babel+core@7.18.6 babel-plugin-polyfill-corejs3: 0.5.2_@babel+core@7.18.6 babel-plugin-polyfill-regenerator: 0.3.1_@babel+core@7.18.6 @@ -1482,85 +1181,67 @@ packages: dev: true /@babel/preset-modules/0.1.5_@babel+core@7.18.6: - resolution: - { - integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==, - } + resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 - "@babel/plugin-proposal-unicode-property-regex": 7.18.6_@babel+core@7.18.6 - "@babel/plugin-transform-dotall-regex": 7.18.6_@babel+core@7.18.6 - "@babel/types": 7.18.7 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.18.6 + '@babel/types': 7.18.7 esutils: 2.0.3 dev: true /@babel/preset-typescript/7.18.6_@babel+core@7.18.6: - resolution: - { - integrity: sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-plugin-utils": 7.18.6 - "@babel/helper-validator-option": 7.18.6 - "@babel/plugin-transform-typescript": 7.18.8_@babel+core@7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/helper-validator-option': 7.18.6 + '@babel/plugin-transform-typescript': 7.18.8_@babel+core@7.18.6 transitivePeerDependencies: - supports-color dev: true /@babel/runtime-corejs3/7.17.8: - resolution: - { - integrity: sha512-ZbYSUvoSF6dXZmMl/CYTMOvzIFnbGfv4W3SEHYgMvNsFTeLaF2gkGAF4K2ddmtSK4Emej+0aYcnSC6N5dPCXUQ==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-ZbYSUvoSF6dXZmMl/CYTMOvzIFnbGfv4W3SEHYgMvNsFTeLaF2gkGAF4K2ddmtSK4Emej+0aYcnSC6N5dPCXUQ==} + engines: {node: '>=6.9.0'} dependencies: core-js-pure: 3.23.3 regenerator-runtime: 0.13.9 dev: false /@babel/runtime/7.17.9: - resolution: - { - integrity: sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==} + engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.13.9 /@babel/template/7.18.6: - resolution: - { - integrity: sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==} + engines: {node: '>=6.9.0'} dependencies: - "@babel/code-frame": 7.18.6 - "@babel/parser": 7.18.6 - "@babel/types": 7.18.7 + '@babel/code-frame': 7.18.6 + '@babel/parser': 7.18.6 + '@babel/types': 7.18.7 dev: true /@babel/traverse/7.18.6: - resolution: - { - integrity: sha512-zS/OKyqmD7lslOtFqbscH6gMLFYOfG1YPqCKfAW5KrTeolKqvB8UelR49Fpr6y93kYkW2Ik00mT1LOGiAGvizw==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/code-frame": 7.18.6 - "@babel/generator": 7.18.7 - "@babel/helper-environment-visitor": 7.18.6 - "@babel/helper-function-name": 7.18.6 - "@babel/helper-hoist-variables": 7.18.6 - "@babel/helper-split-export-declaration": 7.18.6 - "@babel/parser": 7.18.6 - "@babel/types": 7.18.7 + resolution: {integrity: sha512-zS/OKyqmD7lslOtFqbscH6gMLFYOfG1YPqCKfAW5KrTeolKqvB8UelR49Fpr6y93kYkW2Ik00mT1LOGiAGvizw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.18.6 + '@babel/generator': 7.18.7 + '@babel/helper-environment-visitor': 7.18.6 + '@babel/helper-function-name': 7.18.6 + '@babel/helper-hoist-variables': 7.18.6 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/parser': 7.18.6 + '@babel/types': 7.18.7 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: @@ -1568,38 +1249,26 @@ packages: dev: true /@babel/types/7.18.7: - resolution: - { - integrity: sha512-QG3yxTcTIBoAcQmkCs+wAPYZhu7Dk9rXKacINfNbdJDNERTbLQbHGyVG8q/YGMPeCJRIhSY0+fTc5+xuh6WPSQ==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-QG3yxTcTIBoAcQmkCs+wAPYZhu7Dk9rXKacINfNbdJDNERTbLQbHGyVG8q/YGMPeCJRIhSY0+fTc5+xuh6WPSQ==} + engines: {node: '>=6.9.0'} dependencies: - "@babel/helper-validator-identifier": 7.18.6 + '@babel/helper-validator-identifier': 7.18.6 to-fast-properties: 2.0.0 dev: true /@bcoe/v8-coverage/0.2.3: - resolution: - { - integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==, - } + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: true /@cspotcode/source-map-support/0.8.1: - resolution: - { - integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} dependencies: - "@jridgewell/trace-mapping": 0.3.9 + '@jridgewell/trace-mapping': 0.3.9 /@istanbuljs/load-nyc-config/1.1.0: - resolution: - { - integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} dependencies: camelcase: 5.3.1 find-up: 4.1.0 @@ -1609,22 +1278,16 @@ packages: dev: true /@istanbuljs/schema/0.1.3: - resolution: - { - integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} dev: true /@jest/console/28.1.1: - resolution: - { - integrity: sha512-0RiUocPVFEm3WRMOStIHbRWllG6iW6E3/gUPnf4lkrVFyXIIDeCe+vlKeYyFOMhB2EPE6FLFCNADSOOQMaqvyA==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } - dependencies: - "@jest/types": 28.1.1 - "@types/node": 18.0.0 + resolution: {integrity: sha512-0RiUocPVFEm3WRMOStIHbRWllG6iW6E3/gUPnf4lkrVFyXIIDeCe+vlKeYyFOMhB2EPE6FLFCNADSOOQMaqvyA==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + dependencies: + '@jest/types': 28.1.1 + '@types/node': 18.0.0 chalk: 4.1.2 jest-message-util: 28.1.1 jest-util: 28.1.1 @@ -1632,23 +1295,20 @@ packages: dev: true /@jest/core/28.1.2_ts-node@10.8.1: - resolution: - { - integrity: sha512-Xo4E+Sb/nZODMGOPt2G3cMmCBqL4/W2Ijwr7/mrXlq4jdJwcFQ/9KrrJZT2adQRk2otVBXXOz1GRQ4Z5iOgvRQ==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } + resolution: {integrity: sha512-Xo4E+Sb/nZODMGOPt2G3cMmCBqL4/W2Ijwr7/mrXlq4jdJwcFQ/9KrrJZT2adQRk2otVBXXOz1GRQ4Z5iOgvRQ==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: node-notifier: optional: true dependencies: - "@jest/console": 28.1.1 - "@jest/reporters": 28.1.2 - "@jest/test-result": 28.1.1 - "@jest/transform": 28.1.2 - "@jest/types": 28.1.1 - "@types/node": 18.0.0 + '@jest/console': 28.1.1 + '@jest/reporters': 28.1.2 + '@jest/test-result': 28.1.1 + '@jest/transform': 28.1.2 + '@jest/types': 28.1.1 + '@types/node': 18.0.0 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.3.2 @@ -1678,34 +1338,25 @@ packages: dev: true /@jest/environment/28.1.2: - resolution: - { - integrity: sha512-I0CR1RUMmOzd0tRpz10oUfaChBWs+/Hrvn5xYhMEF/ZqrDaaeHwS8yDBqEWCrEnkH2g+WE/6g90oBv3nKpcm8Q==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } - dependencies: - "@jest/fake-timers": 28.1.2 - "@jest/types": 28.1.1 - "@types/node": 18.0.0 + resolution: {integrity: sha512-I0CR1RUMmOzd0tRpz10oUfaChBWs+/Hrvn5xYhMEF/ZqrDaaeHwS8yDBqEWCrEnkH2g+WE/6g90oBv3nKpcm8Q==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + dependencies: + '@jest/fake-timers': 28.1.2 + '@jest/types': 28.1.1 + '@types/node': 18.0.0 jest-mock: 28.1.1 dev: true /@jest/expect-utils/28.1.1: - resolution: - { - integrity: sha512-n/ghlvdhCdMI/hTcnn4qV57kQuV9OTsZzH1TTCVARANKhl6hXJqLKUkwX69ftMGpsbpt96SsDD8n8LD2d9+FRw==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } + resolution: {integrity: sha512-n/ghlvdhCdMI/hTcnn4qV57kQuV9OTsZzH1TTCVARANKhl6hXJqLKUkwX69ftMGpsbpt96SsDD8n8LD2d9+FRw==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: jest-get-type: 28.0.2 dev: true /@jest/expect/28.1.2: - resolution: - { - integrity: sha512-HBzyZBeFBiOelNbBKN0pilWbbrGvwDUwAqMC46NVJmWm8AVkuE58NbG1s7DR4cxFt4U5cVLxofAoHxgvC5MyOw==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } + resolution: {integrity: sha512-HBzyZBeFBiOelNbBKN0pilWbbrGvwDUwAqMC46NVJmWm8AVkuE58NbG1s7DR4cxFt4U5cVLxofAoHxgvC5MyOw==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: expect: 28.1.1 jest-snapshot: 28.1.2 @@ -1714,53 +1365,44 @@ packages: dev: true /@jest/fake-timers/28.1.2: - resolution: - { - integrity: sha512-xSYEI7Y0D5FbZN2LsCUj/EKRR1zfQYmGuAUVh6xTqhx7V5JhjgMcK5Pa0iR6WIk0GXiHDe0Ke4A+yERKE9saqg==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } - dependencies: - "@jest/types": 28.1.1 - "@sinonjs/fake-timers": 9.1.2 - "@types/node": 18.0.0 + resolution: {integrity: sha512-xSYEI7Y0D5FbZN2LsCUj/EKRR1zfQYmGuAUVh6xTqhx7V5JhjgMcK5Pa0iR6WIk0GXiHDe0Ke4A+yERKE9saqg==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + dependencies: + '@jest/types': 28.1.1 + '@sinonjs/fake-timers': 9.1.2 + '@types/node': 18.0.0 jest-message-util: 28.1.1 jest-mock: 28.1.1 jest-util: 28.1.1 dev: true /@jest/globals/28.1.2: - resolution: - { - integrity: sha512-cz0lkJVDOtDaYhvT3Fv2U1B6FtBnV+OpEyJCzTHM1fdoTsU4QNLAt/H4RkiwEUU+dL4g/MFsoTuHeT2pvbo4Hg==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } - dependencies: - "@jest/environment": 28.1.2 - "@jest/expect": 28.1.2 - "@jest/types": 28.1.1 + resolution: {integrity: sha512-cz0lkJVDOtDaYhvT3Fv2U1B6FtBnV+OpEyJCzTHM1fdoTsU4QNLAt/H4RkiwEUU+dL4g/MFsoTuHeT2pvbo4Hg==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + dependencies: + '@jest/environment': 28.1.2 + '@jest/expect': 28.1.2 + '@jest/types': 28.1.1 transitivePeerDependencies: - supports-color dev: true /@jest/reporters/28.1.2: - resolution: - { - integrity: sha512-/whGLhiwAqeCTmQEouSigUZJPVl7sW8V26EiboImL+UyXznnr1a03/YZ2BX8OlFw0n+Zlwu+EZAITZtaeRTxyA==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } + resolution: {integrity: sha512-/whGLhiwAqeCTmQEouSigUZJPVl7sW8V26EiboImL+UyXznnr1a03/YZ2BX8OlFw0n+Zlwu+EZAITZtaeRTxyA==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: node-notifier: optional: true dependencies: - "@bcoe/v8-coverage": 0.2.3 - "@jest/console": 28.1.1 - "@jest/test-result": 28.1.1 - "@jest/transform": 28.1.2 - "@jest/types": 28.1.1 - "@jridgewell/trace-mapping": 0.3.14 - "@types/node": 18.0.0 + '@bcoe/v8-coverage': 0.2.3 + '@jest/console': 28.1.1 + '@jest/test-result': 28.1.1 + '@jest/transform': 28.1.2 + '@jest/types': 28.1.1 + '@jridgewell/trace-mapping': 0.3.14 + '@types/node': 18.0.0 chalk: 4.1.2 collect-v8-coverage: 1.0.1 exit: 0.1.2 @@ -1784,63 +1426,48 @@ packages: dev: true /@jest/schemas/28.0.2: - resolution: - { - integrity: sha512-YVDJZjd4izeTDkij00vHHAymNXQ6WWsdChFRK86qck6Jpr3DCL5W3Is3vslviRlP+bLuMYRLbdp98amMvqudhA==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } + resolution: {integrity: sha512-YVDJZjd4izeTDkij00vHHAymNXQ6WWsdChFRK86qck6Jpr3DCL5W3Is3vslviRlP+bLuMYRLbdp98amMvqudhA==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: - "@sinclair/typebox": 0.23.5 + '@sinclair/typebox': 0.23.5 dev: true /@jest/source-map/28.1.2: - resolution: - { - integrity: sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } + resolution: {integrity: sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: - "@jridgewell/trace-mapping": 0.3.14 + '@jridgewell/trace-mapping': 0.3.14 callsites: 3.1.0 graceful-fs: 4.2.10 dev: true /@jest/test-result/28.1.1: - resolution: - { - integrity: sha512-hPmkugBktqL6rRzwWAtp1JtYT4VHwv8OQ+9lE5Gymj6dHzubI/oJHMUpPOt8NrdVWSrz9S7bHjJUmv2ggFoUNQ==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } - dependencies: - "@jest/console": 28.1.1 - "@jest/types": 28.1.1 - "@types/istanbul-lib-coverage": 2.0.4 + resolution: {integrity: sha512-hPmkugBktqL6rRzwWAtp1JtYT4VHwv8OQ+9lE5Gymj6dHzubI/oJHMUpPOt8NrdVWSrz9S7bHjJUmv2ggFoUNQ==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + dependencies: + '@jest/console': 28.1.1 + '@jest/types': 28.1.1 + '@types/istanbul-lib-coverage': 2.0.4 collect-v8-coverage: 1.0.1 dev: true /@jest/test-sequencer/28.1.1: - resolution: - { - integrity: sha512-nuL+dNSVMcWB7OOtgb0EGH5AjO4UBCt68SLP08rwmC+iRhyuJWS9MtZ/MpipxFwKAlHFftbMsydXqWre8B0+XA==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } + resolution: {integrity: sha512-nuL+dNSVMcWB7OOtgb0EGH5AjO4UBCt68SLP08rwmC+iRhyuJWS9MtZ/MpipxFwKAlHFftbMsydXqWre8B0+XA==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: - "@jest/test-result": 28.1.1 + '@jest/test-result': 28.1.1 graceful-fs: 4.2.10 jest-haste-map: 28.1.1 slash: 3.0.0 dev: true /@jest/transform/28.1.2: - resolution: - { - integrity: sha512-3o+lKF6iweLeJFHBlMJysdaPbpoMmtbHEFsjzSv37HIq/wWt5ijTeO2Yf7MO5yyczCopD507cNwNLeX8Y/CuIg==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } - dependencies: - "@babel/core": 7.18.6 - "@jest/types": 28.1.1 - "@jridgewell/trace-mapping": 0.3.14 + resolution: {integrity: sha512-3o+lKF6iweLeJFHBlMJysdaPbpoMmtbHEFsjzSv37HIq/wWt5ijTeO2Yf7MO5yyczCopD507cNwNLeX8Y/CuIg==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + dependencies: + '@babel/core': 7.18.6 + '@jest/types': 28.1.1 + '@jridgewell/trace-mapping': 0.3.14 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 convert-source-map: 1.8.0 @@ -1858,429 +1485,282 @@ packages: dev: true /@jest/types/28.1.1: - resolution: - { - integrity: sha512-vRXVqSg1VhDnB8bWcmvLzmg0Bt9CRKVgHPXqYwvWMX3TvAjeO+nRuK6+VdTKCtWOvYlmkF/HqNAL/z+N3B53Kw==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } - dependencies: - "@jest/schemas": 28.0.2 - "@types/istanbul-lib-coverage": 2.0.4 - "@types/istanbul-reports": 3.0.1 - "@types/node": 18.0.0 - "@types/yargs": 17.0.10 + resolution: {integrity: sha512-vRXVqSg1VhDnB8bWcmvLzmg0Bt9CRKVgHPXqYwvWMX3TvAjeO+nRuK6+VdTKCtWOvYlmkF/HqNAL/z+N3B53Kw==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + dependencies: + '@jest/schemas': 28.0.2 + '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-reports': 3.0.1 + '@types/node': 18.0.0 + '@types/yargs': 17.0.10 chalk: 4.1.2 dev: true /@jridgewell/gen-mapping/0.1.1: - resolution: - { - integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==, - } - engines: { node: ">=6.0.0" } + resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} + engines: {node: '>=6.0.0'} dependencies: - "@jridgewell/set-array": 1.1.2 - "@jridgewell/sourcemap-codec": 1.4.14 + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.14 dev: true /@jridgewell/gen-mapping/0.3.2: - resolution: - { - integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==, - } - engines: { node: ">=6.0.0" } + resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} + engines: {node: '>=6.0.0'} dependencies: - "@jridgewell/set-array": 1.1.2 - "@jridgewell/sourcemap-codec": 1.4.14 - "@jridgewell/trace-mapping": 0.3.14 + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/trace-mapping': 0.3.14 dev: true /@jridgewell/resolve-uri/3.0.8: - resolution: - { - integrity: sha512-YK5G9LaddzGbcucK4c8h5tWFmMPBvRZ/uyWmN1/SbBdIvqGUdWGkJ5BAaccgs6XbzVLsqbPJrBSFwKv3kT9i7w==, - } - engines: { node: ">=6.0.0" } + resolution: {integrity: sha512-YK5G9LaddzGbcucK4c8h5tWFmMPBvRZ/uyWmN1/SbBdIvqGUdWGkJ5BAaccgs6XbzVLsqbPJrBSFwKv3kT9i7w==} + engines: {node: '>=6.0.0'} /@jridgewell/set-array/1.1.2: - resolution: - { - integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==, - } - engines: { node: ">=6.0.0" } + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} dev: true /@jridgewell/sourcemap-codec/1.4.14: - resolution: - { - integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==, - } + resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} /@jridgewell/trace-mapping/0.3.14: - resolution: - { - integrity: sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==, - } + resolution: {integrity: sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==} dependencies: - "@jridgewell/resolve-uri": 3.0.8 - "@jridgewell/sourcemap-codec": 1.4.14 + '@jridgewell/resolve-uri': 3.0.8 + '@jridgewell/sourcemap-codec': 1.4.14 dev: true /@jridgewell/trace-mapping/0.3.9: - resolution: - { - integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==, - } + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: - "@jridgewell/resolve-uri": 3.0.8 - "@jridgewell/sourcemap-codec": 1.4.14 + '@jridgewell/resolve-uri': 3.0.8 + '@jridgewell/sourcemap-codec': 1.4.14 /@sinclair/typebox/0.23.5: - resolution: - { - integrity: sha512-AFBVi/iT4g20DHoujvMH1aEDn8fGJh4xsRGCP6d8RpLPMqsNPvW01Jcn0QysXTsg++/xj25NmJsGyH9xug/wKg==, - } + resolution: {integrity: sha512-AFBVi/iT4g20DHoujvMH1aEDn8fGJh4xsRGCP6d8RpLPMqsNPvW01Jcn0QysXTsg++/xj25NmJsGyH9xug/wKg==} dev: true /@sindresorhus/is/0.14.0: - resolution: - { - integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==} + engines: {node: '>=6'} dev: true /@sinonjs/commons/1.8.3: - resolution: - { - integrity: sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==, - } + resolution: {integrity: sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==} dependencies: type-detect: 4.0.8 dev: true /@sinonjs/fake-timers/9.1.2: - resolution: - { - integrity: sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==, - } + resolution: {integrity: sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==} dependencies: - "@sinonjs/commons": 1.8.3 + '@sinonjs/commons': 1.8.3 dev: true /@szmarczak/http-timer/1.1.2: - resolution: - { - integrity: sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==} + engines: {node: '>=6'} dependencies: defer-to-connect: 1.1.3 dev: true /@tsconfig/node10/1.0.9: - resolution: - { - integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==, - } + resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} /@tsconfig/node12/1.0.11: - resolution: - { - integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==, - } + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} /@tsconfig/node14/1.0.3: - resolution: - { - integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==, - } + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} /@tsconfig/node16/1.0.3: - resolution: - { - integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==, - } + resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} /@types/babel__core/7.1.19: - resolution: - { - integrity: sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==, - } + resolution: {integrity: sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==} dependencies: - "@babel/parser": 7.18.6 - "@babel/types": 7.18.7 - "@types/babel__generator": 7.6.4 - "@types/babel__template": 7.4.1 - "@types/babel__traverse": 7.17.1 + '@babel/parser': 7.18.6 + '@babel/types': 7.18.7 + '@types/babel__generator': 7.6.4 + '@types/babel__template': 7.4.1 + '@types/babel__traverse': 7.17.1 dev: true /@types/babel__generator/7.6.4: - resolution: - { - integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==, - } + resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} dependencies: - "@babel/types": 7.18.7 + '@babel/types': 7.18.7 dev: true /@types/babel__template/7.4.1: - resolution: - { - integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==, - } + resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} dependencies: - "@babel/parser": 7.18.6 - "@babel/types": 7.18.7 + '@babel/parser': 7.18.6 + '@babel/types': 7.18.7 dev: true /@types/babel__traverse/7.17.1: - resolution: - { - integrity: sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==, - } + resolution: {integrity: sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==} dependencies: - "@babel/types": 7.18.7 + '@babel/types': 7.18.7 dev: true /@types/body-parser/1.19.2: - resolution: - { - integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==, - } + resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} dependencies: - "@types/connect": 3.4.35 - "@types/node": 18.0.0 + '@types/connect': 3.4.35 + '@types/node': 18.0.0 dev: true /@types/connect/3.4.35: - resolution: - { - integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==, - } + resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: - "@types/node": 18.0.0 + '@types/node': 18.0.0 dev: true /@types/express-serve-static-core/4.17.29: - resolution: - { - integrity: sha512-uMd++6dMKS32EOuw1Uli3e3BPgdLIXmezcfHv7N4c1s3gkhikBplORPpMq3fuWkxncZN1reb16d5n8yhQ80x7Q==, - } + resolution: {integrity: sha512-uMd++6dMKS32EOuw1Uli3e3BPgdLIXmezcfHv7N4c1s3gkhikBplORPpMq3fuWkxncZN1reb16d5n8yhQ80x7Q==} dependencies: - "@types/node": 18.0.0 - "@types/qs": 6.9.7 - "@types/range-parser": 1.2.4 + '@types/node': 18.0.0 + '@types/qs': 6.9.7 + '@types/range-parser': 1.2.4 dev: true /@types/express/4.17.13: - resolution: - { - integrity: sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==, - } + resolution: {integrity: sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==} dependencies: - "@types/body-parser": 1.19.2 - "@types/express-serve-static-core": 4.17.29 - "@types/qs": 6.9.7 - "@types/serve-static": 1.13.10 + '@types/body-parser': 1.19.2 + '@types/express-serve-static-core': 4.17.29 + '@types/qs': 6.9.7 + '@types/serve-static': 1.13.10 dev: true /@types/graceful-fs/4.1.5: - resolution: - { - integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==, - } + resolution: {integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==} dependencies: - "@types/node": 18.0.0 + '@types/node': 18.0.0 dev: true /@types/istanbul-lib-coverage/2.0.4: - resolution: - { - integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==, - } + resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} dev: true /@types/istanbul-lib-report/3.0.0: - resolution: - { - integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==, - } + resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} dependencies: - "@types/istanbul-lib-coverage": 2.0.4 + '@types/istanbul-lib-coverage': 2.0.4 dev: true /@types/istanbul-reports/3.0.1: - resolution: - { - integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==, - } + resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} dependencies: - "@types/istanbul-lib-report": 3.0.0 + '@types/istanbul-lib-report': 3.0.0 dev: true /@types/jest/28.1.3: - resolution: - { - integrity: sha512-Tsbjk8Y2hkBaY/gJsataeb4q9Mubw9EOz7+4RjPkzD5KjTvHHs7cpws22InaoXxAVAhF5HfFbzJjo6oKWqSZLw==, - } + resolution: {integrity: sha512-Tsbjk8Y2hkBaY/gJsataeb4q9Mubw9EOz7+4RjPkzD5KjTvHHs7cpws22InaoXxAVAhF5HfFbzJjo6oKWqSZLw==} dependencies: jest-matcher-utils: 28.1.1 pretty-format: 28.1.1 dev: true /@types/keyv/3.1.4: - resolution: - { - integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==, - } + resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: - "@types/node": 18.0.0 + '@types/node': 18.0.0 dev: true /@types/mime/1.3.2: - resolution: - { - integrity: sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==, - } + resolution: {integrity: sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==} dev: true /@types/node/18.0.0: - resolution: - { - integrity: sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA==, - } + resolution: {integrity: sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA==} /@types/nodemailer/6.4.4: - resolution: - { - integrity: sha512-Ksw4t7iliXeYGvIQcSIgWQ5BLuC/mljIEbjf615svhZL10PE9t+ei8O9gDaD3FPCasUJn9KTLwz2JFJyiiyuqw==, - } + resolution: {integrity: sha512-Ksw4t7iliXeYGvIQcSIgWQ5BLuC/mljIEbjf615svhZL10PE9t+ei8O9gDaD3FPCasUJn9KTLwz2JFJyiiyuqw==} dependencies: - "@types/node": 18.0.0 + '@types/node': 18.0.0 dev: true /@types/parse/2.18.16: - resolution: - { - integrity: sha512-2qbF9xUlmXbagie2Y5l+r7jIHCrocSIJqeiDruNiGYSh7gaznAH23LaqRbbe6iuGYh/fw2cZgoHwlqI4DLUJWg==, - } + resolution: {integrity: sha512-2qbF9xUlmXbagie2Y5l+r7jIHCrocSIJqeiDruNiGYSh7gaznAH23LaqRbbe6iuGYh/fw2cZgoHwlqI4DLUJWg==} dependencies: - "@types/node": 18.0.0 + '@types/node': 18.0.0 dev: true /@types/prettier/2.6.3: - resolution: - { - integrity: sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg==, - } + resolution: {integrity: sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg==} dev: true /@types/qs/6.9.7: - resolution: - { - integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==, - } + resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} dev: true /@types/range-parser/1.2.4: - resolution: - { - integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==, - } + resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} dev: true /@types/responselike/1.0.0: - resolution: - { - integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==, - } + resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} dependencies: - "@types/node": 18.0.0 + '@types/node': 18.0.0 dev: true /@types/serve-static/1.13.10: - resolution: - { - integrity: sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==, - } + resolution: {integrity: sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==} dependencies: - "@types/mime": 1.3.2 - "@types/node": 18.0.0 + '@types/mime': 1.3.2 + '@types/node': 18.0.0 dev: true /@types/stack-utils/2.0.1: - resolution: - { - integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==, - } + resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} dev: true /@types/yargs-parser/21.0.0: - resolution: - { - integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==, - } + resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} dev: true /@types/yargs/17.0.10: - resolution: - { - integrity: sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==, - } + resolution: {integrity: sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==} dependencies: - "@types/yargs-parser": 21.0.0 + '@types/yargs-parser': 21.0.0 dev: true /abbrev/1.1.1: - resolution: - { - integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==, - } + resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: true /abort-controller/3.0.0: - resolution: - { - integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==, - } - engines: { node: ">=6.5" } + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} + engines: {node: '>=6.5'} dependencies: event-target-shim: 5.0.1 dev: false /accepts/1.3.8: - resolution: - { - integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==, - } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} dependencies: mime-types: 2.1.35 negotiator: 0.6.3 dev: false /acorn-walk/8.2.0: - resolution: - { - integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==, - } - engines: { node: ">=0.4.0" } + resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + engines: {node: '>=0.4.0'} /acorn/8.7.1: - resolution: - { - integrity: sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==, - } - engines: { node: ">=0.4.0" } + resolution: {integrity: sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==} + engines: {node: '>=0.4.0'} hasBin: true /agent-base/6.0.2: - resolution: - { - integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==, - } - engines: { node: ">= 6.0.0" } + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} dependencies: debug: 4.3.4 transitivePeerDependencies: @@ -2288,81 +1768,54 @@ packages: dev: false /ansi-align/3.0.1: - resolution: - { - integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==, - } + resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} dependencies: string-width: 4.2.3 dev: true /ansi-escapes/4.3.2: - resolution: - { - integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} dependencies: type-fest: 0.21.3 dev: true /ansi-regex/2.1.1: - resolution: - { - integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} + engines: {node: '>=0.10.0'} dev: true /ansi-regex/5.0.1: - resolution: - { - integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} dev: true /ansi-styles/2.2.1: - resolution: - { - integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} + engines: {node: '>=0.10.0'} dev: true /ansi-styles/3.2.1: - resolution: - { - integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} dependencies: color-convert: 1.9.3 dev: true /ansi-styles/4.3.0: - resolution: - { - integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} dependencies: color-convert: 2.0.1 dev: true /ansi-styles/5.2.0: - resolution: - { - integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} dev: true /anymatch/1.3.2: - resolution: - { - integrity: sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==, - } + resolution: {integrity: sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==} dependencies: micromatch: 2.3.11 normalize-path: 2.1.1 @@ -2370,153 +1823,89 @@ packages: optional: true /anymatch/3.1.2: - resolution: - { - integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==, - } - engines: { node: ">= 8" } + resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} + engines: {node: '>= 8'} dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 dev: true /arg/4.1.3: - resolution: - { - integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==, - } + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} /argparse/1.0.10: - resolution: - { - integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==, - } + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} dependencies: sprintf-js: 1.0.3 dev: true /arr-diff/2.0.0: - resolution: - { - integrity: sha512-dtXTVMkh6VkEEA7OhXnN1Ecb8aAGFdZ1LFxtOCoqj4qkyOJMt7+qs6Ahdy6p/NQCPYsRSXXivhSB/J5E9jmYKA==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-dtXTVMkh6VkEEA7OhXnN1Ecb8aAGFdZ1LFxtOCoqj4qkyOJMt7+qs6Ahdy6p/NQCPYsRSXXivhSB/J5E9jmYKA==} + engines: {node: '>=0.10.0'} dependencies: arr-flatten: 1.1.0 dev: true optional: true /arr-diff/4.0.0: - resolution: - { - integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} + engines: {node: '>=0.10.0'} dev: true optional: true /arr-flatten/1.1.0: - resolution: - { - integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==} + engines: {node: '>=0.10.0'} dev: true optional: true /arr-union/3.1.0: - resolution: - { - integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==} + engines: {node: '>=0.10.0'} dev: true optional: true /array-flatten/1.1.1: - resolution: - { - integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==, - } + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} dev: false /array-unique/0.2.1: - resolution: - { - integrity: sha512-G2n5bG5fSUCpnsXz4+8FUkYsGPkNfLn9YvS66U5qbTIXI2Ynnlo4Bi42bWv+omKUCqz+ejzfClwne0alJWJPhg==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-G2n5bG5fSUCpnsXz4+8FUkYsGPkNfLn9YvS66U5qbTIXI2Ynnlo4Bi42bWv+omKUCqz+ejzfClwne0alJWJPhg==} + engines: {node: '>=0.10.0'} dev: true optional: true /array-unique/0.3.2: - resolution: - { - integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} + engines: {node: '>=0.10.0'} dev: true optional: true /arrify/2.0.1: - resolution: - { - integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==} + engines: {node: '>=8'} dev: false /assign-symbols/1.0.0: - resolution: - { - integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} + engines: {node: '>=0.10.0'} dev: true optional: true /async-each/1.0.3: - resolution: - { - integrity: sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==, - } + resolution: {integrity: sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==} dev: true optional: true - /asynckit/0.4.0: - resolution: - { - integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==, - } - dev: false - /atob/2.1.2: - resolution: - { - integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==, - } - engines: { node: ">= 4.5.0" } + resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} + engines: {node: '>= 4.5.0'} hasBin: true dev: true optional: true - /axios/0.27.2: - resolution: - { - integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==, - } - dependencies: - follow-redirects: 1.15.1 - form-data: 4.0.0 - transitivePeerDependencies: - - debug - dev: false - /babel-cli/6.26.0: - resolution: - { - integrity: sha512-wau+BDtQfuSBGQ9PzzFL3REvR9Sxnd4LKwtcHAiPjhugA7K/80vpHXafj+O5bAqJOuSefjOx5ZJnNSR2J1Qw6Q==, - } + resolution: {integrity: sha512-wau+BDtQfuSBGQ9PzzFL3REvR9Sxnd4LKwtcHAiPjhugA7K/80vpHXafj+O5bAqJOuSefjOx5ZJnNSR2J1Qw6Q==} hasBin: true dependencies: babel-core: 6.26.3 @@ -2540,10 +1929,7 @@ packages: dev: true /babel-code-frame/6.26.0: - resolution: - { - integrity: sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==, - } + resolution: {integrity: sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==} dependencies: chalk: 1.1.3 esutils: 2.0.3 @@ -2551,10 +1937,7 @@ packages: dev: true /babel-core/6.26.3: - resolution: - { - integrity: sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==, - } + resolution: {integrity: sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==} dependencies: babel-code-frame: 6.26.0 babel-generator: 6.26.1 @@ -2580,10 +1963,7 @@ packages: dev: true /babel-generator/6.26.1: - resolution: - { - integrity: sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==, - } + resolution: {integrity: sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==} dependencies: babel-messages: 6.23.0 babel-runtime: 6.26.0 @@ -2596,10 +1976,7 @@ packages: dev: true /babel-helpers/6.24.1: - resolution: - { - integrity: sha512-n7pFrqQm44TCYvrCDb0MqabAF+JUBq+ijBvNMUxpkLjJaAu32faIexewMumrH5KLLJ1HDyT0PTEqRyAe/GwwuQ==, - } + resolution: {integrity: sha512-n7pFrqQm44TCYvrCDb0MqabAF+JUBq+ijBvNMUxpkLjJaAu32faIexewMumrH5KLLJ1HDyT0PTEqRyAe/GwwuQ==} dependencies: babel-runtime: 6.26.0 babel-template: 6.26.0 @@ -2608,17 +1985,14 @@ packages: dev: true /babel-jest/28.1.2_@babel+core@7.18.6: - resolution: - { - integrity: sha512-pfmoo6sh4L/+5/G2OOfQrGJgvH7fTa1oChnuYH2G/6gA+JwDvO8PELwvwnofKBMNrQsam0Wy/Rw+QSrBNewq2Q==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } + resolution: {integrity: sha512-pfmoo6sh4L/+5/G2OOfQrGJgvH7fTa1oChnuYH2G/6gA+JwDvO8PELwvwnofKBMNrQsam0Wy/Rw+QSrBNewq2Q==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} peerDependencies: - "@babel/core": ^7.8.0 + '@babel/core': ^7.8.0 dependencies: - "@babel/core": 7.18.6 - "@jest/transform": 28.1.2 - "@types/babel__core": 7.1.19 + '@babel/core': 7.18.6 + '@jest/transform': 28.1.2 + '@types/babel__core': 7.1.19 babel-plugin-istanbul: 6.1.1 babel-preset-jest: 28.1.1_@babel+core@7.18.6 chalk: 4.1.2 @@ -2629,33 +2003,24 @@ packages: dev: true /babel-messages/6.23.0: - resolution: - { - integrity: sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w==, - } + resolution: {integrity: sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w==} dependencies: babel-runtime: 6.26.0 dev: true /babel-plugin-dynamic-import-node/2.3.3: - resolution: - { - integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==, - } + resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==} dependencies: object.assign: 4.1.2 dev: true /babel-plugin-istanbul/6.1.1: - resolution: - { - integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==, - } - engines: { node: ">=8" } - dependencies: - "@babel/helper-plugin-utils": 7.18.6 - "@istanbuljs/load-nyc-config": 1.1.0 - "@istanbuljs/schema": 0.1.3 + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} + dependencies: + '@babel/helper-plugin-utils': 7.18.6 + '@istanbuljs/load-nyc-config': 1.1.0 + '@istanbuljs/schema': 0.1.3 istanbul-lib-instrument: 5.2.0 test-exclude: 6.0.0 transitivePeerDependencies: @@ -2663,68 +2028,53 @@ packages: dev: true /babel-plugin-jest-hoist/28.1.1: - resolution: - { - integrity: sha512-NovGCy5Hn25uMJSAU8FaHqzs13cFoOI4lhIujiepssjCKRsAo3TA734RDWSGxuFTsUJXerYOqQQodlxgmtqbzw==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } + resolution: {integrity: sha512-NovGCy5Hn25uMJSAU8FaHqzs13cFoOI4lhIujiepssjCKRsAo3TA734RDWSGxuFTsUJXerYOqQQodlxgmtqbzw==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: - "@babel/template": 7.18.6 - "@babel/types": 7.18.7 - "@types/babel__core": 7.1.19 - "@types/babel__traverse": 7.17.1 + '@babel/template': 7.18.6 + '@babel/types': 7.18.7 + '@types/babel__core': 7.1.19 + '@types/babel__traverse': 7.17.1 dev: true /babel-plugin-polyfill-corejs2/0.3.1_@babel+core@7.18.6: - resolution: - { - integrity: sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==, - } + resolution: {integrity: sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/compat-data": 7.18.6 - "@babel/core": 7.18.6 - "@babel/helper-define-polyfill-provider": 0.3.1_@babel+core@7.18.6 + '@babel/compat-data': 7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-define-polyfill-provider': 0.3.1_@babel+core@7.18.6 semver: 6.3.0 transitivePeerDependencies: - supports-color dev: true /babel-plugin-polyfill-corejs3/0.5.2_@babel+core@7.18.6: - resolution: - { - integrity: sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==, - } + resolution: {integrity: sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-define-polyfill-provider": 0.3.1_@babel+core@7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-define-polyfill-provider': 0.3.1_@babel+core@7.18.6 core-js-compat: 3.23.4 transitivePeerDependencies: - supports-color dev: true /babel-plugin-polyfill-regenerator/0.3.1_@babel+core@7.18.6: - resolution: - { - integrity: sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==, - } + resolution: {integrity: sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==} peerDependencies: - "@babel/core": ^7.0.0-0 + '@babel/core': ^7.0.0-0 dependencies: - "@babel/core": 7.18.6 - "@babel/helper-define-polyfill-provider": 0.3.1_@babel+core@7.18.6 + '@babel/core': 7.18.6 + '@babel/helper-define-polyfill-provider': 0.3.1_@babel+core@7.18.6 transitivePeerDependencies: - supports-color dev: true /babel-polyfill/6.26.0: - resolution: - { - integrity: sha512-F2rZGQnAdaHWQ8YAoeRbukc7HS9QgdgeyJ0rQDd485v9opwuPvjpPFcOOT/WmkKTdgy9ESgSPXDcTNpzrGr6iQ==, - } + resolution: {integrity: sha512-F2rZGQnAdaHWQ8YAoeRbukc7HS9QgdgeyJ0rQDd485v9opwuPvjpPFcOOT/WmkKTdgy9ESgSPXDcTNpzrGr6iQ==} dependencies: babel-runtime: 6.26.0 core-js: 2.6.12 @@ -2732,47 +2082,38 @@ packages: dev: true /babel-preset-current-node-syntax/1.0.1_@babel+core@7.18.6: - resolution: - { - integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==, - } + resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} peerDependencies: - "@babel/core": ^7.0.0 - dependencies: - "@babel/core": 7.18.6 - "@babel/plugin-syntax-async-generators": 7.8.4_@babel+core@7.18.6 - "@babel/plugin-syntax-bigint": 7.8.3_@babel+core@7.18.6 - "@babel/plugin-syntax-class-properties": 7.12.13_@babel+core@7.18.6 - "@babel/plugin-syntax-import-meta": 7.10.4_@babel+core@7.18.6 - "@babel/plugin-syntax-json-strings": 7.8.3_@babel+core@7.18.6 - "@babel/plugin-syntax-logical-assignment-operators": 7.10.4_@babel+core@7.18.6 - "@babel/plugin-syntax-nullish-coalescing-operator": 7.8.3_@babel+core@7.18.6 - "@babel/plugin-syntax-numeric-separator": 7.10.4_@babel+core@7.18.6 - "@babel/plugin-syntax-object-rest-spread": 7.8.3_@babel+core@7.18.6 - "@babel/plugin-syntax-optional-catch-binding": 7.8.3_@babel+core@7.18.6 - "@babel/plugin-syntax-optional-chaining": 7.8.3_@babel+core@7.18.6 - "@babel/plugin-syntax-top-level-await": 7.14.5_@babel+core@7.18.6 + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.18.6 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.18.6 + '@babel/plugin-syntax-bigint': 7.8.3_@babel+core@7.18.6 + '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.18.6 + '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.18.6 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.18.6 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.18.6 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.18.6 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.18.6 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.18.6 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.18.6 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.18.6 + '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.18.6 dev: true /babel-preset-jest/28.1.1_@babel+core@7.18.6: - resolution: - { - integrity: sha512-FCq9Oud0ReTeWtcneYf/48981aTfXYuB9gbU4rBNNJVBSQ6ssv7E6v/qvbBxtOWwZFXjLZwpg+W3q7J6vhH25g==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } + resolution: {integrity: sha512-FCq9Oud0ReTeWtcneYf/48981aTfXYuB9gbU4rBNNJVBSQ6ssv7E6v/qvbBxtOWwZFXjLZwpg+W3q7J6vhH25g==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} peerDependencies: - "@babel/core": ^7.0.0 + '@babel/core': ^7.0.0 dependencies: - "@babel/core": 7.18.6 + '@babel/core': 7.18.6 babel-plugin-jest-hoist: 28.1.1 babel-preset-current-node-syntax: 1.0.1_@babel+core@7.18.6 dev: true /babel-register/6.26.0: - resolution: - { - integrity: sha512-veliHlHX06wjaeY8xNITbveXSiI+ASFnOqvne/LaIJIqOWi2Ogmj91KOugEz/hoh/fwMhXNBJPCv8Xaz5CyM4A==, - } + resolution: {integrity: sha512-veliHlHX06wjaeY8xNITbveXSiI+ASFnOqvne/LaIJIqOWi2Ogmj91KOugEz/hoh/fwMhXNBJPCv8Xaz5CyM4A==} dependencies: babel-core: 6.26.3 babel-runtime: 6.26.0 @@ -2786,20 +2127,14 @@ packages: dev: true /babel-runtime/6.26.0: - resolution: - { - integrity: sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==, - } + resolution: {integrity: sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==} dependencies: core-js: 2.6.12 regenerator-runtime: 0.11.1 dev: true /babel-template/6.26.0: - resolution: - { - integrity: sha512-PCOcLFW7/eazGUKIoqH97sO9A2UYMahsn/yRQ7uOk37iutwjq7ODtcTNF+iFDSHNfkctqsLRjLP7URnOx0T1fg==, - } + resolution: {integrity: sha512-PCOcLFW7/eazGUKIoqH97sO9A2UYMahsn/yRQ7uOk37iutwjq7ODtcTNF+iFDSHNfkctqsLRjLP7URnOx0T1fg==} dependencies: babel-runtime: 6.26.0 babel-traverse: 6.26.0 @@ -2811,10 +2146,7 @@ packages: dev: true /babel-traverse/6.26.0: - resolution: - { - integrity: sha512-iSxeXx7apsjCHe9c7n8VtRXGzI2Bk1rBSOJgCCjfyXb6v1aCqE1KSEpq/8SXuVN8Ka/Rh1WDTF0MDzkvTA4MIA==, - } + resolution: {integrity: sha512-iSxeXx7apsjCHe9c7n8VtRXGzI2Bk1rBSOJgCCjfyXb6v1aCqE1KSEpq/8SXuVN8Ka/Rh1WDTF0MDzkvTA4MIA==} dependencies: babel-code-frame: 6.26.0 babel-messages: 6.23.0 @@ -2830,10 +2162,7 @@ packages: dev: true /babel-types/6.26.0: - resolution: - { - integrity: sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==, - } + resolution: {integrity: sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==} dependencies: babel-runtime: 6.26.0 esutils: 2.0.3 @@ -2842,26 +2171,17 @@ packages: dev: true /babylon/6.18.0: - resolution: - { - integrity: sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==, - } + resolution: {integrity: sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==} hasBin: true dev: true /balanced-match/1.0.2: - resolution: - { - integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, - } + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: true /base/0.11.2: - resolution: - { - integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} + engines: {node: '>=0.10.0'} dependencies: cache-base: 1.0.1 class-utils: 0.3.6 @@ -2874,52 +2194,34 @@ packages: optional: true /base64-js/1.5.1: - resolution: - { - integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==, - } + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} dev: false /bignumber.js/9.0.2: - resolution: - { - integrity: sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==, - } + resolution: {integrity: sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==} dev: false /binary-extensions/1.13.1: - resolution: - { - integrity: sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==} + engines: {node: '>=0.10.0'} dev: true optional: true /binary-extensions/2.2.0: - resolution: - { - integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} dev: true /bindings/1.5.0: - resolution: - { - integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==, - } + resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} dependencies: file-uri-to-path: 1.0.0 dev: true optional: true /body-parser/1.20.0: - resolution: - { - integrity: sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==, - } - engines: { node: ">= 0.8", npm: 1.2.8000 || >= 1.4.16 } + resolution: {integrity: sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} dependencies: bytes: 3.1.2 content-type: 1.0.4 @@ -2938,11 +2240,8 @@ packages: dev: false /boxen/5.1.2: - resolution: - { - integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} + engines: {node: '>=10'} dependencies: ansi-align: 3.0.1 camelcase: 6.3.0 @@ -2955,21 +2254,15 @@ packages: dev: true /brace-expansion/1.1.11: - resolution: - { - integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, - } + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 dev: true /braces/1.8.5: - resolution: - { - integrity: sha512-xU7bpz2ytJl1bH9cgIurjpg/n8Gohy9GTw81heDYLJQ4RU60dlyJsa+atVF2pI0yMMvKxI9HkKwjePCj5XI1hw==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-xU7bpz2ytJl1bH9cgIurjpg/n8Gohy9GTw81heDYLJQ4RU60dlyJsa+atVF2pI0yMMvKxI9HkKwjePCj5XI1hw==} + engines: {node: '>=0.10.0'} dependencies: expand-range: 1.8.2 preserve: 0.2.0 @@ -2978,11 +2271,8 @@ packages: optional: true /braces/2.3.2: - resolution: - { - integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} + engines: {node: '>=0.10.0'} dependencies: arr-flatten: 1.1.0 array-unique: 0.3.2 @@ -3000,21 +2290,15 @@ packages: optional: true /braces/3.0.2: - resolution: - { - integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} dependencies: fill-range: 7.0.1 dev: true /browserslist/4.21.1: - resolution: - { - integrity: sha512-Nq8MFCSrnJXSc88yliwlzQe3qNe3VntIjhsArW9IJOEPSHNx23FalwApUVbzAWABLhYJJ7y8AynWI/XM8OdfjQ==, - } - engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } + resolution: {integrity: sha512-Nq8MFCSrnJXSc88yliwlzQe3qNe3VntIjhsArW9IJOEPSHNx23FalwApUVbzAWABLhYJJ7y8AynWI/XM8OdfjQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: caniuse-lite: 1.0.30001361 @@ -3024,52 +2308,34 @@ packages: dev: true /bs-logger/0.2.6: - resolution: - { - integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==, - } - engines: { node: ">= 6" } + resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} + engines: {node: '>= 6'} dependencies: fast-json-stable-stringify: 2.1.0 dev: true /bser/2.1.1: - resolution: - { - integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==, - } + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} dependencies: node-int64: 0.4.0 dev: true /buffer-equal-constant-time/1.0.1: - resolution: - { - integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==, - } + resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} dev: false /buffer-from/1.1.2: - resolution: - { - integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==, - } + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} dev: true /bytes/3.1.2: - resolution: - { - integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==, - } - engines: { node: ">= 0.8" } + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} dev: false /cache-base/1.0.1: - resolution: - { - integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} + engines: {node: '>=0.10.0'} dependencies: collection-visit: 1.0.0 component-emitter: 1.3.0 @@ -3084,11 +2350,8 @@ packages: optional: true /cacheable-request/6.1.0: - resolution: - { - integrity: sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==} + engines: {node: '>=8'} dependencies: clone-response: 1.0.2 get-stream: 5.2.0 @@ -3100,51 +2363,33 @@ packages: dev: true /call-bind/1.0.2: - resolution: - { - integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==, - } + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: function-bind: 1.1.1 get-intrinsic: 1.1.2 /callsites/3.1.0: - resolution: - { - integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} dev: true /camelcase/5.3.1: - resolution: - { - integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} dev: true /camelcase/6.3.0: - resolution: - { - integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} dev: true /caniuse-lite/1.0.30001361: - resolution: - { - integrity: sha512-ybhCrjNtkFji1/Wto6SSJKkWk6kZgVQsDq5QI83SafsF6FXv2JB4df9eEdH6g8sdGgqTXrFLjAxqBGgYoU3azQ==, - } + resolution: {integrity: sha512-ybhCrjNtkFji1/Wto6SSJKkWk6kZgVQsDq5QI83SafsF6FXv2JB4df9eEdH6g8sdGgqTXrFLjAxqBGgYoU3azQ==} dev: true /chalk/1.1.3: - resolution: - { - integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} + engines: {node: '>=0.10.0'} dependencies: ansi-styles: 2.2.1 escape-string-regexp: 1.0.5 @@ -3154,11 +2399,8 @@ packages: dev: true /chalk/2.4.2: - resolution: - { - integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} dependencies: ansi-styles: 3.2.1 escape-string-regexp: 1.0.5 @@ -3166,29 +2408,20 @@ packages: dev: true /chalk/4.1.2: - resolution: - { - integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 dev: true /char-regex/1.0.2: - resolution: - { - integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} dev: true /chokidar/1.7.0: - resolution: - { - integrity: sha512-mk8fAWcRUOxY7btlLtitj3A45jOwSAxH4tOFOoEGbVsl6cL6pPMWUy7dwZ/canfj3QEdP6FHSnf/l1c6/WkzVg==, - } + resolution: {integrity: sha512-mk8fAWcRUOxY7btlLtitj3A45jOwSAxH4tOFOoEGbVsl6cL6pPMWUy7dwZ/canfj3QEdP6FHSnf/l1c6/WkzVg==} deprecated: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies. requiresBuild: true dependencies: @@ -3208,11 +2441,8 @@ packages: optional: true /chokidar/3.5.3: - resolution: - { - integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==, - } - engines: { node: ">= 8.10.0" } + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} dependencies: anymatch: 3.1.2 braces: 3.0.2 @@ -3226,32 +2456,20 @@ packages: dev: true /ci-info/2.0.0: - resolution: - { - integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==, - } + resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} dev: true /ci-info/3.3.2: - resolution: - { - integrity: sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg==, - } + resolution: {integrity: sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg==} dev: true /cjs-module-lexer/1.2.2: - resolution: - { - integrity: sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==, - } + resolution: {integrity: sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==} dev: true /class-utils/0.3.6: - resolution: - { - integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} + engines: {node: '>=0.10.0'} dependencies: arr-union: 3.1.0 define-property: 0.2.5 @@ -3261,18 +2479,12 @@ packages: optional: true /cli-boxes/2.2.1: - resolution: - { - integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} + engines: {node: '>=6'} dev: true /cliui/7.0.4: - resolution: - { - integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==, - } + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 @@ -3280,35 +2492,23 @@ packages: dev: true /clone-response/1.0.2: - resolution: - { - integrity: sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==, - } + resolution: {integrity: sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==} dependencies: mimic-response: 1.0.1 dev: true /co/4.6.0: - resolution: - { - integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==, - } - engines: { iojs: ">= 1.0.0", node: ">= 0.12.0" } + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} dev: true /collect-v8-coverage/1.0.1: - resolution: - { - integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==, - } + resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==} dev: true /collection-visit/1.0.0: - resolution: - { - integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==} + engines: {node: '>=0.10.0'} dependencies: map-visit: 1.0.0 object-visit: 1.0.1 @@ -3316,76 +2516,42 @@ packages: optional: true /color-convert/1.9.3: - resolution: - { - integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==, - } + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: color-name: 1.1.3 dev: true /color-convert/2.0.1: - resolution: - { - integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, - } - engines: { node: ">=7.0.0" } + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 dev: true /color-name/1.1.3: - resolution: - { - integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==, - } + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} dev: true /color-name/1.1.4: - resolution: - { - integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, - } + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} dev: true - /combined-stream/1.0.8: - resolution: - { - integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==, - } - engines: { node: ">= 0.8" } - dependencies: - delayed-stream: 1.0.0 - dev: false - /commander/2.20.3: - resolution: - { - integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==, - } + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} dev: true /component-emitter/1.3.0: - resolution: - { - integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==, - } + resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==} dev: true optional: true /concat-map/0.0.1: - resolution: - { - integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, - } + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} dev: true /configstore/5.0.1: - resolution: - { - integrity: sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==} + engines: {node: '>=8'} dependencies: dot-prop: 5.3.0 graceful-fs: 4.2.10 @@ -3396,114 +2562,74 @@ packages: dev: true /content-disposition/0.5.4: - resolution: - { - integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==, - } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} dependencies: safe-buffer: 5.2.1 dev: false /content-type/1.0.4: - resolution: - { - integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==, - } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} + engines: {node: '>= 0.6'} dev: false /convert-source-map/1.8.0: - resolution: - { - integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==, - } + resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==} dependencies: safe-buffer: 5.1.2 dev: true /cookie-signature/1.0.6: - resolution: - { - integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==, - } + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} dev: false /cookie/0.5.0: - resolution: - { - integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==, - } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} + engines: {node: '>= 0.6'} dev: false /copy-descriptor/0.1.1: - resolution: - { - integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} + engines: {node: '>=0.10.0'} dev: true optional: true /core-js-compat/3.23.4: - resolution: - { - integrity: sha512-RkSRPe+JYEoflcsuxJWaiMPhnZoFS51FcIxm53k4KzhISCBTmaGlto9dTIrYuk0hnJc3G6pKufAKepHnBq6B6Q==, - } + resolution: {integrity: sha512-RkSRPe+JYEoflcsuxJWaiMPhnZoFS51FcIxm53k4KzhISCBTmaGlto9dTIrYuk0hnJc3G6pKufAKepHnBq6B6Q==} dependencies: browserslist: 4.21.1 semver: 7.0.0 dev: true /core-js-pure/3.23.3: - resolution: - { - integrity: sha512-XpoouuqIj4P+GWtdyV8ZO3/u4KftkeDVMfvp+308eGMhCrA3lVDSmAxO0c6GGOcmgVlaKDrgWVMo49h2ab/TDA==, - } + resolution: {integrity: sha512-XpoouuqIj4P+GWtdyV8ZO3/u4KftkeDVMfvp+308eGMhCrA3lVDSmAxO0c6GGOcmgVlaKDrgWVMo49h2ab/TDA==} requiresBuild: true dev: false + /cors/2.8.5: + resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} + engines: {node: '>= 0.10'} + dependencies: + object-assign: 4.1.1 + vary: 1.1.2 + dev: false /core-js/2.6.12: - resolution: - { - integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==, - } + resolution: {integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==} deprecated: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js. requiresBuild: true dev: true /core-util-is/1.0.3: - resolution: - { - integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==, - } + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} dev: true optional: true - /cors/2.8.5: - resolution: - { - integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==, - } - engines: { node: ">= 0.10" } - dependencies: - object-assign: 4.1.1 - vary: 1.1.2 - dev: false - /create-require/1.1.1: - resolution: - { - integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==, - } + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} /cross-spawn/7.0.3: - resolution: - { - integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==, - } - engines: { node: ">= 8" } + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} dependencies: path-key: 3.1.1 shebang-command: 2.0.0 @@ -3511,37 +2637,25 @@ packages: dev: true /crypto-js/4.1.1: - resolution: - { - integrity: sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==, - } + resolution: {integrity: sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==} requiresBuild: true dev: false optional: true /crypto-random-string/2.0.0: - resolution: - { - integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} + engines: {node: '>=8'} dev: true /date-fns/2.28.0: - resolution: - { - integrity: sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw==, - } - engines: { node: ">=0.11" } + resolution: {integrity: sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw==} + engines: {node: '>=0.11'} dev: false /debug/2.6.9: - resolution: - { - integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==, - } + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: - supports-color: "*" + supports-color: '*' peerDependenciesMeta: supports-color: optional: true @@ -3549,12 +2663,9 @@ packages: ms: 2.0.0 /debug/3.2.7_supports-color@5.5.0: - resolution: - { - integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==, - } + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: - supports-color: "*" + supports-color: '*' peerDependenciesMeta: supports-color: optional: true @@ -3564,13 +2675,10 @@ packages: dev: true /debug/4.3.4: - resolution: - { - integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==, - } - engines: { node: ">=6.0" } + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} peerDependencies: - supports-color: "*" + supports-color: '*' peerDependenciesMeta: supports-color: optional: true @@ -3578,323 +2686,204 @@ packages: ms: 2.1.2 /decode-uri-component/0.2.0: - resolution: - { - integrity: sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==, - } - engines: { node: ">=0.10" } + resolution: {integrity: sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==} + engines: {node: '>=0.10'} dev: true optional: true /decompress-response/3.3.0: - resolution: - { - integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==} + engines: {node: '>=4'} dependencies: mimic-response: 1.0.1 dev: true /dedent/0.7.0: - resolution: - { - integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==, - } + resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} dev: true /deep-extend/0.6.0: - resolution: - { - integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==, - } - engines: { node: ">=4.0.0" } + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} dev: true /deepmerge/4.2.2: - resolution: - { - integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} + engines: {node: '>=0.10.0'} dev: true /defer-to-connect/1.1.3: - resolution: - { - integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==, - } + resolution: {integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==} dev: true /define-properties/1.1.4: - resolution: - { - integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} + engines: {node: '>= 0.4'} dependencies: has-property-descriptors: 1.0.0 object-keys: 1.1.1 dev: true /define-property/0.2.5: - resolution: - { - integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} + engines: {node: '>=0.10.0'} dependencies: is-descriptor: 0.1.6 dev: true optional: true /define-property/1.0.0: - resolution: - { - integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==} + engines: {node: '>=0.10.0'} dependencies: is-descriptor: 1.0.2 dev: true optional: true /define-property/2.0.2: - resolution: - { - integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} + engines: {node: '>=0.10.0'} dependencies: is-descriptor: 1.0.2 isobject: 3.0.1 dev: true optional: true - /delayed-stream/1.0.0: - resolution: - { - integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==, - } - engines: { node: ">=0.4.0" } - dev: false - /depd/2.0.0: - resolution: - { - integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==, - } - engines: { node: ">= 0.8" } + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} dev: false /destroy/1.2.0: - resolution: - { - integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==, - } - engines: { node: ">= 0.8", npm: 1.2.8000 || >= 1.4.16 } + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} dev: false /detect-indent/4.0.0: - resolution: - { - integrity: sha512-BDKtmHlOzwI7iRuEkhzsnPoi5ypEhWAJB5RvHWe1kMr06js3uK5B3734i3ui5Yd+wOJV1cpE4JnivPD283GU/A==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-BDKtmHlOzwI7iRuEkhzsnPoi5ypEhWAJB5RvHWe1kMr06js3uK5B3734i3ui5Yd+wOJV1cpE4JnivPD283GU/A==} + engines: {node: '>=0.10.0'} dependencies: repeating: 2.0.1 dev: true /detect-newline/3.1.0: - resolution: - { - integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} dev: true /diff-sequences/28.1.1: - resolution: - { - integrity: sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } + resolution: {integrity: sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dev: true /diff/4.0.2: - resolution: - { - integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==, - } - engines: { node: ">=0.3.1" } + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} /dot-prop/5.3.0: - resolution: - { - integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} + engines: {node: '>=8'} dependencies: is-obj: 2.0.0 dev: true /dotenv/16.0.1: - resolution: - { - integrity: sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==} + engines: {node: '>=12'} dev: false /duplexer3/0.1.4: - resolution: - { - integrity: sha512-CEj8FwwNA4cVH2uFCoHUrmojhYh1vmCdOaneKJXwkeY1i9jnlslVo9dx+hQ5Hl9GnH/Bwy/IjxAyOePyPKYnzA==, - } + resolution: {integrity: sha512-CEj8FwwNA4cVH2uFCoHUrmojhYh1vmCdOaneKJXwkeY1i9jnlslVo9dx+hQ5Hl9GnH/Bwy/IjxAyOePyPKYnzA==} dev: true /ecdsa-sig-formatter/1.0.11: - resolution: - { - integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==, - } + resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} dependencies: safe-buffer: 5.2.1 dev: false /ee-first/1.1.1: - resolution: - { - integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==, - } + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} dev: false /electron-to-chromium/1.4.173: - resolution: - { - integrity: sha512-Qo3LnVW6JRNhD32viSdPebxKI7K+3WeBDjU1+Q2yZS83zAh8C2LyPpzTimlciv6U74KpY9n/0ESAhUByRke0jw==, - } + resolution: {integrity: sha512-Qo3LnVW6JRNhD32viSdPebxKI7K+3WeBDjU1+Q2yZS83zAh8C2LyPpzTimlciv6U74KpY9n/0ESAhUByRke0jw==} dev: true /emittery/0.10.2: - resolution: - { - integrity: sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==} + engines: {node: '>=12'} dev: true /emoji-regex/8.0.0: - resolution: - { - integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==, - } + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: true /encodeurl/1.0.2: - resolution: - { - integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==, - } - engines: { node: ">= 0.8" } + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} dev: false /end-of-stream/1.4.4: - resolution: - { - integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==, - } + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} dependencies: once: 1.4.0 dev: true /error-ex/1.3.2: - resolution: - { - integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==, - } + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: is-arrayish: 0.2.1 dev: true /escalade/3.1.1: - resolution: - { - integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} dev: true /escape-goat/2.1.1: - resolution: - { - integrity: sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==} + engines: {node: '>=8'} dev: true /escape-html/1.0.3: - resolution: - { - integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==, - } + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} dev: false /escape-string-regexp/1.0.5: - resolution: - { - integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==, - } - engines: { node: ">=0.8.0" } + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} dev: true /escape-string-regexp/2.0.0: - resolution: - { - integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} dev: true /esprima/4.0.1: - resolution: - { - integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} hasBin: true dev: true /esutils/2.0.3: - resolution: - { - integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} dev: true /etag/1.8.1: - resolution: - { - integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==, - } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} dev: false /event-target-shim/5.0.1: - resolution: - { - integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} dev: false /execa/5.1.1: - resolution: - { - integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 @@ -3908,30 +2897,21 @@ packages: dev: true /exit/0.1.2: - resolution: - { - integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==, - } - engines: { node: ">= 0.8.0" } + resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} + engines: {node: '>= 0.8.0'} dev: true /expand-brackets/0.1.5: - resolution: - { - integrity: sha512-hxx03P2dJxss6ceIeri9cmYOT4SRs3Zk3afZwWpOsRqLqprhTR8u++SlC+sFGsQr7WGFPdMF7Gjc1njDLDK6UA==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-hxx03P2dJxss6ceIeri9cmYOT4SRs3Zk3afZwWpOsRqLqprhTR8u++SlC+sFGsQr7WGFPdMF7Gjc1njDLDK6UA==} + engines: {node: '>=0.10.0'} dependencies: is-posix-bracket: 0.1.1 dev: true optional: true /expand-brackets/2.1.4: - resolution: - { - integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} + engines: {node: '>=0.10.0'} dependencies: debug: 2.6.9 define-property: 0.2.5 @@ -3946,24 +2926,18 @@ packages: optional: true /expand-range/1.8.2: - resolution: - { - integrity: sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA==} + engines: {node: '>=0.10.0'} dependencies: fill-range: 2.2.4 dev: true optional: true /expect/28.1.1: - resolution: - { - integrity: sha512-/AANEwGL0tWBwzLNOvO0yUdy2D52jVdNXppOqswC49sxMN2cPWsGCQdzuIf9tj6hHoBQzNvx75JUYuQAckPo3w==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } + resolution: {integrity: sha512-/AANEwGL0tWBwzLNOvO0yUdy2D52jVdNXppOqswC49sxMN2cPWsGCQdzuIf9tj6hHoBQzNvx75JUYuQAckPo3w==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: - "@jest/expect-utils": 28.1.1 + '@jest/expect-utils': 28.1.1 jest-get-type: 28.0.2 jest-matcher-utils: 28.1.1 jest-message-util: 28.1.1 @@ -3971,11 +2945,8 @@ packages: dev: true /express/4.18.1: - resolution: - { - integrity: sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==, - } - engines: { node: ">= 0.10.0" } + resolution: {integrity: sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==} + engines: {node: '>= 0.10.0'} dependencies: accepts: 1.3.8 array-flatten: 1.1.1 @@ -4013,22 +2984,16 @@ packages: dev: false /extend-shallow/2.0.1: - resolution: - { - integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} dependencies: is-extendable: 0.1.1 dev: true optional: true /extend-shallow/3.0.2: - resolution: - { - integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==} + engines: {node: '>=0.10.0'} dependencies: assign-symbols: 1.0.0 is-extendable: 1.0.1 @@ -4036,29 +3001,20 @@ packages: optional: true /extend/3.0.2: - resolution: - { - integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==, - } + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} dev: false /extglob/0.3.2: - resolution: - { - integrity: sha512-1FOj1LOwn42TMrruOHGt18HemVnbwAmAak7krWk+wa93KXxGbK+2jpezm+ytJYDaBX0/SPLZFHKM7m+tKobWGg==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-1FOj1LOwn42TMrruOHGt18HemVnbwAmAak7krWk+wa93KXxGbK+2jpezm+ytJYDaBX0/SPLZFHKM7m+tKobWGg==} + engines: {node: '>=0.10.0'} dependencies: is-extglob: 1.0.0 dev: true optional: true /extglob/2.0.4: - resolution: - { - integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} + engines: {node: '>=0.10.0'} dependencies: array-unique: 0.3.2 define-property: 1.0.0 @@ -4074,51 +3030,33 @@ packages: optional: true /fast-json-stable-stringify/2.1.0: - resolution: - { - integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, - } + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} dev: true /fast-text-encoding/1.0.4: - resolution: - { - integrity: sha512-x6lDDm/tBAzX9kmsPcZsNbvDs3Zey3+scsxaZElS8xWLgUMAg/oFLeewfUz0mu1CblHhhsu15jGkraldkFh8KQ==, - } + resolution: {integrity: sha512-x6lDDm/tBAzX9kmsPcZsNbvDs3Zey3+scsxaZElS8xWLgUMAg/oFLeewfUz0mu1CblHhhsu15jGkraldkFh8KQ==} dev: false /fb-watchman/2.0.1: - resolution: - { - integrity: sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==, - } + resolution: {integrity: sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==} dependencies: bser: 2.1.1 dev: true /file-uri-to-path/1.0.0: - resolution: - { - integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==, - } + resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} dev: true optional: true /filename-regex/2.0.1: - resolution: - { - integrity: sha512-BTCqyBaWBTsauvnHiE8i562+EdJj+oUpkqWp2R1iCoR8f6oo8STRu3of7WJJ0TqWtxN50a5YFpzYK4Jj9esYfQ==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-BTCqyBaWBTsauvnHiE8i562+EdJj+oUpkqWp2R1iCoR8f6oo8STRu3of7WJJ0TqWtxN50a5YFpzYK4Jj9esYfQ==} + engines: {node: '>=0.10.0'} dev: true optional: true /fill-range/2.2.4: - resolution: - { - integrity: sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==} + engines: {node: '>=0.10.0'} dependencies: is-number: 2.1.0 isobject: 2.1.0 @@ -4129,11 +3067,8 @@ packages: optional: true /fill-range/4.0.0: - resolution: - { - integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} + engines: {node: '>=0.10.0'} dependencies: extend-shallow: 2.0.1 is-number: 3.0.0 @@ -4143,21 +3078,15 @@ packages: optional: true /fill-range/7.0.1: - resolution: - { - integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 dev: true /finalhandler/1.2.0: - resolution: - { - integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==, - } - engines: { node: ">= 0.8" } + resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} + engines: {node: '>= 0.8'} dependencies: debug: 2.6.9 encodeurl: 1.0.2 @@ -4171,108 +3100,56 @@ packages: dev: false /find-up/4.1.0: - resolution: - { - integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} dependencies: locate-path: 5.0.0 path-exists: 4.0.0 dev: true - /follow-redirects/1.15.1: - resolution: - { - integrity: sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==, - } - engines: { node: ">=4.0" } - peerDependencies: - debug: "*" - peerDependenciesMeta: - debug: - optional: true - dev: false - /for-in/1.0.2: - resolution: - { - integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} + engines: {node: '>=0.10.0'} dev: true optional: true /for-own/0.1.5: - resolution: - { - integrity: sha512-SKmowqGTJoPzLO1T0BBJpkfp3EMacCMOuH40hOUbrbzElVktk4DioXVM99QkLCyKoiuOmyjgcWMpVz2xjE7LZw==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-SKmowqGTJoPzLO1T0BBJpkfp3EMacCMOuH40hOUbrbzElVktk4DioXVM99QkLCyKoiuOmyjgcWMpVz2xjE7LZw==} + engines: {node: '>=0.10.0'} dependencies: for-in: 1.0.2 dev: true optional: true - /form-data/4.0.0: - resolution: - { - integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==, - } - engines: { node: ">= 6" } - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - dev: false - /forwarded/0.2.0: - resolution: - { - integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==, - } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} dev: false /fragment-cache/0.2.1: - resolution: - { - integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} + engines: {node: '>=0.10.0'} dependencies: map-cache: 0.2.2 dev: true optional: true /fresh/0.5.2: - resolution: - { - integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==, - } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} dev: false /fs-readdir-recursive/1.1.0: - resolution: - { - integrity: sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==, - } + resolution: {integrity: sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==} dev: true /fs.realpath/1.0.0: - resolution: - { - integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, - } + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: true /fsevents/1.2.13: - resolution: - { - integrity: sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==, - } - engines: { node: ">= 4.0" } + resolution: {integrity: sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==} + engines: {node: '>= 4.0'} os: [darwin] deprecated: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2. requiresBuild: true @@ -4283,28 +3160,19 @@ packages: optional: true /fsevents/2.3.2: - resolution: - { - integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==, - } - engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true dev: true optional: true /function-bind/1.1.1: - resolution: - { - integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==, - } + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} /gaxios/4.3.3: - resolution: - { - integrity: sha512-gSaYYIO1Y3wUtdfHmjDUZ8LWaxJQpiavzbF5Kq53akSzvmVg0RfyOcFDbO1KJ/KCGRFz2qG+lS81F0nkr7cRJA==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-gSaYYIO1Y3wUtdfHmjDUZ8LWaxJQpiavzbF5Kq53akSzvmVg0RfyOcFDbO1KJ/KCGRFz2qG+lS81F0nkr7cRJA==} + engines: {node: '>=10'} dependencies: abort-controller: 3.0.0 extend: 3.0.2 @@ -4317,11 +3185,8 @@ packages: dev: false /gaxios/5.0.1: - resolution: - { - integrity: sha512-keK47BGKHyyOVQxgcUaSaFvr3ehZYAlvhvpHXy0YB2itzZef+GqZR8TBsfVRWghdwlKrYsn+8L8i3eblF7Oviw==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-keK47BGKHyyOVQxgcUaSaFvr3ehZYAlvhvpHXy0YB2itzZef+GqZR8TBsfVRWghdwlKrYsn+8L8i3eblF7Oviw==} + engines: {node: '>=12'} dependencies: extend: 3.0.2 https-proxy-agent: 5.0.1 @@ -4333,11 +3198,8 @@ packages: dev: false /gcp-metadata/5.0.0: - resolution: - { - integrity: sha512-gfwuX3yA3nNsHSWUL4KG90UulNiq922Ukj3wLTrcnX33BB7PwB1o0ubR8KVvXu9nJH+P5w1j2SQSNNqto+H0DA==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-gfwuX3yA3nNsHSWUL4KG90UulNiq922Ukj3wLTrcnX33BB7PwB1o0ubR8KVvXu9nJH+P5w1j2SQSNNqto+H0DA==} + engines: {node: '>=12'} dependencies: gaxios: 5.0.1 json-bigint: 1.0.0 @@ -4347,82 +3209,55 @@ packages: dev: false /gensync/1.0.0-beta.2: - resolution: - { - integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==, - } - engines: { node: ">=6.9.0" } + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} dev: true /get-caller-file/2.0.5: - resolution: - { - integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==, - } - engines: { node: 6.* || 8.* || >= 10.* } + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} dev: true /get-intrinsic/1.1.2: - resolution: - { - integrity: sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==, - } + resolution: {integrity: sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==} dependencies: function-bind: 1.1.1 has: 1.0.3 has-symbols: 1.0.3 /get-package-type/0.1.0: - resolution: - { - integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==, - } - engines: { node: ">=8.0.0" } + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} dev: true /get-stream/4.1.0: - resolution: - { - integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} + engines: {node: '>=6'} dependencies: pump: 3.0.0 dev: true /get-stream/5.2.0: - resolution: - { - integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} dependencies: pump: 3.0.0 dev: true /get-stream/6.0.1: - resolution: - { - integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} dev: true /get-value/2.0.6: - resolution: - { - integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} + engines: {node: '>=0.10.0'} dev: true optional: true /glob-base/0.3.0: - resolution: - { - integrity: sha512-ab1S1g1EbO7YzauaJLkgLp7DZVAqj9M/dvKlTt8DkXA2tiOIcSMrlVI2J1RZyB5iJVccEscjGn+kpOG9788MHA==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-ab1S1g1EbO7YzauaJLkgLp7DZVAqj9M/dvKlTt8DkXA2tiOIcSMrlVI2J1RZyB5iJVccEscjGn+kpOG9788MHA==} + engines: {node: '>=0.10.0'} dependencies: glob-parent: 2.0.0 is-glob: 2.0.1 @@ -4430,30 +3265,21 @@ packages: optional: true /glob-parent/2.0.0: - resolution: - { - integrity: sha512-JDYOvfxio/t42HKdxkAYaCiBN7oYiuxykOxKxdaUW5Qn0zaYN3gRQWolrwdnf0shM9/EP0ebuuTmyoXNr1cC5w==, - } + resolution: {integrity: sha512-JDYOvfxio/t42HKdxkAYaCiBN7oYiuxykOxKxdaUW5Qn0zaYN3gRQWolrwdnf0shM9/EP0ebuuTmyoXNr1cC5w==} dependencies: is-glob: 2.0.1 dev: true optional: true /glob-parent/5.1.2: - resolution: - { - integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==, - } - engines: { node: ">= 6" } + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} dependencies: is-glob: 4.0.3 dev: true /glob/7.2.3: - resolution: - { - integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==, - } + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -4464,37 +3290,25 @@ packages: dev: true /global-dirs/3.0.0: - resolution: - { - integrity: sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==} + engines: {node: '>=10'} dependencies: ini: 2.0.0 dev: true /globals/11.12.0: - resolution: - { - integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} dev: true /globals/9.18.0: - resolution: - { - integrity: sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==} + engines: {node: '>=0.10.0'} dev: true /google-auth-library/8.1.0: - resolution: - { - integrity: sha512-J/fNXEnqLgbr3kmeUshZCtHQia6ZiNbbrebVzpt/+LTeY6Ka9CtbQvloTjVGVO7nyYbs0KYeuIwgUC/t2Gp1Jw==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-J/fNXEnqLgbr3kmeUshZCtHQia6ZiNbbrebVzpt/+LTeY6Ka9CtbQvloTjVGVO7nyYbs0KYeuIwgUC/t2Gp1Jw==} + engines: {node: '>=12'} dependencies: arrify: 2.0.1 base64-js: 1.5.1 @@ -4511,22 +3325,16 @@ packages: dev: false /google-p12-pem/4.0.0: - resolution: - { - integrity: sha512-lRTMn5ElBdDixv4a86bixejPSRk1boRtUowNepeKEVvYiFlkLuAJUVpEz6PfObDHYEKnZWq/9a2zC98xu62A9w==, - } - engines: { node: ">=12.0.0" } + resolution: {integrity: sha512-lRTMn5ElBdDixv4a86bixejPSRk1boRtUowNepeKEVvYiFlkLuAJUVpEz6PfObDHYEKnZWq/9a2zC98xu62A9w==} + engines: {node: '>=12.0.0'} hasBin: true dependencies: node-forge: 1.3.1 dev: false /googleapis-common/6.0.0: - resolution: - { - integrity: sha512-ieZouiuoyTHCckOgu7NU+n5UvA8kAzGTRRMQD+3bobCX9npnRvYDmTHZjM5lQLzf0cGz1xQ1ABCxGQ+xSsMkCw==, - } - engines: { node: ">=12.0.0" } + resolution: {integrity: sha512-ieZouiuoyTHCckOgu7NU+n5UvA8kAzGTRRMQD+3bobCX9npnRvYDmTHZjM5lQLzf0cGz1xQ1ABCxGQ+xSsMkCw==} + engines: {node: '>=12.0.0'} dependencies: extend: 3.0.2 gaxios: 4.3.3 @@ -4540,11 +3348,8 @@ packages: dev: false /googleapis/105.0.0: - resolution: - { - integrity: sha512-wH/jU/6QpqwsjTKj4vfKZz97ne7xT7BBbKwzQEwnbsG8iH9Seyw19P+AuLJcxNNrmgblwLqfr3LORg4Okat1BQ==, - } - engines: { node: ">=12.0.0" } + resolution: {integrity: sha512-wH/jU/6QpqwsjTKj4vfKZz97ne7xT7BBbKwzQEwnbsG8iH9Seyw19P+AuLJcxNNrmgblwLqfr3LORg4Okat1BQ==} + engines: {node: '>=12.0.0'} dependencies: google-auth-library: 8.1.0 googleapis-common: 6.0.0 @@ -4554,16 +3359,13 @@ packages: dev: false /got/9.6.0: - resolution: - { - integrity: sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==, - } - engines: { node: ">=8.6" } - dependencies: - "@sindresorhus/is": 0.14.0 - "@szmarczak/http-timer": 1.1.2 - "@types/keyv": 3.1.4 - "@types/responselike": 1.0.0 + resolution: {integrity: sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==} + engines: {node: '>=8.6'} + dependencies: + '@sindresorhus/is': 0.14.0 + '@szmarczak/http-timer': 1.1.2 + '@types/keyv': 3.1.4 + '@types/responselike': 1.0.0 cacheable-request: 6.1.0 decompress-response: 3.3.0 duplexer3: 0.1.4 @@ -4576,18 +3378,12 @@ packages: dev: true /graceful-fs/4.2.10: - resolution: - { - integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==, - } + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} dev: true /gtoken/6.1.0: - resolution: - { - integrity: sha512-WPZcFw34wh2LUvbCUWI70GDhOlO7qHpSvFHFqq7d3Wvsf8dIJedE0lnUdOmsKuC0NgflKmF0LxIF38vsGeHHiQ==, - } - engines: { node: ">=12.0.0" } + resolution: {integrity: sha512-WPZcFw34wh2LUvbCUWI70GDhOlO7qHpSvFHFqq7d3Wvsf8dIJedE0lnUdOmsKuC0NgflKmF0LxIF38vsGeHHiQ==} + engines: {node: '>=12.0.0'} dependencies: gaxios: 4.3.3 google-p12-pem: 4.0.0 @@ -4598,53 +3394,35 @@ packages: dev: false /has-ansi/2.0.0: - resolution: - { - integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} + engines: {node: '>=0.10.0'} dependencies: ansi-regex: 2.1.1 dev: true /has-flag/3.0.0: - resolution: - { - integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} dev: true /has-flag/4.0.0: - resolution: - { - integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} dev: true /has-property-descriptors/1.0.0: - resolution: - { - integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==, - } + resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} dependencies: get-intrinsic: 1.1.2 dev: true /has-symbols/1.0.3: - resolution: - { - integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} /has-value/0.3.1: - resolution: - { - integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==} + engines: {node: '>=0.10.0'} dependencies: get-value: 2.0.6 has-values: 0.1.4 @@ -4653,11 +3431,8 @@ packages: optional: true /has-value/1.0.0: - resolution: - { - integrity: sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==} + engines: {node: '>=0.10.0'} dependencies: get-value: 2.0.6 has-values: 1.0.0 @@ -4666,20 +3441,14 @@ packages: optional: true /has-values/0.1.4: - resolution: - { - integrity: sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==} + engines: {node: '>=0.10.0'} dev: true optional: true /has-values/1.0.0: - resolution: - { - integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==} + engines: {node: '>=0.10.0'} dependencies: is-number: 3.0.0 kind-of: 4.0.0 @@ -4687,53 +3456,35 @@ packages: optional: true /has-yarn/2.1.0: - resolution: - { - integrity: sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==} + engines: {node: '>=8'} dev: true /has/1.0.3: - resolution: - { - integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==, - } - engines: { node: ">= 0.4.0" } + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} dependencies: function-bind: 1.1.1 /home-or-tmp/2.0.0: - resolution: - { - integrity: sha512-ycURW7oUxE2sNiPVw1HVEFsW+ecOpJ5zaj7eC0RlwhibhRBod20muUN8qu/gzx956YrLolVvs1MTXwKgC2rVEg==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-ycURW7oUxE2sNiPVw1HVEFsW+ecOpJ5zaj7eC0RlwhibhRBod20muUN8qu/gzx956YrLolVvs1MTXwKgC2rVEg==} + engines: {node: '>=0.10.0'} dependencies: os-homedir: 1.0.2 os-tmpdir: 1.0.2 dev: true /html-escaper/2.0.2: - resolution: - { - integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==, - } + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} dev: true /http-cache-semantics/4.1.0: - resolution: - { - integrity: sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==, - } + resolution: {integrity: sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==} dev: true /http-errors/2.0.0: - resolution: - { - integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==, - } - engines: { node: ">= 0.8" } + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} dependencies: depd: 2.0.0 inherits: 2.0.4 @@ -4743,11 +3494,8 @@ packages: dev: false /https-proxy-agent/5.0.1: - resolution: - { - integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==, - } - engines: { node: ">= 6" } + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 debug: 4.3.4 @@ -4756,53 +3504,35 @@ packages: dev: false /human-signals/2.1.0: - resolution: - { - integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==, - } - engines: { node: ">=10.17.0" } + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} dev: true /iconv-lite/0.4.24: - resolution: - { - integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 dev: false /idb-keyval/6.0.3: - resolution: - { - integrity: sha512-yh8V7CnE6EQMu9YDwQXhRxwZh4nv+8xm/HV4ZqK4IiYFJBWYGjJuykADJbSP+F/GDXUBwCSSNn/14IpGL81TuA==, - } + resolution: {integrity: sha512-yh8V7CnE6EQMu9YDwQXhRxwZh4nv+8xm/HV4ZqK4IiYFJBWYGjJuykADJbSP+F/GDXUBwCSSNn/14IpGL81TuA==} dependencies: safari-14-idb-fix: 3.0.0 dev: false /ignore-by-default/1.0.1: - resolution: - { - integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==, - } + resolution: {integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==} dev: true /import-lazy/2.1.0: - resolution: - { - integrity: sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==} + engines: {node: '>=4'} dev: true /import-local/3.1.0: - resolution: - { - integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} + engines: {node: '>=8'} hasBin: true dependencies: pkg-dir: 4.2.0 @@ -4810,166 +3540,112 @@ packages: dev: true /imurmurhash/0.1.4: - resolution: - { - integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, - } - engines: { node: ">=0.8.19" } + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} dev: true /inflight/1.0.6: - resolution: - { - integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, - } + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} dependencies: once: 1.4.0 wrappy: 1.0.2 dev: true /inherits/2.0.4: - resolution: - { - integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, - } + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} /ini/1.3.8: - resolution: - { - integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==, - } + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} dev: true /ini/2.0.0: - resolution: - { - integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} + engines: {node: '>=10'} dev: true /invariant/2.2.4: - resolution: - { - integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==, - } + resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} dependencies: loose-envify: 1.4.0 dev: true /ipaddr.js/1.9.1: - resolution: - { - integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==, - } - engines: { node: ">= 0.10" } + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} dev: false /is-accessor-descriptor/0.1.6: - resolution: - { - integrity: sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==} + engines: {node: '>=0.10.0'} dependencies: kind-of: 3.2.2 dev: true optional: true /is-accessor-descriptor/1.0.0: - resolution: - { - integrity: sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==} + engines: {node: '>=0.10.0'} dependencies: kind-of: 6.0.3 dev: true optional: true /is-arrayish/0.2.1: - resolution: - { - integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==, - } + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} dev: true /is-binary-path/1.0.1: - resolution: - { - integrity: sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==} + engines: {node: '>=0.10.0'} dependencies: binary-extensions: 1.13.1 dev: true optional: true /is-binary-path/2.1.0: - resolution: - { - integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} dependencies: binary-extensions: 2.2.0 dev: true /is-buffer/1.1.6: - resolution: - { - integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==, - } + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} dev: true optional: true /is-ci/2.0.0: - resolution: - { - integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==, - } + resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} hasBin: true dependencies: ci-info: 2.0.0 dev: true /is-core-module/2.9.0: - resolution: - { - integrity: sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==, - } + resolution: {integrity: sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==} dependencies: has: 1.0.3 dev: true /is-data-descriptor/0.1.4: - resolution: - { - integrity: sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==} + engines: {node: '>=0.10.0'} dependencies: kind-of: 3.2.2 dev: true optional: true /is-data-descriptor/1.0.0: - resolution: - { - integrity: sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==} + engines: {node: '>=0.10.0'} dependencies: kind-of: 6.0.3 dev: true optional: true /is-descriptor/0.1.6: - resolution: - { - integrity: sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==} + engines: {node: '>=0.10.0'} dependencies: is-accessor-descriptor: 0.1.6 is-data-descriptor: 0.1.4 @@ -4978,11 +3654,8 @@ packages: optional: true /is-descriptor/1.0.2: - resolution: - { - integrity: sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==} + engines: {node: '>=0.10.0'} dependencies: is-accessor-descriptor: 1.0.0 is-data-descriptor: 1.0.0 @@ -4991,293 +3664,197 @@ packages: optional: true /is-dotfile/1.0.3: - resolution: - { - integrity: sha512-9YclgOGtN/f8zx0Pr4FQYMdibBiTaH3sn52vjYip4ZSf6C4/6RfTEZ+MR4GvKhCxdPh21Bg42/WL55f6KSnKpg==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-9YclgOGtN/f8zx0Pr4FQYMdibBiTaH3sn52vjYip4ZSf6C4/6RfTEZ+MR4GvKhCxdPh21Bg42/WL55f6KSnKpg==} + engines: {node: '>=0.10.0'} dev: true optional: true /is-equal-shallow/0.1.3: - resolution: - { - integrity: sha512-0EygVC5qPvIyb+gSz7zdD5/AAoS6Qrx1e//6N4yv4oNm30kqvdmG66oZFWVlQHUWe5OjP08FuTw2IdT0EOTcYA==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-0EygVC5qPvIyb+gSz7zdD5/AAoS6Qrx1e//6N4yv4oNm30kqvdmG66oZFWVlQHUWe5OjP08FuTw2IdT0EOTcYA==} + engines: {node: '>=0.10.0'} dependencies: is-primitive: 2.0.0 dev: true optional: true /is-extendable/0.1.1: - resolution: - { - integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} dev: true optional: true /is-extendable/1.0.1: - resolution: - { - integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} + engines: {node: '>=0.10.0'} dependencies: is-plain-object: 2.0.4 dev: true optional: true /is-extglob/1.0.0: - resolution: - { - integrity: sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==} + engines: {node: '>=0.10.0'} dev: true optional: true /is-extglob/2.1.1: - resolution: - { - integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} dev: true /is-finite/1.1.0: - resolution: - { - integrity: sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==} + engines: {node: '>=0.10.0'} dev: true /is-fullwidth-code-point/3.0.0: - resolution: - { - integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} dev: true /is-generator-fn/2.1.0: - resolution: - { - integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} + engines: {node: '>=6'} dev: true /is-glob/2.0.1: - resolution: - { - integrity: sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==} + engines: {node: '>=0.10.0'} dependencies: is-extglob: 1.0.0 dev: true optional: true /is-glob/4.0.3: - resolution: - { - integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 dev: true /is-installed-globally/0.4.0: - resolution: - { - integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} + engines: {node: '>=10'} dependencies: global-dirs: 3.0.0 is-path-inside: 3.0.3 dev: true /is-npm/5.0.0: - resolution: - { - integrity: sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==} + engines: {node: '>=10'} dev: true /is-number/2.1.0: - resolution: - { - integrity: sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg==} + engines: {node: '>=0.10.0'} dependencies: kind-of: 3.2.2 dev: true optional: true /is-number/3.0.0: - resolution: - { - integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} + engines: {node: '>=0.10.0'} dependencies: kind-of: 3.2.2 dev: true optional: true /is-number/4.0.0: - resolution: - { - integrity: sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==} + engines: {node: '>=0.10.0'} dev: true optional: true /is-number/7.0.0: - resolution: - { - integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, - } - engines: { node: ">=0.12.0" } + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} dev: true /is-obj/2.0.0: - resolution: - { - integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} + engines: {node: '>=8'} dev: true /is-path-inside/3.0.3: - resolution: - { - integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} dev: true /is-plain-object/2.0.4: - resolution: - { - integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} dependencies: isobject: 3.0.1 dev: true optional: true /is-posix-bracket/0.1.1: - resolution: - { - integrity: sha512-Yu68oeXJ7LeWNmZ3Zov/xg/oDBnBK2RNxwYY1ilNJX+tKKZqgPK+qOn/Gs9jEu66KDY9Netf5XLKNGzas/vPfQ==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-Yu68oeXJ7LeWNmZ3Zov/xg/oDBnBK2RNxwYY1ilNJX+tKKZqgPK+qOn/Gs9jEu66KDY9Netf5XLKNGzas/vPfQ==} + engines: {node: '>=0.10.0'} dev: true optional: true /is-primitive/2.0.0: - resolution: - { - integrity: sha512-N3w1tFaRfk3UrPfqeRyD+GYDASU3W5VinKhlORy8EWVf/sIdDL9GAcew85XmktCfH+ngG7SRXEVDoO18WMdB/Q==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-N3w1tFaRfk3UrPfqeRyD+GYDASU3W5VinKhlORy8EWVf/sIdDL9GAcew85XmktCfH+ngG7SRXEVDoO18WMdB/Q==} + engines: {node: '>=0.10.0'} dev: true optional: true /is-stream/2.0.1: - resolution: - { - integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} /is-typedarray/1.0.0: - resolution: - { - integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==, - } + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} dev: true /is-windows/1.0.2: - resolution: - { - integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} dev: true optional: true /is-yarn-global/0.3.0: - resolution: - { - integrity: sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==, - } + resolution: {integrity: sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==} dev: true /isarray/1.0.0: - resolution: - { - integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==, - } + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} dev: true optional: true /isexe/2.0.0: - resolution: - { - integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, - } + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: true /isobject/2.1.0: - resolution: - { - integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} + engines: {node: '>=0.10.0'} dependencies: isarray: 1.0.0 dev: true optional: true /isobject/3.0.1: - resolution: - { - integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} dev: true optional: true /istanbul-lib-coverage/3.2.0: - resolution: - { - integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} + engines: {node: '>=8'} dev: true /istanbul-lib-instrument/5.2.0: - resolution: - { - integrity: sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==, - } - engines: { node: ">=8" } - dependencies: - "@babel/core": 7.18.6 - "@babel/parser": 7.18.6 - "@istanbuljs/schema": 0.1.3 + resolution: {integrity: sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==} + engines: {node: '>=8'} + dependencies: + '@babel/core': 7.18.6 + '@babel/parser': 7.18.6 + '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 semver: 6.3.0 transitivePeerDependencies: @@ -5285,11 +3862,8 @@ packages: dev: true /istanbul-lib-report/3.0.0: - resolution: - { - integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} + engines: {node: '>=8'} dependencies: istanbul-lib-coverage: 3.2.0 make-dir: 3.1.0 @@ -5297,11 +3871,8 @@ packages: dev: true /istanbul-lib-source-maps/4.0.1: - resolution: - { - integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} dependencies: debug: 4.3.4 istanbul-lib-coverage: 3.2.0 @@ -5311,39 +3882,30 @@ packages: dev: true /istanbul-reports/3.1.4: - resolution: - { - integrity: sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==} + engines: {node: '>=8'} dependencies: html-escaper: 2.0.2 istanbul-lib-report: 3.0.0 dev: true /jest-changed-files/28.0.2: - resolution: - { - integrity: sha512-QX9u+5I2s54ZnGoMEjiM2WeBvJR2J7w/8ZUmH2um/WLAuGAYFQcsVXY9+1YL6k0H/AGUdH8pXUAv6erDqEsvIA==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } + resolution: {integrity: sha512-QX9u+5I2s54ZnGoMEjiM2WeBvJR2J7w/8ZUmH2um/WLAuGAYFQcsVXY9+1YL6k0H/AGUdH8pXUAv6erDqEsvIA==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: execa: 5.1.1 throat: 6.0.1 dev: true /jest-circus/28.1.2: - resolution: - { - integrity: sha512-E2vdPIJG5/69EMpslFhaA46WkcrN74LI5V/cSJ59L7uS8UNoXbzTxmwhpi9XrIL3zqvMt5T0pl5k2l2u2GwBNQ==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } - dependencies: - "@jest/environment": 28.1.2 - "@jest/expect": 28.1.2 - "@jest/test-result": 28.1.1 - "@jest/types": 28.1.1 - "@types/node": 18.0.0 + resolution: {integrity: sha512-E2vdPIJG5/69EMpslFhaA46WkcrN74LI5V/cSJ59L7uS8UNoXbzTxmwhpi9XrIL3zqvMt5T0pl5k2l2u2GwBNQ==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + dependencies: + '@jest/environment': 28.1.2 + '@jest/expect': 28.1.2 + '@jest/test-result': 28.1.1 + '@jest/types': 28.1.1 + '@types/node': 18.0.0 chalk: 4.1.2 co: 4.6.0 dedent: 0.7.0 @@ -5363,11 +3925,8 @@ packages: dev: true /jest-cli/28.1.2_jbmz3vlfopghb5mdasddsdxfzq: - resolution: - { - integrity: sha512-l6eoi5Do/IJUXAFL9qRmDiFpBeEJAnjJb1dcd9i/VWfVWbp3mJhuH50dNtX67Ali4Ecvt4eBkWb4hXhPHkAZTw==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } + resolution: {integrity: sha512-l6eoi5Do/IJUXAFL9qRmDiFpBeEJAnjJb1dcd9i/VWfVWbp3mJhuH50dNtX67Ali4Ecvt4eBkWb4hXhPHkAZTw==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} hasBin: true peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 @@ -5375,9 +3934,9 @@ packages: node-notifier: optional: true dependencies: - "@jest/core": 28.1.2_ts-node@10.8.1 - "@jest/test-result": 28.1.1 - "@jest/types": 28.1.1 + '@jest/core': 28.1.2_ts-node@10.8.1 + '@jest/test-result': 28.1.1 + '@jest/types': 28.1.1 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.10 @@ -5388,30 +3947,27 @@ packages: prompts: 2.4.2 yargs: 17.5.1 transitivePeerDependencies: - - "@types/node" + - '@types/node' - supports-color - ts-node dev: true /jest-config/28.1.2_jbmz3vlfopghb5mdasddsdxfzq: - resolution: - { - integrity: sha512-g6EfeRqddVbjPVBVY4JWpUY4IvQoFRIZcv4V36QkqzE0IGhEC/VkugFeBMAeUE7PRgC8KJF0yvJNDeQRbamEVA==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } + resolution: {integrity: sha512-g6EfeRqddVbjPVBVY4JWpUY4IvQoFRIZcv4V36QkqzE0IGhEC/VkugFeBMAeUE7PRgC8KJF0yvJNDeQRbamEVA==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} peerDependencies: - "@types/node": "*" - ts-node: ">=9.0.0" + '@types/node': '*' + ts-node: '>=9.0.0' peerDependenciesMeta: - "@types/node": + '@types/node': optional: true ts-node: optional: true dependencies: - "@babel/core": 7.18.6 - "@jest/test-sequencer": 28.1.1 - "@jest/types": 28.1.1 - "@types/node": 18.0.0 + '@babel/core': 7.18.6 + '@jest/test-sequencer': 28.1.1 + '@jest/types': 28.1.1 + '@types/node': 18.0.0 babel-jest: 28.1.2_@babel+core@7.18.6 chalk: 4.1.2 ci-info: 3.3.2 @@ -5437,11 +3993,8 @@ packages: dev: true /jest-diff/28.1.1: - resolution: - { - integrity: sha512-/MUUxeR2fHbqHoMMiffe/Afm+U8U4olFRJ0hiVG2lZatPJcnGxx292ustVu7bULhjV65IYMxRdploAKLbcrsyg==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } + resolution: {integrity: sha512-/MUUxeR2fHbqHoMMiffe/Afm+U8U4olFRJ0hiVG2lZatPJcnGxx292ustVu7bULhjV65IYMxRdploAKLbcrsyg==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: chalk: 4.1.2 diff-sequences: 28.1.1 @@ -5450,23 +4003,17 @@ packages: dev: true /jest-docblock/28.1.1: - resolution: - { - integrity: sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } + resolution: {integrity: sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: detect-newline: 3.1.0 dev: true /jest-each/28.1.1: - resolution: - { - integrity: sha512-A042rqh17ZvEhRceDMi784ppoXR7MWGDEKTXEZXb4svt0eShMZvijGxzKsx+yIjeE8QYmHPrnHiTSQVhN4nqaw==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } + resolution: {integrity: sha512-A042rqh17ZvEhRceDMi784ppoXR7MWGDEKTXEZXb4svt0eShMZvijGxzKsx+yIjeE8QYmHPrnHiTSQVhN4nqaw==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: - "@jest/types": 28.1.1 + '@jest/types': 28.1.1 chalk: 4.1.2 jest-get-type: 28.0.2 jest-util: 28.1.1 @@ -5474,38 +4021,29 @@ packages: dev: true /jest-environment-node/28.1.2: - resolution: - { - integrity: sha512-oYsZz9Qw27XKmOgTtnl0jW7VplJkN2oeof+SwAwKFQacq3CLlG9u4kTGuuLWfvu3J7bVutWlrbEQMOCL/jughw==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } - dependencies: - "@jest/environment": 28.1.2 - "@jest/fake-timers": 28.1.2 - "@jest/types": 28.1.1 - "@types/node": 18.0.0 + resolution: {integrity: sha512-oYsZz9Qw27XKmOgTtnl0jW7VplJkN2oeof+SwAwKFQacq3CLlG9u4kTGuuLWfvu3J7bVutWlrbEQMOCL/jughw==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + dependencies: + '@jest/environment': 28.1.2 + '@jest/fake-timers': 28.1.2 + '@jest/types': 28.1.1 + '@types/node': 18.0.0 jest-mock: 28.1.1 jest-util: 28.1.1 dev: true /jest-get-type/28.0.2: - resolution: - { - integrity: sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } + resolution: {integrity: sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dev: true /jest-haste-map/28.1.1: - resolution: - { - integrity: sha512-ZrRSE2o3Ezh7sb1KmeLEZRZ4mgufbrMwolcFHNRSjKZhpLa8TdooXOOFlSwoUzlbVs1t0l7upVRW2K7RWGHzbQ==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } - dependencies: - "@jest/types": 28.1.1 - "@types/graceful-fs": 4.1.5 - "@types/node": 18.0.0 + resolution: {integrity: sha512-ZrRSE2o3Ezh7sb1KmeLEZRZ4mgufbrMwolcFHNRSjKZhpLa8TdooXOOFlSwoUzlbVs1t0l7upVRW2K7RWGHzbQ==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + dependencies: + '@jest/types': 28.1.1 + '@types/graceful-fs': 4.1.5 + '@types/node': 18.0.0 anymatch: 3.1.2 fb-watchman: 2.0.1 graceful-fs: 4.2.10 @@ -5519,22 +4057,16 @@ packages: dev: true /jest-leak-detector/28.1.1: - resolution: - { - integrity: sha512-4jvs8V8kLbAaotE+wFR7vfUGf603cwYtFf1/PYEsyX2BAjSzj8hQSVTP6OWzseTl0xL6dyHuKs2JAks7Pfubmw==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } + resolution: {integrity: sha512-4jvs8V8kLbAaotE+wFR7vfUGf603cwYtFf1/PYEsyX2BAjSzj8hQSVTP6OWzseTl0xL6dyHuKs2JAks7Pfubmw==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: jest-get-type: 28.0.2 pretty-format: 28.1.1 dev: true /jest-matcher-utils/28.1.1: - resolution: - { - integrity: sha512-NPJPRWrbmR2nAJ+1nmnfcKKzSwgfaciCCrYZzVnNoxVoyusYWIjkBMNvu0RHJe7dNj4hH3uZOPZsQA+xAYWqsw==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } + resolution: {integrity: sha512-NPJPRWrbmR2nAJ+1nmnfcKKzSwgfaciCCrYZzVnNoxVoyusYWIjkBMNvu0RHJe7dNj4hH3uZOPZsQA+xAYWqsw==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: chalk: 4.1.2 jest-diff: 28.1.1 @@ -5543,15 +4075,12 @@ packages: dev: true /jest-message-util/28.1.1: - resolution: - { - integrity: sha512-xoDOOT66fLfmTRiqkoLIU7v42mal/SqwDKvfmfiWAdJMSJiU+ozgluO7KbvoAgiwIrrGZsV7viETjc8GNrA/IQ==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } - dependencies: - "@babel/code-frame": 7.18.6 - "@jest/types": 28.1.1 - "@types/stack-utils": 2.0.1 + resolution: {integrity: sha512-xoDOOT66fLfmTRiqkoLIU7v42mal/SqwDKvfmfiWAdJMSJiU+ozgluO7KbvoAgiwIrrGZsV7viETjc8GNrA/IQ==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + dependencies: + '@babel/code-frame': 7.18.6 + '@jest/types': 28.1.1 + '@types/stack-utils': 2.0.1 chalk: 4.1.2 graceful-fs: 4.2.10 micromatch: 4.0.5 @@ -5561,24 +4090,18 @@ packages: dev: true /jest-mock/28.1.1: - resolution: - { - integrity: sha512-bDCb0FjfsmKweAvE09dZT59IMkzgN0fYBH6t5S45NoJfd2DHkS3ySG2K+hucortryhO3fVuXdlxWcbtIuV/Skw==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } + resolution: {integrity: sha512-bDCb0FjfsmKweAvE09dZT59IMkzgN0fYBH6t5S45NoJfd2DHkS3ySG2K+hucortryhO3fVuXdlxWcbtIuV/Skw==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: - "@jest/types": 28.1.1 - "@types/node": 18.0.0 + '@jest/types': 28.1.1 + '@types/node': 18.0.0 dev: true /jest-pnp-resolver/1.2.2_jest-resolve@28.1.1: - resolution: - { - integrity: sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==} + engines: {node: '>=6'} peerDependencies: - jest-resolve: "*" + jest-resolve: '*' peerDependenciesMeta: jest-resolve: optional: true @@ -5587,19 +4110,13 @@ packages: dev: true /jest-regex-util/28.0.2: - resolution: - { - integrity: sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } + resolution: {integrity: sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dev: true /jest-resolve-dependencies/28.1.2: - resolution: - { - integrity: sha512-OXw4vbOZuyRTBi3tapWBqdyodU+T33ww5cPZORuTWkg+Y8lmsxQlVu3MWtJh6NMlKRTHQetF96yGPv01Ye7Mbg==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } + resolution: {integrity: sha512-OXw4vbOZuyRTBi3tapWBqdyodU+T33ww5cPZORuTWkg+Y8lmsxQlVu3MWtJh6NMlKRTHQetF96yGPv01Ye7Mbg==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: jest-regex-util: 28.0.2 jest-snapshot: 28.1.2 @@ -5608,11 +4125,8 @@ packages: dev: true /jest-resolve/28.1.1: - resolution: - { - integrity: sha512-/d1UbyUkf9nvsgdBildLe6LAD4DalgkgZcKd0nZ8XUGPyA/7fsnaQIlKVnDiuUXv/IeZhPEDrRJubVSulxrShA==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } + resolution: {integrity: sha512-/d1UbyUkf9nvsgdBildLe6LAD4DalgkgZcKd0nZ8XUGPyA/7fsnaQIlKVnDiuUXv/IeZhPEDrRJubVSulxrShA==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: chalk: 4.1.2 graceful-fs: 4.2.10 @@ -5626,18 +4140,15 @@ packages: dev: true /jest-runner/28.1.2: - resolution: - { - integrity: sha512-6/k3DlAsAEr5VcptCMdhtRhOoYClZQmxnVMZvZ/quvPGRpN7OBQYPIC32tWSgOnbgqLXNs5RAniC+nkdFZpD4A==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } - dependencies: - "@jest/console": 28.1.1 - "@jest/environment": 28.1.2 - "@jest/test-result": 28.1.1 - "@jest/transform": 28.1.2 - "@jest/types": 28.1.1 - "@types/node": 18.0.0 + resolution: {integrity: sha512-6/k3DlAsAEr5VcptCMdhtRhOoYClZQmxnVMZvZ/quvPGRpN7OBQYPIC32tWSgOnbgqLXNs5RAniC+nkdFZpD4A==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + dependencies: + '@jest/console': 28.1.1 + '@jest/environment': 28.1.2 + '@jest/test-result': 28.1.1 + '@jest/transform': 28.1.2 + '@jest/types': 28.1.1 + '@types/node': 18.0.0 chalk: 4.1.2 emittery: 0.10.2 graceful-fs: 4.2.10 @@ -5658,19 +4169,16 @@ packages: dev: true /jest-runtime/28.1.2: - resolution: - { - integrity: sha512-i4w93OsWzLOeMXSi9epmakb2+3z0AchZtUQVF1hesBmcQQy4vtaql5YdVe9KexdJaVRyPDw8DoBR0j3lYsZVYw==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } - dependencies: - "@jest/environment": 28.1.2 - "@jest/fake-timers": 28.1.2 - "@jest/globals": 28.1.2 - "@jest/source-map": 28.1.2 - "@jest/test-result": 28.1.1 - "@jest/transform": 28.1.2 - "@jest/types": 28.1.1 + resolution: {integrity: sha512-i4w93OsWzLOeMXSi9epmakb2+3z0AchZtUQVF1hesBmcQQy4vtaql5YdVe9KexdJaVRyPDw8DoBR0j3lYsZVYw==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + dependencies: + '@jest/environment': 28.1.2 + '@jest/fake-timers': 28.1.2 + '@jest/globals': 28.1.2 + '@jest/source-map': 28.1.2 + '@jest/test-result': 28.1.1 + '@jest/transform': 28.1.2 + '@jest/types': 28.1.1 chalk: 4.1.2 cjs-module-lexer: 1.2.2 collect-v8-coverage: 1.0.1 @@ -5691,22 +4199,19 @@ packages: dev: true /jest-snapshot/28.1.2: - resolution: - { - integrity: sha512-wzrieFttZYfLvrCVRJxX+jwML2YTArOUqFpCoSVy1QUapx+LlV9uLbV/mMEhYj4t7aMeE9aSQFHSvV/oNoDAMA==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } - dependencies: - "@babel/core": 7.18.6 - "@babel/generator": 7.18.7 - "@babel/plugin-syntax-typescript": 7.18.6_@babel+core@7.18.6 - "@babel/traverse": 7.18.6 - "@babel/types": 7.18.7 - "@jest/expect-utils": 28.1.1 - "@jest/transform": 28.1.2 - "@jest/types": 28.1.1 - "@types/babel__traverse": 7.17.1 - "@types/prettier": 2.6.3 + resolution: {integrity: sha512-wzrieFttZYfLvrCVRJxX+jwML2YTArOUqFpCoSVy1QUapx+LlV9uLbV/mMEhYj4t7aMeE9aSQFHSvV/oNoDAMA==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + dependencies: + '@babel/core': 7.18.6 + '@babel/generator': 7.18.7 + '@babel/plugin-syntax-typescript': 7.18.6_@babel+core@7.18.6 + '@babel/traverse': 7.18.6 + '@babel/types': 7.18.7 + '@jest/expect-utils': 28.1.1 + '@jest/transform': 28.1.2 + '@jest/types': 28.1.1 + '@types/babel__traverse': 7.17.1 + '@types/prettier': 2.6.3 babel-preset-current-node-syntax: 1.0.1_@babel+core@7.18.6 chalk: 4.1.2 expect: 28.1.1 @@ -5725,14 +4230,11 @@ packages: dev: true /jest-util/28.1.1: - resolution: - { - integrity: sha512-FktOu7ca1DZSyhPAxgxB6hfh2+9zMoJ7aEQA759Z6p45NuO8mWcqujH+UdHlCm/V6JTWwDztM2ITCzU1ijJAfw==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } - dependencies: - "@jest/types": 28.1.1 - "@types/node": 18.0.0 + resolution: {integrity: sha512-FktOu7ca1DZSyhPAxgxB6hfh2+9zMoJ7aEQA759Z6p45NuO8mWcqujH+UdHlCm/V6JTWwDztM2ITCzU1ijJAfw==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + dependencies: + '@jest/types': 28.1.1 + '@types/node': 18.0.0 chalk: 4.1.2 ci-info: 3.3.2 graceful-fs: 4.2.10 @@ -5740,13 +4242,10 @@ packages: dev: true /jest-validate/28.1.1: - resolution: - { - integrity: sha512-Kpf6gcClqFCIZ4ti5++XemYJWUPCFUW+N2gknn+KgnDf549iLul3cBuKVe1YcWRlaF8tZV8eJCap0eECOEE3Ug==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } + resolution: {integrity: sha512-Kpf6gcClqFCIZ4ti5++XemYJWUPCFUW+N2gknn+KgnDf549iLul3cBuKVe1YcWRlaF8tZV8eJCap0eECOEE3Ug==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: - "@jest/types": 28.1.1 + '@jest/types': 28.1.1 camelcase: 6.3.0 chalk: 4.1.2 jest-get-type: 28.0.2 @@ -5755,15 +4254,12 @@ packages: dev: true /jest-watcher/28.1.1: - resolution: - { - integrity: sha512-RQIpeZ8EIJMxbQrXpJQYIIlubBnB9imEHsxxE41f54ZwcqWLysL/A0ZcdMirf+XsMn3xfphVQVV4EW0/p7i7Ug==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } - dependencies: - "@jest/test-result": 28.1.1 - "@jest/types": 28.1.1 - "@types/node": 18.0.0 + resolution: {integrity: sha512-RQIpeZ8EIJMxbQrXpJQYIIlubBnB9imEHsxxE41f54ZwcqWLysL/A0ZcdMirf+XsMn3xfphVQVV4EW0/p7i7Ug==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + dependencies: + '@jest/test-result': 28.1.1 + '@jest/types': 28.1.1 + '@types/node': 18.0.0 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.10.2 @@ -5772,23 +4268,17 @@ packages: dev: true /jest-worker/28.1.1: - resolution: - { - integrity: sha512-Au7slXB08C6h+xbJPp7VIb6U0XX5Kc9uel/WFc6/rcTzGiaVCBRngBExSYuXSLFPULPSYU3cJ3ybS988lNFQhQ==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } + resolution: {integrity: sha512-Au7slXB08C6h+xbJPp7VIb6U0XX5Kc9uel/WFc6/rcTzGiaVCBRngBExSYuXSLFPULPSYU3cJ3ybS988lNFQhQ==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: - "@types/node": 18.0.0 + '@types/node': 18.0.0 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true /jest/28.1.2_jbmz3vlfopghb5mdasddsdxfzq: - resolution: - { - integrity: sha512-Tuf05DwLeCh2cfWCQbcz9UxldoDyiR1E9Igaei5khjonKncYdc6LDfynKCEWozK0oLE3GD+xKAo2u8x/0s6GOg==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } + resolution: {integrity: sha512-Tuf05DwLeCh2cfWCQbcz9UxldoDyiR1E9Igaei5khjonKncYdc6LDfynKCEWozK0oLE3GD+xKAo2u8x/0s6GOg==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} hasBin: true peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 @@ -5796,35 +4286,26 @@ packages: node-notifier: optional: true dependencies: - "@jest/core": 28.1.2_ts-node@10.8.1 - "@jest/types": 28.1.1 + '@jest/core': 28.1.2_ts-node@10.8.1 + '@jest/types': 28.1.1 import-local: 3.1.0 jest-cli: 28.1.2_jbmz3vlfopghb5mdasddsdxfzq transitivePeerDependencies: - - "@types/node" + - '@types/node' - supports-color - ts-node dev: true /js-tokens/3.0.2: - resolution: - { - integrity: sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==, - } + resolution: {integrity: sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==} dev: true /js-tokens/4.0.0: - resolution: - { - integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, - } + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: true /js-yaml/3.14.1: - resolution: - { - integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==, - } + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} hasBin: true dependencies: argparse: 1.0.10 @@ -5832,75 +4313,48 @@ packages: dev: true /jsesc/0.5.0: - resolution: - { - integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==, - } + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} hasBin: true dev: true /jsesc/1.3.0: - resolution: - { - integrity: sha512-Mke0DA0QjUWuJlhsE0ZPPhYiJkRap642SmI/4ztCFaUs6V2AiH1sfecc+57NgaryfAA2VR3v6O+CSjC1jZJKOA==, - } + resolution: {integrity: sha512-Mke0DA0QjUWuJlhsE0ZPPhYiJkRap642SmI/4ztCFaUs6V2AiH1sfecc+57NgaryfAA2VR3v6O+CSjC1jZJKOA==} hasBin: true dev: true /jsesc/2.5.2: - resolution: - { - integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} hasBin: true dev: true /json-bigint/1.0.0: - resolution: - { - integrity: sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==, - } + resolution: {integrity: sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==} dependencies: bignumber.js: 9.0.2 dev: false /json-buffer/3.0.0: - resolution: - { - integrity: sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==, - } + resolution: {integrity: sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==} dev: true /json-parse-even-better-errors/2.3.1: - resolution: - { - integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==, - } + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} dev: true /json5/0.5.1: - resolution: - { - integrity: sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==, - } + resolution: {integrity: sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==} hasBin: true dev: true /json5/2.2.1: - resolution: - { - integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==} + engines: {node: '>=6'} hasBin: true dev: true /jwa/2.0.0: - resolution: - { - integrity: sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==, - } + resolution: {integrity: sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==} dependencies: buffer-equal-constant-time: 1.0.1 ecdsa-sig-formatter: 1.0.11 @@ -5908,252 +4362,165 @@ packages: dev: false /jws/4.0.0: - resolution: - { - integrity: sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==, - } + resolution: {integrity: sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==} dependencies: jwa: 2.0.0 safe-buffer: 5.2.1 dev: false /keyv/3.1.0: - resolution: - { - integrity: sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==, - } + resolution: {integrity: sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==} dependencies: json-buffer: 3.0.0 dev: true /kind-of/3.2.2: - resolution: - { - integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} + engines: {node: '>=0.10.0'} dependencies: is-buffer: 1.1.6 dev: true optional: true /kind-of/4.0.0: - resolution: - { - integrity: sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==} + engines: {node: '>=0.10.0'} dependencies: is-buffer: 1.1.6 dev: true optional: true /kind-of/5.1.0: - resolution: - { - integrity: sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==} + engines: {node: '>=0.10.0'} dev: true optional: true /kind-of/6.0.3: - resolution: - { - integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} dev: true optional: true /kleur/3.0.3: - resolution: - { - integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} dev: true /latest-version/5.1.0: - resolution: - { - integrity: sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==} + engines: {node: '>=8'} dependencies: package-json: 6.5.0 dev: true /leven/3.1.0: - resolution: - { - integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} dev: true /lines-and-columns/1.2.4: - resolution: - { - integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==, - } + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: true /locate-path/5.0.0: - resolution: - { - integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} dependencies: p-locate: 4.1.0 dev: true /lodash.debounce/4.0.8: - resolution: - { - integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==, - } + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} dev: true /lodash.memoize/4.1.2: - resolution: - { - integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==, - } + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} dev: true /lodash/4.17.21: - resolution: - { - integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==, - } + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} dev: true /loose-envify/1.4.0: - resolution: - { - integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==, - } + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true dependencies: js-tokens: 4.0.0 dev: true /lowercase-keys/1.0.1: - resolution: - { - integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==} + engines: {node: '>=0.10.0'} dev: true /lowercase-keys/2.0.0: - resolution: - { - integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} + engines: {node: '>=8'} dev: true /lru-cache/6.0.0: - resolution: - { - integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} dependencies: yallist: 4.0.0 /make-dir/3.1.0: - resolution: - { - integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} dependencies: semver: 6.3.0 dev: true /make-error/1.3.6: - resolution: - { - integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==, - } + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} /makeerror/1.0.12: - resolution: - { - integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==, - } + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} dependencies: tmpl: 1.0.5 dev: true /map-cache/0.2.2: - resolution: - { - integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} + engines: {node: '>=0.10.0'} dev: true optional: true /map-visit/1.0.0: - resolution: - { - integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==} + engines: {node: '>=0.10.0'} dependencies: object-visit: 1.0.1 dev: true optional: true /math-random/1.0.4: - resolution: - { - integrity: sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==, - } + resolution: {integrity: sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==} dev: true optional: true /media-typer/0.3.0: - resolution: - { - integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==, - } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} dev: false /merge-descriptors/1.0.1: - resolution: - { - integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==, - } + resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} dev: false /merge-stream/2.0.0: - resolution: - { - integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, - } + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} dev: true /methods/1.1.2: - resolution: - { - integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==, - } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} dev: false /micromatch/2.3.11: - resolution: - { - integrity: sha512-LnU2XFEk9xxSJ6rfgAry/ty5qwUTyHYOBU0g4R6tIw5ljwgGIBmiKhRWLw5NpMOnrgUNcDJ4WMp8rl3sYVHLNA==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-LnU2XFEk9xxSJ6rfgAry/ty5qwUTyHYOBU0g4R6tIw5ljwgGIBmiKhRWLw5NpMOnrgUNcDJ4WMp8rl3sYVHLNA==} + engines: {node: '>=0.10.0'} dependencies: arr-diff: 2.0.0 array-unique: 0.2.1 @@ -6172,11 +4539,8 @@ packages: optional: true /micromatch/3.1.10: - resolution: - { - integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} + engines: {node: '>=0.10.0'} dependencies: arr-diff: 4.0.0 array-unique: 0.3.2 @@ -6197,81 +4561,54 @@ packages: optional: true /micromatch/4.0.5: - resolution: - { - integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==, - } - engines: { node: ">=8.6" } + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} dependencies: braces: 3.0.2 picomatch: 2.3.1 dev: true /mime-db/1.52.0: - resolution: - { - integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==, - } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} dev: false /mime-types/2.1.35: - resolution: - { - integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==, - } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} dependencies: mime-db: 1.52.0 dev: false /mime/1.6.0: - resolution: - { - integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} hasBin: true dev: false /mimic-fn/2.1.0: - resolution: - { - integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} dev: true /mimic-response/1.0.1: - resolution: - { - integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} + engines: {node: '>=4'} dev: true /minimatch/3.1.2: - resolution: - { - integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, - } + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 dev: true /minimist/1.2.6: - resolution: - { - integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==, - } + resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} dev: true /mixin-deep/1.3.2: - resolution: - { - integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} + engines: {node: '>=0.10.0'} dependencies: for-in: 1.0.2 is-extendable: 1.0.1 @@ -6279,47 +4616,29 @@ packages: optional: true /mkdirp/0.5.6: - resolution: - { - integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==, - } + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true dependencies: minimist: 1.2.6 dev: true /ms/2.0.0: - resolution: - { - integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==, - } + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} /ms/2.1.2: - resolution: - { - integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, - } + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} /ms/2.1.3: - resolution: - { - integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==, - } + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} /nan/2.16.0: - resolution: - { - integrity: sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==, - } + resolution: {integrity: sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==} dev: true optional: true /nanomatch/1.2.13: - resolution: - { - integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} + engines: {node: '>=0.10.0'} dependencies: arr-diff: 4.0.0 array-unique: 0.3.2 @@ -6338,26 +4657,17 @@ packages: optional: true /natural-compare/1.4.0: - resolution: - { - integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, - } + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true /negotiator/0.6.3: - resolution: - { - integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==, - } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} dev: false /node-fetch/2.6.7: - resolution: - { - integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==, - } - engines: { node: 4.x || >=6.0.0 } + resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} + engines: {node: 4.x || >=6.0.0} peerDependencies: encoding: ^0.1.0 peerDependenciesMeta: @@ -6368,41 +4678,26 @@ packages: dev: false /node-forge/1.3.1: - resolution: - { - integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==, - } - engines: { node: ">= 6.13.0" } + resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} + engines: {node: '>= 6.13.0'} dev: false /node-int64/0.4.0: - resolution: - { - integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==, - } + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} dev: true /node-releases/2.0.5: - resolution: - { - integrity: sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==, - } + resolution: {integrity: sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==} dev: true /nodemailer/6.7.5: - resolution: - { - integrity: sha512-6VtMpwhsrixq1HDYSBBHvW0GwiWawE75dS3oal48VqRhUvKJNnKnJo2RI/bCVQubj1vgrgscMNW4DHaD6xtMCg==, - } - engines: { node: ">=6.0.0" } + resolution: {integrity: sha512-6VtMpwhsrixq1HDYSBBHvW0GwiWawE75dS3oal48VqRhUvKJNnKnJo2RI/bCVQubj1vgrgscMNW4DHaD6xtMCg==} + engines: {node: '>=6.0.0'} dev: false /nodemon/2.0.18: - resolution: - { - integrity: sha512-uAvrKipi2zAz8E7nkSz4qW4F4zd5fs2wNGsTx+xXlP8KXqd9ucE0vY9wankOsPboeDyuUGN9vsXGV1pLn80l/A==, - } - engines: { node: ">=8.10.0" } + resolution: {integrity: sha512-uAvrKipi2zAz8E7nkSz4qW4F4zd5fs2wNGsTx+xXlP8KXqd9ucE0vY9wankOsPboeDyuUGN9vsXGV1pLn80l/A==} + engines: {node: '>=8.10.0'} hasBin: true requiresBuild: true dependencies: @@ -6419,65 +4714,45 @@ packages: dev: true /nopt/1.0.10: - resolution: - { - integrity: sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==, - } + resolution: {integrity: sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==} hasBin: true dependencies: abbrev: 1.1.1 dev: true /normalize-path/2.1.1: - resolution: - { - integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} + engines: {node: '>=0.10.0'} dependencies: remove-trailing-separator: 1.1.0 dev: true optional: true /normalize-path/3.0.0: - resolution: - { - integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} dev: true /normalize-url/4.5.1: - resolution: - { - integrity: sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==} + engines: {node: '>=8'} dev: true /npm-run-path/4.0.1: - resolution: - { - integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} dependencies: path-key: 3.1.1 dev: true /object-assign/4.1.1: - resolution: - { - integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + dev: true /object-copy/0.1.0: - resolution: - { - integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==} + engines: {node: '>=0.10.0'} dependencies: copy-descriptor: 0.1.1 define-property: 0.2.5 @@ -6486,37 +4761,25 @@ packages: optional: true /object-inspect/1.12.2: - resolution: - { - integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==, - } + resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==} dev: false /object-keys/1.1.1: - resolution: - { - integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} dev: true /object-visit/1.0.1: - resolution: - { - integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==} + engines: {node: '>=0.10.0'} dependencies: isobject: 3.0.1 dev: true optional: true /object.assign/4.1.2: - resolution: - { - integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.1.4 @@ -6525,11 +4788,8 @@ packages: dev: true /object.omit/2.0.1: - resolution: - { - integrity: sha512-UiAM5mhmIuKLsOvrL+B0U2d1hXHF3bFYWIuH1LMpuV2EJEHG1Ntz06PgLEHjm6VFd87NpH8rastvPoyv6UW2fA==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-UiAM5mhmIuKLsOvrL+B0U2d1hXHF3bFYWIuH1LMpuV2EJEHG1Ntz06PgLEHjm6VFd87NpH8rastvPoyv6UW2fA==} + engines: {node: '>=0.10.0'} dependencies: for-own: 0.1.5 is-extendable: 0.1.1 @@ -6537,66 +4797,54 @@ packages: optional: true /object.pick/1.3.0: - resolution: - { - integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} + engines: {node: '>=0.10.0'} dependencies: isobject: 3.0.1 dev: true + + /object-assign/4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + dev: false + + /object-inspect/1.12.2: + resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==} + dev: false optional: true /on-finished/2.4.1: - resolution: - { - integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==, - } - engines: { node: ">= 0.8" } + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} dependencies: ee-first: 1.1.1 dev: false /once/1.4.0: - resolution: - { - integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, - } + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 dev: true /onetime/5.1.2: - resolution: - { - integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} dependencies: mimic-fn: 2.1.0 dev: true /os-homedir/1.0.2: - resolution: - { - integrity: sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==} + engines: {node: '>=0.10.0'} dev: true /os-tmpdir/1.0.2: - resolution: - { - integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} dev: true /output-file-sync/1.1.2: - resolution: - { - integrity: sha512-uQLlclru4xpCi+tfs80l3QF24KL81X57ELNMy7W/dox+JTtxUf1bLyQ8968fFCmSqqbokjW0kn+WBIlO+rSkNg==, - } + resolution: {integrity: sha512-uQLlclru4xpCi+tfs80l3QF24KL81X57ELNMy7W/dox+JTtxUf1bLyQ8968fFCmSqqbokjW0kn+WBIlO+rSkNg==} dependencies: graceful-fs: 4.2.10 mkdirp: 0.5.6 @@ -6604,47 +4852,32 @@ packages: dev: true /p-cancelable/1.1.0: - resolution: - { - integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==} + engines: {node: '>=6'} dev: true /p-limit/2.3.0: - resolution: - { - integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} dependencies: p-try: 2.2.0 dev: true /p-locate/4.1.0: - resolution: - { - integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} dependencies: p-limit: 2.3.0 dev: true /p-try/2.2.0: - resolution: - { - integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} dev: true /package-json/6.5.0: - resolution: - { - integrity: sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==} + engines: {node: '>=8'} dependencies: got: 9.6.0 registry-auth-token: 4.2.2 @@ -6653,11 +4886,8 @@ packages: dev: true /parse-glob/3.0.4: - resolution: - { - integrity: sha512-FC5TeK0AwXzq3tUBFtH74naWkPQCEWs4K+xMxWZBlKDWu0bVHXGZa+KKqxKidd7xwhdZ19ZNuF2uO1M/r196HA==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-FC5TeK0AwXzq3tUBFtH74naWkPQCEWs4K+xMxWZBlKDWu0bVHXGZa+KKqxKidd7xwhdZ19ZNuF2uO1M/r196HA==} + engines: {node: '>=0.10.0'} dependencies: glob-base: 0.3.0 is-dotfile: 1.0.3 @@ -6667,26 +4897,20 @@ packages: optional: true /parse-json/5.2.0: - resolution: - { - integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} dependencies: - "@babel/code-frame": 7.18.6 + '@babel/code-frame': 7.18.6 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 dev: true /parse/3.4.2: - resolution: - { - integrity: sha512-Ruehcp/S7eB3A0lDG5eAPvZHa5pABCbUR+lMJL2gUNKJLZNcD9/s3RL255PwI5jTqa+TCJ7MdPqobUplouN1pQ==, - } + resolution: {integrity: sha512-Ruehcp/S7eB3A0lDG5eAPvZHa5pABCbUR+lMJL2gUNKJLZNcD9/s3RL255PwI5jTqa+TCJ7MdPqobUplouN1pQ==} dependencies: - "@babel/runtime": 7.17.9 - "@babel/runtime-corejs3": 7.17.8 + '@babel/runtime': 7.17.9 + '@babel/runtime-corejs3': 7.17.8 idb-keyval: 6.0.3 react-native-crypto-js: 1.0.0 uuid: 3.4.0 @@ -6700,213 +4924,141 @@ packages: dev: false /parseurl/1.3.3: - resolution: - { - integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==, - } - engines: { node: ">= 0.8" } + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} dev: false /pascalcase/0.1.1: - resolution: - { - integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} + engines: {node: '>=0.10.0'} dev: true optional: true /path-exists/4.0.0: - resolution: - { - integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} dev: true /path-is-absolute/1.0.1: - resolution: - { - integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} dev: true /path-key/3.1.1: - resolution: - { - integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} dev: true /path-parse/1.0.7: - resolution: - { - integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, - } + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} dev: true /path-to-regexp/0.1.7: - resolution: - { - integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==, - } + resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} dev: false /picocolors/1.0.0: - resolution: - { - integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==, - } + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} dev: true /picomatch/2.3.1: - resolution: - { - integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==, - } - engines: { node: ">=8.6" } + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} dev: true /pirates/4.0.5: - resolution: - { - integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==, - } - engines: { node: ">= 6" } + resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} + engines: {node: '>= 6'} dev: true /pkg-dir/4.2.0: - resolution: - { - integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} dependencies: find-up: 4.1.0 dev: true /posix-character-classes/0.1.1: - resolution: - { - integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==} + engines: {node: '>=0.10.0'} dev: true optional: true /prepend-http/2.0.0: - resolution: - { - integrity: sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==} + engines: {node: '>=4'} dev: true /preserve/0.2.0: - resolution: - { - integrity: sha512-s/46sYeylUfHNjI+sA/78FAHlmIuKqI9wNnzEOGehAlUUYeObv5C2mOinXBjyUyWmJ2SfcS2/ydApH4hTF4WXQ==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-s/46sYeylUfHNjI+sA/78FAHlmIuKqI9wNnzEOGehAlUUYeObv5C2mOinXBjyUyWmJ2SfcS2/ydApH4hTF4WXQ==} + engines: {node: '>=0.10.0'} dev: true optional: true /pretty-format/28.1.1: - resolution: - { - integrity: sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } + resolution: {integrity: sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: - "@jest/schemas": 28.0.2 + '@jest/schemas': 28.0.2 ansi-regex: 5.0.1 ansi-styles: 5.2.0 react-is: 18.2.0 dev: true /private/0.1.8: - resolution: - { - integrity: sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==, - } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==} + engines: {node: '>= 0.6'} dev: true /process-nextick-args/2.0.1: - resolution: - { - integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==, - } + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} dev: true optional: true /prompts/2.4.2: - resolution: - { - integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==, - } - engines: { node: ">= 6" } + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} dependencies: kleur: 3.0.3 sisteransi: 1.0.5 dev: true /proxy-addr/2.0.7: - resolution: - { - integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==, - } - engines: { node: ">= 0.10" } + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} dependencies: forwarded: 0.2.0 ipaddr.js: 1.9.1 dev: false /pstree.remy/1.1.8: - resolution: - { - integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==, - } + resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==} dev: true /pump/3.0.0: - resolution: - { - integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==, - } + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} dependencies: end-of-stream: 1.4.4 once: 1.4.0 dev: true /pupa/2.1.1: - resolution: - { - integrity: sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==} + engines: {node: '>=8'} dependencies: escape-goat: 2.1.1 dev: true /qs/6.10.3: - resolution: - { - integrity: sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==, - } - engines: { node: ">=0.6" } + resolution: {integrity: sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==} + engines: {node: '>=0.6'} dependencies: side-channel: 1.0.4 dev: false /randomatic/3.1.1: - resolution: - { - integrity: sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==, - } - engines: { node: ">= 0.10.0" } + resolution: {integrity: sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==} + engines: {node: '>= 0.10.0'} dependencies: is-number: 4.0.0 kind-of: 6.0.3 @@ -6915,19 +5067,13 @@ packages: optional: true /range-parser/1.2.1: - resolution: - { - integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==, - } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} dev: false /raw-body/2.5.1: - resolution: - { - integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==, - } - engines: { node: ">= 0.8" } + resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} + engines: {node: '>= 0.8'} dependencies: bytes: 3.1.2 http-errors: 2.0.0 @@ -6936,10 +5082,7 @@ packages: dev: false /rc/1.2.8: - resolution: - { - integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==, - } + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true dependencies: deep-extend: 0.6.0 @@ -6949,24 +5092,15 @@ packages: dev: true /react-is/18.2.0: - resolution: - { - integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==, - } + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} dev: true /react-native-crypto-js/1.0.0: - resolution: - { - integrity: sha512-FNbLuG/HAdapQoybeZSoes1PWdOj0w242gb+e1R0hicf3Gyj/Mf8M9NaED2AnXVOX01b2FXomwUiw1xP1K+8sA==, - } + resolution: {integrity: sha512-FNbLuG/HAdapQoybeZSoes1PWdOj0w242gb+e1R0hicf3Gyj/Mf8M9NaED2AnXVOX01b2FXomwUiw1xP1K+8sA==} dev: false /readable-stream/2.3.7: - resolution: - { - integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==, - } + resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -6979,11 +5113,8 @@ packages: optional: true /readdirp/2.2.1: - resolution: - { - integrity: sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==, - } - engines: { node: ">=0.10" } + resolution: {integrity: sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==} + engines: {node: '>=0.10'} dependencies: graceful-fs: 4.2.10 micromatch: 3.1.10 @@ -6994,78 +5125,51 @@ packages: optional: true /readdirp/3.6.0: - resolution: - { - integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==, - } - engines: { node: ">=8.10.0" } + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} dependencies: picomatch: 2.3.1 dev: true /regenerate-unicode-properties/10.0.1: - resolution: - { - integrity: sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==} + engines: {node: '>=4'} dependencies: regenerate: 1.4.2 dev: true /regenerate/1.4.2: - resolution: - { - integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==, - } + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} dev: true /regenerator-runtime/0.10.5: - resolution: - { - integrity: sha512-02YopEIhAgiBHWeoTiA8aitHDt8z6w+rQqNuIftlM+ZtvSl/brTouaU7DW6GO/cHtvxJvS4Hwv2ibKdxIRi24w==, - } + resolution: {integrity: sha512-02YopEIhAgiBHWeoTiA8aitHDt8z6w+rQqNuIftlM+ZtvSl/brTouaU7DW6GO/cHtvxJvS4Hwv2ibKdxIRi24w==} dev: true /regenerator-runtime/0.11.1: - resolution: - { - integrity: sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==, - } + resolution: {integrity: sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==} dev: true /regenerator-runtime/0.13.9: - resolution: - { - integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==, - } + resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==} /regenerator-transform/0.15.0: - resolution: - { - integrity: sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==, - } + resolution: {integrity: sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==} dependencies: - "@babel/runtime": 7.17.9 + '@babel/runtime': 7.17.9 dev: true /regex-cache/0.4.4: - resolution: - { - integrity: sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==} + engines: {node: '>=0.10.0'} dependencies: is-equal-shallow: 0.1.3 dev: true optional: true /regex-not/1.0.2: - resolution: - { - integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} + engines: {node: '>=0.10.0'} dependencies: extend-shallow: 3.0.2 safe-regex: 1.1.0 @@ -7073,11 +5177,8 @@ packages: optional: true /regexpu-core/5.1.0: - resolution: - { - integrity: sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==} + engines: {node: '>=4'} dependencies: regenerate: 1.4.2 regenerate-unicode-properties: 10.0.1 @@ -7088,126 +5189,84 @@ packages: dev: true /registry-auth-token/4.2.2: - resolution: - { - integrity: sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==, - } - engines: { node: ">=6.0.0" } + resolution: {integrity: sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==} + engines: {node: '>=6.0.0'} dependencies: rc: 1.2.8 dev: true /registry-url/5.1.0: - resolution: - { - integrity: sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==} + engines: {node: '>=8'} dependencies: rc: 1.2.8 dev: true /regjsgen/0.6.0: - resolution: - { - integrity: sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==, - } + resolution: {integrity: sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==} dev: true /regjsparser/0.8.4: - resolution: - { - integrity: sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==, - } + resolution: {integrity: sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==} hasBin: true dependencies: jsesc: 0.5.0 dev: true /remove-trailing-separator/1.1.0: - resolution: - { - integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==, - } + resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} dev: true optional: true /repeat-element/1.1.4: - resolution: - { - integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} + engines: {node: '>=0.10.0'} dev: true optional: true /repeat-string/1.6.1: - resolution: - { - integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==, - } - engines: { node: ">=0.10" } + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} dev: true optional: true /repeating/2.0.1: - resolution: - { - integrity: sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==} + engines: {node: '>=0.10.0'} dependencies: is-finite: 1.1.0 dev: true /require-directory/2.1.1: - resolution: - { - integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} dev: true /resolve-cwd/3.0.0: - resolution: - { - integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} dependencies: resolve-from: 5.0.0 dev: true /resolve-from/5.0.0: - resolution: - { - integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} dev: true /resolve-url/0.2.1: - resolution: - { - integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==, - } + resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} deprecated: https://github.com/lydell/resolve-url#deprecated dev: true optional: true /resolve.exports/1.1.0: - resolution: - { - integrity: sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==} + engines: {node: '>=10'} dev: true /resolve/1.22.1: - resolution: - { - integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==, - } + resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} hasBin: true dependencies: is-core-module: 2.9.0 @@ -7216,122 +5275,80 @@ packages: dev: true /responselike/1.0.2: - resolution: - { - integrity: sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==, - } + resolution: {integrity: sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==} dependencies: lowercase-keys: 1.0.1 dev: true /ret/0.1.15: - resolution: - { - integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==, - } - engines: { node: ">=0.12" } + resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} + engines: {node: '>=0.12'} dev: true optional: true /rimraf/3.0.2: - resolution: - { - integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==, - } + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true dependencies: glob: 7.2.3 dev: true /safari-14-idb-fix/3.0.0: - resolution: - { - integrity: sha512-eBNFLob4PMq8JA1dGyFn6G97q3/WzNtFK4RnzT1fnLq+9RyrGknzYiM/9B12MnKAxuj1IXr7UKYtTNtjyKMBog==, - } + resolution: {integrity: sha512-eBNFLob4PMq8JA1dGyFn6G97q3/WzNtFK4RnzT1fnLq+9RyrGknzYiM/9B12MnKAxuj1IXr7UKYtTNtjyKMBog==} dev: false /safe-buffer/5.1.2: - resolution: - { - integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==, - } + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} dev: true /safe-buffer/5.2.1: - resolution: - { - integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==, - } + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: false /safe-regex/1.1.0: - resolution: - { - integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==, - } + resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==} dependencies: ret: 0.1.15 dev: true optional: true /safer-buffer/2.1.2: - resolution: - { - integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==, - } + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: false /semver-diff/3.1.1: - resolution: - { - integrity: sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==} + engines: {node: '>=8'} dependencies: semver: 6.3.0 dev: true /semver/5.7.1: - resolution: - { - integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==, - } + resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} hasBin: true dev: true /semver/6.3.0: - resolution: - { - integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==, - } + resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} hasBin: true dev: true /semver/7.0.0: - resolution: - { - integrity: sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==, - } + resolution: {integrity: sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==} hasBin: true dev: true /semver/7.3.7: - resolution: - { - integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==} + engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 dev: true /send/0.18.0: - resolution: - { - integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==, - } - engines: { node: ">= 0.8.0" } + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + engines: {node: '>= 0.8.0'} dependencies: debug: 2.6.9 depd: 2.0.0 @@ -7351,11 +5368,8 @@ packages: dev: false /serve-static/1.15.0: - resolution: - { - integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==, - } - engines: { node: ">= 0.8.0" } + resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + engines: {node: '>= 0.8.0'} dependencies: encodeurl: 1.0.2 escape-html: 1.0.3 @@ -7366,11 +5380,8 @@ packages: dev: false /set-value/2.0.1: - resolution: - { - integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} + engines: {node: '>=0.10.0'} dependencies: extend-shallow: 2.0.1 is-extendable: 0.1.1 @@ -7380,35 +5391,23 @@ packages: optional: true /setprototypeof/1.2.0: - resolution: - { - integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==, - } + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} dev: false /shebang-command/2.0.0: - resolution: - { - integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 dev: true /shebang-regex/3.0.0: - resolution: - { - integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} dev: true /side-channel/1.0.4: - resolution: - { - integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==, - } + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: call-bind: 1.0.2 get-intrinsic: 1.1.2 @@ -7416,41 +5415,26 @@ packages: dev: false /signal-exit/3.0.7: - resolution: - { - integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==, - } + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true /sisteransi/1.0.5: - resolution: - { - integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==, - } + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} dev: true /slash/1.0.0: - resolution: - { - integrity: sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==} + engines: {node: '>=0.10.0'} dev: true /slash/3.0.0: - resolution: - { - integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} dev: true /snapdragon-node/2.1.1: - resolution: - { - integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} + engines: {node: '>=0.10.0'} dependencies: define-property: 1.0.0 isobject: 3.0.1 @@ -7459,22 +5443,16 @@ packages: optional: true /snapdragon-util/3.0.1: - resolution: - { - integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==} + engines: {node: '>=0.10.0'} dependencies: kind-of: 3.2.2 dev: true optional: true /snapdragon/0.8.2: - resolution: - { - integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} + engines: {node: '>=0.10.0'} dependencies: base: 0.11.2 debug: 2.6.9 @@ -7490,10 +5468,7 @@ packages: optional: true /source-map-resolve/0.5.3: - resolution: - { - integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==, - } + resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} deprecated: See https://github.com/lydell/source-map-resolve#deprecated dependencies: atob: 2.1.2 @@ -7505,83 +5480,56 @@ packages: optional: true /source-map-support/0.4.18: - resolution: - { - integrity: sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==, - } + resolution: {integrity: sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==} dependencies: source-map: 0.5.7 dev: true /source-map-support/0.5.13: - resolution: - { - integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==, - } + resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} dependencies: buffer-from: 1.1.2 source-map: 0.6.1 dev: true /source-map-url/0.4.1: - resolution: - { - integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==, - } + resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} deprecated: See https://github.com/lydell/source-map-url#deprecated dev: true optional: true /source-map/0.5.7: - resolution: - { - integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} dev: true /source-map/0.6.1: - resolution: - { - integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} dev: true /split-string/3.1.0: - resolution: - { - integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} + engines: {node: '>=0.10.0'} dependencies: extend-shallow: 3.0.2 dev: true optional: true /sprintf-js/1.0.3: - resolution: - { - integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==, - } + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} dev: true /stack-utils/2.0.5: - resolution: - { - integrity: sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==} + engines: {node: '>=10'} dependencies: escape-string-regexp: 2.0.0 dev: true /static-extend/0.1.2: - resolution: - { - integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==} + engines: {node: '>=0.10.0'} dependencies: define-property: 0.2.5 object-copy: 0.1.0 @@ -7589,30 +5537,21 @@ packages: optional: true /statuses/2.0.1: - resolution: - { - integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==, - } - engines: { node: ">= 0.8" } + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} dev: false /string-length/4.0.2: - resolution: - { - integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} dependencies: char-regex: 1.0.2 strip-ansi: 6.0.1 dev: true /string-width/4.2.3: - resolution: - { - integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} dependencies: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 @@ -7620,202 +5559,136 @@ packages: dev: true /string_decoder/1.1.1: - resolution: - { - integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==, - } + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} dependencies: safe-buffer: 5.1.2 dev: true optional: true /strip-ansi/3.0.1: - resolution: - { - integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} + engines: {node: '>=0.10.0'} dependencies: ansi-regex: 2.1.1 dev: true /strip-ansi/6.0.1: - resolution: - { - integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} dependencies: ansi-regex: 5.0.1 dev: true /strip-bom/4.0.0: - resolution: - { - integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} dev: true /strip-final-newline/2.0.0: - resolution: - { - integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} dev: true /strip-json-comments/2.0.1: - resolution: - { - integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} dev: true /strip-json-comments/3.1.1: - resolution: - { - integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} dev: true /supports-color/2.0.0: - resolution: - { - integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==, - } - engines: { node: ">=0.8.0" } + resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} + engines: {node: '>=0.8.0'} dev: true /supports-color/5.5.0: - resolution: - { - integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} dependencies: has-flag: 3.0.0 dev: true /supports-color/7.2.0: - resolution: - { - integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} dependencies: has-flag: 4.0.0 dev: true /supports-color/8.1.1: - resolution: - { - integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} dependencies: has-flag: 4.0.0 dev: true /supports-hyperlinks/2.2.0: - resolution: - { - integrity: sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==} + engines: {node: '>=8'} dependencies: has-flag: 4.0.0 supports-color: 7.2.0 dev: true /supports-preserve-symlinks-flag/1.0.0: - resolution: - { - integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} dev: true /terminal-link/2.1.1: - resolution: - { - integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} + engines: {node: '>=8'} dependencies: ansi-escapes: 4.3.2 supports-hyperlinks: 2.2.0 dev: true /test-exclude/6.0.0: - resolution: - { - integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} dependencies: - "@istanbuljs/schema": 0.1.3 + '@istanbuljs/schema': 0.1.3 glob: 7.2.3 minimatch: 3.1.2 dev: true /throat/6.0.1: - resolution: - { - integrity: sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==, - } + resolution: {integrity: sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==} dev: true /tmpl/1.0.5: - resolution: - { - integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==, - } + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} dev: true /to-fast-properties/1.0.3: - resolution: - { - integrity: sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==} + engines: {node: '>=0.10.0'} dev: true /to-fast-properties/2.0.0: - resolution: - { - integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} dev: true /to-object-path/0.3.0: - resolution: - { - integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} + engines: {node: '>=0.10.0'} dependencies: kind-of: 3.2.2 dev: true optional: true /to-readable-stream/1.0.0: - resolution: - { - integrity: sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==} + engines: {node: '>=6'} dev: true /to-regex-range/2.1.1: - resolution: - { - integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==} + engines: {node: '>=0.10.0'} dependencies: is-number: 3.0.0 repeat-string: 1.6.1 @@ -7823,21 +5696,15 @@ packages: optional: true /to-regex-range/5.0.1: - resolution: - { - integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==, - } - engines: { node: ">=8.0" } + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 dev: true /to-regex/3.0.2: - resolution: - { - integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} + engines: {node: '>=0.10.0'} dependencies: define-property: 2.0.2 extend-shallow: 3.0.2 @@ -7847,60 +5714,45 @@ packages: optional: true /toidentifier/1.0.1: - resolution: - { - integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==, - } - engines: { node: ">=0.6" } + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} dev: false /touch/3.1.0: - resolution: - { - integrity: sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==, - } + resolution: {integrity: sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==} hasBin: true dependencies: nopt: 1.0.10 dev: true /tr46/0.0.3: - resolution: - { - integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==, - } + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: false /trim-right/1.0.1: - resolution: - { - integrity: sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==} + engines: {node: '>=0.10.0'} dev: true /ts-jest/28.0.5_d7p7jfykgzko2wul3x4xic5voa: - resolution: - { - integrity: sha512-Sx9FyP9pCY7pUzQpy4FgRZf2bhHY3za576HMKJFs+OnQ9jS96Du5vNsDKkyedQkik+sEabbKAnCliv9BEsHZgQ==, - } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } + resolution: {integrity: sha512-Sx9FyP9pCY7pUzQpy4FgRZf2bhHY3za576HMKJFs+OnQ9jS96Du5vNsDKkyedQkik+sEabbKAnCliv9BEsHZgQ==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} hasBin: true peerDependencies: - "@babel/core": ">=7.0.0-beta.0 <8" + '@babel/core': '>=7.0.0-beta.0 <8' babel-jest: ^28.0.0 - esbuild: "*" + esbuild: '*' jest: ^28.0.0 - typescript: ">=4.3" + typescript: '>=4.3' peerDependenciesMeta: - "@babel/core": + '@babel/core': optional: true babel-jest: optional: true esbuild: optional: true dependencies: - "@babel/core": 7.18.6 + '@babel/core': 7.18.6 bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 jest: 28.1.2_jbmz3vlfopghb5mdasddsdxfzq @@ -7914,28 +5766,25 @@ packages: dev: true /ts-node/10.8.1_qiyc72axg2v44xl4yovan2v55u: - resolution: - { - integrity: sha512-Wwsnao4DQoJsN034wePSg5nZiw4YKXf56mPIAeD6wVmiv+RytNSWqc2f3fKvcUoV+Yn2+yocD71VOfQHbmVX4g==, - } + resolution: {integrity: sha512-Wwsnao4DQoJsN034wePSg5nZiw4YKXf56mPIAeD6wVmiv+RytNSWqc2f3fKvcUoV+Yn2+yocD71VOfQHbmVX4g==} hasBin: true peerDependencies: - "@swc/core": ">=1.2.50" - "@swc/wasm": ">=1.2.50" - "@types/node": "*" - typescript: ">=2.7" + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' peerDependenciesMeta: - "@swc/core": + '@swc/core': optional: true - "@swc/wasm": + '@swc/wasm': optional: true dependencies: - "@cspotcode/source-map-support": 0.8.1 - "@tsconfig/node10": 1.0.9 - "@tsconfig/node12": 1.0.11 - "@tsconfig/node14": 1.0.3 - "@tsconfig/node16": 1.0.3 - "@types/node": 18.0.0 + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.9 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.3 + '@types/node': 18.0.0 acorn: 8.7.1 acorn-walk: 8.2.0 arg: 4.1.3 @@ -7947,105 +5796,69 @@ packages: yn: 3.1.1 /type-detect/4.0.8: - resolution: - { - integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} dev: true /type-fest/0.20.2: - resolution: - { - integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} dev: true /type-fest/0.21.3: - resolution: - { - integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} dev: true /type-is/1.6.18: - resolution: - { - integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==, - } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} dependencies: media-typer: 0.3.0 mime-types: 2.1.35 dev: false /typedarray-to-buffer/3.1.5: - resolution: - { - integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==, - } + resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} dependencies: is-typedarray: 1.0.0 dev: true /typescript/4.7.4: - resolution: - { - integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==, - } - engines: { node: ">=4.2.0" } + resolution: {integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==} + engines: {node: '>=4.2.0'} hasBin: true /undefsafe/2.0.5: - resolution: - { - integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==, - } + resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==} dev: true /unicode-canonical-property-names-ecmascript/2.0.0: - resolution: - { - integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + engines: {node: '>=4'} dev: true /unicode-match-property-ecmascript/2.0.0: - resolution: - { - integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} dependencies: unicode-canonical-property-names-ecmascript: 2.0.0 unicode-property-aliases-ecmascript: 2.0.0 dev: true /unicode-match-property-value-ecmascript/2.0.0: - resolution: - { - integrity: sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==} + engines: {node: '>=4'} dev: true /unicode-property-aliases-ecmascript/2.0.0: - resolution: - { - integrity: sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==} + engines: {node: '>=4'} dev: true /union-value/1.0.1: - resolution: - { - integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} + engines: {node: '>=0.10.0'} dependencies: arr-union: 3.1.0 get-value: 2.0.6 @@ -8055,29 +5868,20 @@ packages: optional: true /unique-string/2.0.0: - resolution: - { - integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} + engines: {node: '>=8'} dependencies: crypto-random-string: 2.0.0 dev: true /unpipe/1.0.0: - resolution: - { - integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==, - } - engines: { node: ">= 0.8" } + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} dev: false /unset-value/1.0.0: - resolution: - { - integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} + engines: {node: '>=0.10.0'} dependencies: has-value: 0.3.1 isobject: 3.0.1 @@ -8085,13 +5889,10 @@ packages: optional: true /update-browserslist-db/1.0.4_browserslist@4.21.1: - resolution: - { - integrity: sha512-jnmO2BEGUjsMOe/Fg9u0oczOe/ppIDZPebzccl1yDWGLFP16Pa1/RM5wEoKYPG2zstNcDuAStejyxsOuKINdGA==, - } + resolution: {integrity: sha512-jnmO2BEGUjsMOe/Fg9u0oczOe/ppIDZPebzccl1yDWGLFP16Pa1/RM5wEoKYPG2zstNcDuAStejyxsOuKINdGA==} hasBin: true peerDependencies: - browserslist: ">= 4.21.0" + browserslist: '>= 4.21.0' dependencies: browserslist: 4.21.1 escalade: 3.1.1 @@ -8099,11 +5900,8 @@ packages: dev: true /update-notifier/5.1.0: - resolution: - { - integrity: sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==} + engines: {node: '>=10'} dependencies: boxen: 5.1.2 chalk: 4.1.2 @@ -8122,171 +5920,114 @@ packages: dev: true /urix/0.1.0: - resolution: - { - integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==, - } + resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} deprecated: Please see https://github.com/lydell/urix#deprecated dev: true optional: true /url-parse-lax/3.0.0: - resolution: - { - integrity: sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==} + engines: {node: '>=4'} dependencies: prepend-http: 2.0.0 dev: true /url-template/2.0.8: - resolution: - { - integrity: sha512-XdVKMF4SJ0nP/O7XIPB0JwAEuT9lDIYnNsK8yGVe43y0AWoKeJNdv3ZNWh7ksJ6KqQFjOO6ox/VEitLnaVNufw==, - } + resolution: {integrity: sha512-XdVKMF4SJ0nP/O7XIPB0JwAEuT9lDIYnNsK8yGVe43y0AWoKeJNdv3ZNWh7ksJ6KqQFjOO6ox/VEitLnaVNufw==} dev: false /use/3.1.1: - resolution: - { - integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} + engines: {node: '>=0.10.0'} dev: true optional: true /user-home/1.1.1: - resolution: - { - integrity: sha512-aggiKfEEubv3UwRNqTzLInZpAOmKzwdHqEBmW/hBA/mt99eg+b4VrX6i+IRLxU8+WJYfa33rGwRseg4eElUgsQ==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-aggiKfEEubv3UwRNqTzLInZpAOmKzwdHqEBmW/hBA/mt99eg+b4VrX6i+IRLxU8+WJYfa33rGwRseg4eElUgsQ==} + engines: {node: '>=0.10.0'} hasBin: true dev: true /util-deprecate/1.0.2: - resolution: - { - integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==, - } + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: true optional: true /utils-merge/1.0.1: - resolution: - { - integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==, - } - engines: { node: ">= 0.4.0" } + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} dev: false /uuid/3.4.0: - resolution: - { - integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==, - } + resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. hasBin: true dev: false /uuid/8.3.2: - resolution: - { - integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==, - } + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true dev: false /v8-compile-cache-lib/3.0.1: - resolution: - { - integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==, - } + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} /v8-to-istanbul/9.0.1: - resolution: - { - integrity: sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==, - } - engines: { node: ">=10.12.0" } - dependencies: - "@jridgewell/trace-mapping": 0.3.14 - "@types/istanbul-lib-coverage": 2.0.4 + resolution: {integrity: sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==} + engines: {node: '>=10.12.0'} + dependencies: + '@jridgewell/trace-mapping': 0.3.14 + '@types/istanbul-lib-coverage': 2.0.4 convert-source-map: 1.8.0 dev: true /v8flags/2.1.1: - resolution: - { - integrity: sha512-SKfhk/LlaXzvtowJabLZwD4K6SGRYeoxA7KJeISlUMAB/NT4CBkZjMq3WceX2Ckm4llwqYVo8TICgsDYCBU2tA==, - } - engines: { node: ">= 0.10.0" } + resolution: {integrity: sha512-SKfhk/LlaXzvtowJabLZwD4K6SGRYeoxA7KJeISlUMAB/NT4CBkZjMq3WceX2Ckm4llwqYVo8TICgsDYCBU2tA==} + engines: {node: '>= 0.10.0'} dependencies: user-home: 1.1.1 dev: true /vary/1.1.2: - resolution: - { - integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==, - } - engines: { node: ">= 0.8" } + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} dev: false /walker/1.0.8: - resolution: - { - integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==, - } + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} dependencies: makeerror: 1.0.12 dev: true /webidl-conversions/3.0.1: - resolution: - { - integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==, - } + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: false /whatwg-url/5.0.0: - resolution: - { - integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==, - } + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 dev: false /which/2.0.2: - resolution: - { - integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, - } - engines: { node: ">= 8" } + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} hasBin: true dependencies: isexe: 2.0.0 dev: true /widest-line/3.1.0: - resolution: - { - integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} + engines: {node: '>=8'} dependencies: string-width: 4.2.3 dev: true /wrap-ansi/7.0.0: - resolution: - { - integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 @@ -8294,17 +6035,11 @@ packages: dev: true /wrappy/1.0.2: - resolution: - { - integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, - } + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: true /write-file-atomic/3.0.3: - resolution: - { - integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==, - } + resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} dependencies: imurmurhash: 0.1.4 is-typedarray: 1.0.0 @@ -8313,22 +6048,16 @@ packages: dev: true /write-file-atomic/4.0.1: - resolution: - { - integrity: sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==, - } - engines: { node: ^12.13.0 || ^14.15.0 || >=16 } + resolution: {integrity: sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16} dependencies: imurmurhash: 0.1.4 signal-exit: 3.0.7 dev: true /ws/7.5.1: - resolution: - { - integrity: sha512-2c6faOUH/nhoQN6abwMloF7Iyl0ZS2E9HGtsiLrWn0zOOMWlhtDmdf/uihDt6jnuCxgtwGBNy6Onsoy2s2O2Ow==, - } - engines: { node: ">=8.3.0" } + resolution: {integrity: sha512-2c6faOUH/nhoQN6abwMloF7Iyl0ZS2E9HGtsiLrWn0zOOMWlhtDmdf/uihDt6jnuCxgtwGBNy6Onsoy2s2O2Ow==} + engines: {node: '>=8.3.0'} peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ^5.0.2 @@ -8340,49 +6069,31 @@ packages: dev: false /xdg-basedir/4.0.0: - resolution: - { - integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==} + engines: {node: '>=8'} dev: true /xmlhttprequest/1.8.0: - resolution: - { - integrity: sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA==, - } - engines: { node: ">=0.4.0" } + resolution: {integrity: sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA==} + engines: {node: '>=0.4.0'} dev: false /y18n/5.0.8: - resolution: - { - integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} dev: true /yallist/4.0.0: - resolution: - { - integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, - } + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} /yargs-parser/21.0.1: - resolution: - { - integrity: sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==} + engines: {node: '>=12'} dev: true /yargs/17.5.1: - resolution: - { - integrity: sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==} + engines: {node: '>=12'} dependencies: cliui: 7.0.4 escalade: 3.1.1 @@ -8394,8 +6105,5 @@ packages: dev: true /yn/3.1.1: - resolution: - { - integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} diff --git a/backend/src/course/clone.ts b/backend/src/course/clone.ts deleted file mode 100644 index 265a75c..0000000 --- a/backend/src/course/clone.ts +++ /dev/null @@ -1,79 +0,0 @@ -import Parse from "parse/node"; -import { updateFeedback } from "../feedback/feedback"; -import { createResource, getResourcesFromCourse } from "../resources/resources"; -import { ResourceStatus } from "../types/enums"; -import { parseObjectsToJson } from "../utils/parseToJason"; -import { createCourse } from "./course"; -/* -To clone a course: - 1. Create a new course (destination course) - 2. Fetch all resources from the course that wants to be cloned - 3. Create new resources with content from the other one - 4. Make sure to reference the destination course with the resources -*/ - -export const SCORE_PER_SHARE = 1; - -export const cloneCourse = async ( - courseName: string, - courseId: string, - user: Parse.User, - isFeatured?: boolean -) => { - try { - const course = await createCourse(courseName, user); - - // this means the course will be public and without a user linked to it - if (isFeatured) { - course.set("featured", isFeatured); - course.set("likes", 0); - } - - const resources = parseObjectsToJson( - await getResourcesFromCourse(courseId) - ); - - if (!resources || resources.length === 0) { - throw new Error("Course doesn't exist"); - } - - await course.save(); - - for (const resource of resources) { - const newResource = createResource({ - status: ResourceStatus.NotStarted, - channel: resource.channel, - videoId: resource.videoId, - url: resource.url, - level: resource.level, - title: resource.title, - description: resource.description, - thumbnail: resource.thumbnail, - feedback: 0, - course, - user, - }); - - await newResource.save(); - } - - // We dont want to give positive feedback to resources if the user is making the course public - !isFeatured && (await updateFeedbackForEveryResource(resources)); - return course; - } catch (err) { - throw new Error(err.message); - } -}; - -const updateFeedbackForEveryResource = async ( - resources: (Parse.Object.ToJSON & - Parse.JSONBaseAttributes)[] -) => { - try { - for (const resource of resources) { - await updateFeedback(resource.videoId, SCORE_PER_SHARE); - } - } catch (err) { - throw new Error(err.message); - } -}; diff --git a/backend/src/course/course.ts b/backend/src/course/course.ts deleted file mode 100644 index 81fa992..0000000 --- a/backend/src/course/course.ts +++ /dev/null @@ -1,287 +0,0 @@ -import { - getExternalRanking, - getFinalRanking, - getInternalRanking, -} from "../rating/ranking"; -import { getVideoDetailByIds, getVideosByQuery } from "../rating/youtube"; -import Parse from "parse/node"; -import { IResource } from "../types/resource"; -import { - IFinalRankingYoutubeVideo, - IWeightedYoutubeVideo, -} from "../types/youtube"; -import { createResource } from "../resources/resources"; -import { getImagesByQuery } from "../unsplash/unsplash"; -import { updateFeedback } from "../feedback/feedback"; -import { CourseDifficulty, ResourceStatus } from "../types/enums"; - -const VIDEOS_PER_QUERY = 100; -const SCORE_PER_DISLIKED_VIDEO = -2; - -export const getUserCourses = async (user: Parse.Object) => { - const Course = Parse.Object.extend("Course"); - const query = new Parse.Query(Course); - - query.equalTo("user", user); - query.notEqualTo("featured", true); - - try { - const courses = await query.findAll(); - - return courses; - } catch (err) { - throw new Error(err.message); - } -}; - -export const getUserCoursesWithLimits = async ( - user: Parse.Object, - limit: number, - skip: number, - searchQuery: string -) => { - const Course = Parse.Object.extend("Course"); - const query = new Parse.Query(Course); - - query.equalTo("user", user); - query.descending("createdAt"); - query.matches("name", new RegExp(searchQuery), "i"); - query.limit(limit); - query.notEqualTo("featured", true); - query.skip(skip); - - try { - const courses = await query.find(); - return courses; - } catch (err) { - throw new Error(err.message); - } -}; - -export const getCourseByUserAndId = async ( - user: Parse.Object, - courseId: string -) => { - const Course = Parse.Object.extend("Course"); - const query = new Parse.Query(Course); - - query.equalTo("user", user); - query.equalTo("objectId", courseId); - - try { - const course = await query.find(); - - return course[0]; - } catch (err) { - throw new Error(err.message); - } -}; - -export const getProgressByCourse = async ( - user: Parse.Object, - courseId: string -) => { - const Resource = Parse.Object.extend("Resource"); - const Course = Parse.Object.extend("Course"); - - const query = new Parse.Query(Resource); - - const course = new Course(); - course.id = courseId; - - query.equalTo("user", user); - query.equalTo("course", course); - - try { - const resources = await query.findAll(); - - // filter by level - const beginnerLevelResources = resources.filter( - (resource) => resource.get("level") === CourseDifficulty.Beginner - ); - const advancedLevelResources = resources.filter( - (resource) => resource.get("level") === CourseDifficulty.Advanced - ); - - return { - [CourseDifficulty.Beginner]: calculateCourseCompletition( - beginnerLevelResources - ), - [CourseDifficulty.Advanced]: calculateCourseCompletition( - advancedLevelResources - ), - }; - } catch (err) { - throw new Error(err.message); - } -}; - -export const createCourse = async ( - name: string, - user: Parse.Object -) => { - const Course: Parse.Object = new Parse.Object("Course"); - - try { - const images = await getImagesByQuery(name); - - Course.set("name", name); - Course.set("images", images); - Course.set("user", user); - return Course; - } catch (err) { - throw new Error(err.message); - } -}; - -export const deleteCourse = async ( - courseId: string, - dislikedVideos: string[] -) => { - const Course = new Parse.Object("Course"); - Course.set("objectId", courseId); - - try { - await giveNegativeFeedbackToDislikedVideos(dislikedVideos); - return await Course.destroy(); - } catch (err) { - throw new Error(err.message); - } -}; - -export const giveNegativeFeedbackToDislikedVideos = async ( - dislikedVideos: string[] -) => { - try { - for (const dislikedVideo of dislikedVideos) { - await updateFeedback(dislikedVideo, SCORE_PER_DISLIKED_VIDEO); - } - } catch (err) { - throw new Error(err.message); - } -}; - -export const saveResources = async ( - resources: IWeightedYoutubeVideo[], - course: Parse.Object, - level: CourseDifficulty, - user: Parse.User -) => { - try { - for (const resource of resources) { - const video = createResource({ - level, - videoId: resource.id, - status: ResourceStatus.NotStarted, - title: resource.snippet.title, - description: resource.snippet.description, - url: `https://youtube.com/video/${resource.id}`, - thumbnail: resource.snippet.thumbnails.high.url, - channel: resource.snippet.channelTitle, - feedback: 0, - course, - user, - }); - - await video.save(); - } - } catch (err) { - throw new Error(err.message); - } -}; - -export const generateResources = async (name: string) => { - try { - return await getBeginnerAndAdvancedCourses(name); - } catch (err) { - throw new Error(err.message); - } -}; - -const getBeginnerAndAdvancedCourses = async (query: string) => { - const VIDEOS_PER_COURSE = 3; - try { - const beginnerVideos = await getRankedVideos(`beginner ${query} tutorial`); - const top3AdvancedVideos = getTopN( - await getRankedVideos(`advanced ${query} tutorial`), - VIDEOS_PER_COURSE - ); - const top3BeginnerVideos = getTopNBeginnerVideosWithoutDuplicates( - beginnerVideos, - top3AdvancedVideos, - VIDEOS_PER_COURSE - ); - return { - beginner: top3BeginnerVideos, - advanced: top3AdvancedVideos, - }; - } catch (err) { - throw new Error(err.message); - } -}; - -const getTopNBeginnerVideosWithoutDuplicates = ( - beginnerVideos: IFinalRankingYoutubeVideo[], - top3AdvancedVideos: IFinalRankingYoutubeVideo[], - n: number -) => { - const selectedBeginnerVideos = new Set(); - - const topNBeginnersVideos: IFinalRankingYoutubeVideo[] = []; - - // We have to iterate over all videos. And then break as soon as we have 3 - for (const video of beginnerVideos) { - if (top3AdvancedVideos.find((v) => v.id === video.id)) { - continue; - } - topNBeginnersVideos.push(video); - if (topNBeginnersVideos.length === n) break; - } - return topNBeginnersVideos; -}; - -const getTopN = (rankedVideos: IFinalRankingYoutubeVideo[], n: number) => { - if (n > rankedVideos.length) { - return rankedVideos; - } - - const splicedRankedVideos = rankedVideos.splice(0, n); - return splicedRankedVideos; -}; - -const getRankedVideos = async (query: string) => { - try { - const videos = await getVideosByQuery(query, VIDEOS_PER_QUERY); - - const ids = []; - for (const video of videos.data.items) { - ids.push(video.id.videoId); - } - - const videosDetailed = await getVideoDetailByIds(ids, VIDEOS_PER_QUERY); - - const rankedVideos = await getFinalRanking(videosDetailed.data.items); - - const sortedRankedVideos = rankedVideos.sort( - (a, b) => b.final_score - a.final_score - ); - - return sortedRankedVideos; - } catch (err) { - throw new Error(err.message); - } -}; - -const calculateCourseCompletition = ( - resources: Parse.Object[] -) => { - let totalCompleted = 0; - let totalInProgress = 0; - - for (const resource of resources) { - if (resource.get("status") === ResourceStatus.Completed) totalCompleted++; - if (resource.get("status") === ResourceStatus.InProgress) totalInProgress++; - } - - return ((totalCompleted + 0.5 * totalInProgress) / resources.length) * 100; -}; diff --git a/backend/src/course/featured.ts b/backend/src/course/featured.ts deleted file mode 100644 index a66e439..0000000 --- a/backend/src/course/featured.ts +++ /dev/null @@ -1,165 +0,0 @@ -// A featured course is just a - -import { quartersInYear } from "date-fns"; -import Parse from "parse/node"; -import { - checkIfUrlIsValidAndReturnId, - getVideoDetailByIds, -} from "../rating/youtube"; -import { createResource } from "../resources/resources"; -import { ResourceStatus } from "../types/enums"; -import { parseObjectToJson } from "../utils/parseToJason"; -import { cloneCourse } from "./clone"; -import { createCourse, getCourseByUserAndId } from "./course"; -import { getLikesUser, incrementCourseLikes } from "./likes"; - -export const makeAnExistingCourseFeautured = async ( - courseId: string, - user: Parse.User -) => { - try { - const course = await getCourseByUserAndId(user, courseId); - - const featuredCourse = await cloneCourse( - course.get("name"), - courseId, - user, - true - ); - - return featuredCourse; - } catch (err) { - throw new Error(err.message); - } -}; - -export const getAllFeaturedCourses = async ( - limit: number, - skip: number, - searchQuery: string, - user: Parse.User -) => { - const Course = Parse.Object.extend("Course"); - const query = new Parse.Query(Course); - - query.equalTo("featured", true); - query.descending("likes"); - query.matches("name", new RegExp(searchQuery), "i"); - query.limit(limit); - query.skip(skip); - query.include("user"); - - try { - const courses = await query.find(); - - return mapIfUserHasLikedBefore(courses, user); - } catch (err) { - throw new Error(err.message); - } -}; - -export const mapIfUserHasLikedBefore = async ( - courses: Parse.Object[], - user: Parse.Object -) => { - try { - // cannot use map since it doesn't support async await - const likedCourses = []; - for (const course of courses) { - const likedByUser = await getLikesUser(user, course); - likedCourses.push({ - ...parseObjectToJson(course), - likedByUser: !!likedByUser, - }); - } - return likedCourses; - } catch (err) { - throw new Error(err.message); - } -}; - -export const createCourseFromScratch = async ( - urls: string[], - name: string, - user: Parse.User -) => { - const course = await createCourse(name, user); - course.set("featured", true); - course.set("likes", 0); - - try { - await course.save(); - - const videosIds = urls.map((url) => checkIfUrlIsValidAndReturnId(url)); - - const videoDetails = await getVideoDetailByIds(videosIds, 100); - - for (const [idx, details] of videoDetails.data.items.entries()) { - const video = createResource({ - level: idx < 3 ? 1 : 2, - videoId: details.id, - status: ResourceStatus.NotStarted, - title: details.snippet.title, - description: details.snippet.description, - url: `https://youtube.com/video/${details.id}`, - thumbnail: details.snippet.thumbnails.high.url, - channel: details.snippet.channelTitle, - feedback: 0, - course, - user, - }); - - await video.save(); - } - - return videoDetails; - } catch (err) { - throw new Error(err.message); - } -}; - -export const likeFeaturedCourse = async ( - courseId: string, - user: Parse.User -) => { - const LikeUser = new Parse.Object("LikeUser"); - - const Course = new Parse.Object("Course"); - Course.set("objectId", courseId); - - try { - const hasBeenLikedBefore = await getLikesUser(user, Course); - if (hasBeenLikedBefore) { - throw new Error("You already liked this course"); - } - - LikeUser.set("course", Course); - LikeUser.set("user", user); - - await LikeUser.save(); - return await incrementCourseLikes(Course, 1); - } catch (err) { - throw new Error(err.message); - } -}; - -export const dislikeFeaturedCourse = async ( - courseId: string, - user: Parse.User -) => { - const Course = new Parse.Object("Course"); - Course.set("objectId", courseId); - - try { - const likeUser = await getLikesUser(user, Course); - - if (!likeUser) { - throw new Error("You haven't like this course before"); - } - - await likeUser.destroy(); - return await incrementCourseLikes(Course, -1); - } catch (err) { - throw new Error(err.message); - } -}; diff --git a/backend/src/course/likes.ts b/backend/src/course/likes.ts deleted file mode 100644 index a4f5f5e..0000000 --- a/backend/src/course/likes.ts +++ /dev/null @@ -1,28 +0,0 @@ -import Parse from "parse/node"; - -export const getLikesUser = async ( - user: Parse.Object, - course: Parse.Object -) => { - const LikesUser = Parse.Object.extend("LikeUser"); - const query = new Parse.Query(LikesUser); - query.equalTo("user", user); - query.equalTo("course", course); - try { - return await query.first(); - } catch (err) { - throw new Error(err.message); - } -}; - -export const incrementCourseLikes = async ( - course: Parse.Object, - amount: number -) => { - course.increment("likes", amount); - try { - return await course.save(); - } catch (err) { - throw new Error(err.message); - } -}; diff --git a/backend/src/feedback/feedback.ts b/backend/src/feedback/feedback.ts deleted file mode 100644 index 9d75b19..0000000 --- a/backend/src/feedback/feedback.ts +++ /dev/null @@ -1,114 +0,0 @@ -import { youtube_v3 } from "googleapis"; -import Parse from "parse/node"; -import { - INormalizedInternalYoutubeVideo, - IRawInternalYoutubeVideo, -} from "../types/youtube"; -import { normalize } from "../utils/math"; - -export const createFeedback = (videoId: string, feedback: number) => { - const Feedback = new Parse.Object("Feedback"); - Feedback.set("videoId", videoId); - Feedback.set("feedback", feedback); - return Feedback; -}; - -export const updateFeedback = async ( - videoId: string, - amountToIncrement: number -) => { - try { - const feedback = await getFeedbackByVideoId(videoId); - - if (!feedback || feedback.length === 0) { - const newFeedbackObject = createFeedback(videoId, amountToIncrement); - return await newFeedbackObject.save(); - } - - feedback[0].increment("feedback", amountToIncrement); - return await feedback[0].save(); - } catch (err) { - throw new Error(err.message); - } -}; - -export const getFeedbackByVideoId = async (videoId: string) => { - const Feedback = Parse.Object.extend("Feedback"); - const query = new Parse.Query(Feedback); - - query.equalTo("videoId", videoId); - try { - const feedback = await query.find(); - return feedback; - } catch (err) { - throw new Error(err.message); - } -}; -export const getFeedback = async () => { - const Feedback = Parse.Object.extend("Feedback"); - const query = new Parse.Query(Feedback); - - try { - const feedback = await query.find(); - return feedback; - } catch (err) { - throw new Error(err.message); - } -}; - -export const assignFeedbackScoreToFetchedVideos = ( - videos: youtube_v3.Schema$Video[], - feedback: Parse.Object[] -) => { - const rawFeedbackVideos = assignRawFeedbackScoreToFetchedVideos( - videos, - feedback - ); - const { minScore, maxScore } = getMaxMinFeedbackScore(rawFeedbackVideos); - return normalizeFeedbackFromFetchedVideos( - rawFeedbackVideos, - minScore, - maxScore - ); -}; - -export const assignRawFeedbackScoreToFetchedVideos = ( - videos: youtube_v3.Schema$Video[], - feedback: Parse.Object[] -): IRawInternalYoutubeVideo[] => { - return videos.map((video) => { - const videoInFeedback = feedback.find((f) => f.get("videoId") === video.id); - - if (!videoInFeedback) return { ...video, raw_internal_score: 0 }; - return { ...video, raw_internal_score: videoInFeedback.get("feedback") }; - }); -}; - -export const getMaxMinFeedbackScore = (videos: IRawInternalYoutubeVideo[]) => { - let maxFeedbackScore = videos[0].raw_internal_score; - let minFeedbackScore = videos[0].raw_internal_score; - - for (const video of videos) { - maxFeedbackScore = Math.max(video.raw_internal_score, maxFeedbackScore); - minFeedbackScore = Math.min(video.raw_internal_score, minFeedbackScore); - } - return { minScore: minFeedbackScore, maxScore: maxFeedbackScore }; -}; - -export const normalizeFeedbackFromFetchedVideos = ( - videos: IRawInternalYoutubeVideo[], - minInternalFeedbackScore: number, - maxInternalFeedbackScore: number -): INormalizedInternalYoutubeVideo[] => { - return videos.map((video) => { - return { - ...video, - internal_score: - normalize( - video.raw_internal_score, - minInternalFeedbackScore, - maxInternalFeedbackScore - ) * 100, - }; - }); -}; diff --git a/backend/src/following/following.ts b/backend/src/following/following.ts deleted file mode 100644 index a921654..0000000 --- a/backend/src/following/following.ts +++ /dev/null @@ -1,120 +0,0 @@ -import Parse from "parse/node"; -import { updateFeedback } from "../feedback/feedback"; - -export const followUser = async ( - currUser: Parse.User, - username: string -) => { - const Follower = new Parse.Object("Following"); - - try { - const targetUser = await findUserByUsername(username); - - if (!targetUser) { - throw new Error("User does not exist"); - } - - const alreadyFollowing = await checkIfAlreadyFollow(currUser, targetUser); - if (alreadyFollowing) { - throw new Error("You already follow that user"); - } - - Follower.set("user", currUser); - Follower.set("target", targetUser); - - return Follower; - } catch (err) { - throw new Error(err.message); - } -}; - -export const unfollowUser = async ( - currUser: Parse.User, - userId: string -) => { - const Follower = Parse.Object.extend("Following"); - - const User = new Parse.User(); - User.id = currUser.id; - const TargetUser = new Parse.User(); - TargetUser.id = userId; - - const query = new Parse.Query(Follower); - - query.equalTo("user", User); - query.equalTo("target", TargetUser); - - try { - const followingObject = await query.first(); - - if (!followingObject) throw new Error("You are not following that user"); - - return await followingObject.destroy(); - } catch (err) { - throw new Error(err.message); - } -}; - -export const getFollowersAsUserObjects = async ( - user: Parse.User -) => { - try { - const followersObject = await getFollowers(user); - return followersObject.map((follower) => { - return follower.get("target"); - }); - } catch (err) { - throw new Error(err.message); - } -}; - -export const getFollowers = async (user: Parse.User) => { - const Following = Parse.Object.extend("Following"); - const query = new Parse.Query(Following); - - query.equalTo("user", user); - try { - return await query.find(); - } catch (err) { - throw new Error(err.message); - } -}; - -export const getFollowersIds = async (user: Parse.User) => { - try { - const followersObject = await getFollowers(user); - return followersObject.map((follow) => { - const followJson = follow.toJSON(); - return followJson.target.objectId; - }); - } catch (err) { - throw new Error(err.message); - } -}; - -export const findUserByUsername = async (username: string) => { - const User = Parse.Object.extend("User"); - const query = new Parse.Query(User); - query.equalTo("username", username); - try { - return await query.first(); - } catch (err) { - throw new Error(err.message); - } -}; - -export const checkIfAlreadyFollow = async ( - user: Parse.User, - targetUser: Parse.Object -) => { - const Following = Parse.Object.extend("Following"); - const query = new Parse.Query(Following); - - query.equalTo("user", user); - query.equalTo("target", targetUser); - try { - return await query.first(); - } catch (err) { - throw new Error(err.message); - } -}; diff --git a/backend/src/following/status.ts b/backend/src/following/status.ts deleted file mode 100644 index 77d2a3a..0000000 --- a/backend/src/following/status.ts +++ /dev/null @@ -1,58 +0,0 @@ -import Parse from "parse/node"; - -export const setStatus = async ( - user: Parse.User, - status: string -) => { - try { - const userStatus = await findStatusByUser(user); - - if (userStatus.length === 0) { - return await createStatus(user, status); - } - - userStatus[0].set("status", status); - return await userStatus[0].save(); - } catch (err) { - throw new Error(err.message); - } -}; - -export const findStatusByUser = async (user: Parse.User) => { - const Status = Parse.Object.extend("Status"); - const query = new Parse.Query(Status); - query.equalTo("user", user); - try { - return await query.find(); - } catch (err) { - throw new Error(err.message); - } -}; - -export const createStatus = async ( - user: Parse.User, - status: string -) => { - const Status = new Parse.Object("Status"); - Status.set("status", status); - Status.set("user", user); - try { - return await Status.save(); - } catch (err) { - throw new Error(err.message); - } -}; - -export const findStatusByMultipleUsers = async ( - users: Parse.Object[] -) => { - const Status = Parse.Object.extend("Status"); - const query = new Parse.Query(Status); - query.containedIn("user", users); - query.includeAll(); - try { - return await query.find(); - } catch (err) { - throw new Error(err.message); - } -}; diff --git a/backend/src/middleware/getAuthUser.ts b/backend/src/middleware/getAuthUser.ts deleted file mode 100644 index d8e1afa..0000000 --- a/backend/src/middleware/getAuthUser.ts +++ /dev/null @@ -1,24 +0,0 @@ -import Parse from "parse/node"; -import { Express, Request, Response, NextFunction } from "express"; -import { BadRequestError } from "../utils/errors"; -import { IUser, RequestWUser } from "../types/user"; - -export const getAuthUser = async ( - req: RequestWUser, - res: Response, - next: NextFunction -) => { - const token = req.headers.authorization; - if (!token) { - next(new BadRequestError("Missing authorization header")); - return; - } - try { - Parse.User.enableUnsafeCurrentUser(); - const user = await Parse.User.become(token); - req.user = user; - next(); - } catch (error) { - next(new BadRequestError("Invalid token")); - } -}; diff --git a/backend/src/post/post.ts b/backend/src/post/post.ts deleted file mode 100644 index 44a658b..0000000 --- a/backend/src/post/post.ts +++ /dev/null @@ -1,80 +0,0 @@ -import Parse from "parse/node"; -import { getFollowersAsUserObjects } from "../following/following"; -import { getUserByUsername } from "../user/user"; - -export const createPost = ( - content: string, - user: Parse.User, - courseId?: string | undefined -) => { - const Post = new Parse.Object("Post"); - - Post.set("content", content); - Post.set("user", user); - - if (courseId) { - const Course = new Parse.Object("Course"); - Course.set("objectId", courseId); - Post.set("course", Course); - } - - return Post; -}; - -export const getPostsByUser = async ( - userId: string, - limit: number, - skip: number -) => { - const Post = Parse.Object.extend("Post"); - const User = Parse.Object.extend("User"); - - const query = new Parse.Query(Post); - - const user = new User(); - user.id = userId; - - query.equalTo("user", user); - query.descending("createdAt"); - query.skip(skip); - query.limit(limit); - query.includeAll(); - return await query.find(); -}; - -export const getPostsByUsername = async ( - username: string, - limit: number, - skip: number -) => { - const Post = Parse.Object.extend("Post"); - - const query = new Parse.Query(Post); - const user = await getUserByUsername(username); - - query.equalTo("user", user); - query.descending("createdAt"); - query.skip(skip); - query.limit(limit); - query.includeAll(); - return await query.find(); -}; - -export const getFollowingPosts = async ( - user: Parse.User, - limit: number, - skip: number -) => { - const Post = Parse.Object.extend("Post"); - - const query = new Parse.Query(Post); - const followers = await getFollowersAsUserObjects(user); - const allPosts = [user, ...followers]; - - query.containedIn("user", allPosts); - query.descending("createdAt"); - query.skip(skip); - query.limit(limit); - query.includeAll(); - return await query.find(); -}; diff --git a/backend/src/rating/ranking.ts b/backend/src/rating/ranking.ts index f587283..0e5d319 100644 --- a/backend/src/rating/ranking.ts +++ b/backend/src/rating/ranking.ts @@ -3,16 +3,10 @@ import { ExpressError } from "../utils/errors"; import { parseISO, differenceInCalendarDays } from "date-fns"; import { normalize } from "../utils/math"; import { - IFinalRankingYoutubeVideo, - INormalizedInternalYoutubeVideo, INormalizedYoutubeVideo, IRawYoutubeVideo, IWeightedYoutubeVideo, } from "../types/youtube"; -import { - assignFeedbackScoreToFetchedVideos, - getFeedback, -} from "../feedback/feedback"; interface IMaxScores { dateXViews: number; @@ -40,43 +34,6 @@ export const WEIGHTS = { weight6: 0, }; -export const getFinalRanking = async (videos: youtube_v3.Schema$Video[]) => { - const externalRankedVideos = getExternalRanking(videos); - try { - const internalRankedVideos = await getInternalRanking(videos); - return mergeInternalExternalRanking( - externalRankedVideos, - internalRankedVideos - ); - } catch (err) { - throw new Error(err.message); - } -}; - -export const getInternalRanking = async (videos: youtube_v3.Schema$Video[]) => { - try { - const feedback = await getFeedback(); - return assignFeedbackScoreToFetchedVideos(videos, feedback); - } catch (err) { - throw new Error(err.message); - } -}; - -export const mergeInternalExternalRanking = ( - externalRankedVideos: IWeightedYoutubeVideo[], - internalRankedVideos: INormalizedInternalYoutubeVideo[] -): IFinalRankingYoutubeVideo[] => { - if (externalRankedVideos.length !== internalRankedVideos.length) { - throw new Error("External and internal ranking doesn't match"); - } - return externalRankedVideos.map((externalVideo, idx) => { - const final_score = - 0.4 * externalVideo.final_external_score + - 0.6 * internalRankedVideos[idx].internal_score; - return { ...externalVideo, ...internalRankedVideos[idx], final_score }; - }); -}; - export const getExternalRanking = (videos: youtube_v3.Schema$Video[]) => { const rawExternalScoreVideos = getRawExternalRanking(videos); const maxScores = getMaxScores(rawExternalScoreVideos); @@ -153,7 +110,7 @@ export const getWeightedExternalRanking = ( useOfChapters: video.normalized_score.useOfChapters * WEIGHTS.weight5, }; - const final_external_score = + const final_score = 0.5 * (weighted_score.date + weighted_score.dateXLikes) + 0.3 * weighted_score.dateXViews + 0.2 * weighted_score.useOfChapters; @@ -161,7 +118,7 @@ export const getWeightedExternalRanking = ( return { ...video, weighted_score, - final_external_score, + final_score, }; }); }; diff --git a/backend/src/rating/youtube.ts b/backend/src/rating/youtube.ts index 302d7fe..df11271 100644 --- a/backend/src/rating/youtube.ts +++ b/backend/src/rating/youtube.ts @@ -3,42 +3,25 @@ import path from "path"; import youtube from "../utils/gapi"; export const getVideosByQuery = async (query: string, limit: number) => { - try { - const result = await youtube.search.list({ - q: query, - part: ["id"], - type: ["video"], - maxResults: limit, - }); - return result; - } catch (err) { - throw new Error(err.message); - } + const result = await youtube.search.list({ + q: query, + part: ["id"], + type: ["video"], + maxResults: limit, + }); + return result; }; export const getVideoDetailByIds = async (ids: string[], limit: number) => { - try { - const result = await youtube.videos.list({ - id: ids, - part: ["snippet", "contentDetails", "statistics"], - maxResults: limit, - }); - return result; - } catch (err) { - throw new Error(err.message); - } + const result = await youtube.videos.list({ + id: ids, + part: ["snippet", "contentDetails", "statistics"], + maxResults: limit, + }); + return result; }; export const getVideoDataFromJson = () => { const jsonPath = path.join(__dirname, "youtube-data.json"); return JSON.parse(readFileSync(jsonPath, { encoding: "utf-8" })); }; - -export const checkIfUrlIsValidAndReturnId = (url: string) => { - var youtubeRegExp = - /^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=|\?v=)([^#\&\?]*).*/; - const matches = url.match(youtubeRegExp); - - if (matches) return matches[2]; - return undefined; -}; diff --git a/backend/src/resources/resources.ts b/backend/src/resources/resources.ts deleted file mode 100644 index 93fbff9..0000000 --- a/backend/src/resources/resources.ts +++ /dev/null @@ -1,108 +0,0 @@ -import { IResource } from "../types/resource"; -import Parse from "parse/node"; -import { updateFeedback } from "../feedback/feedback"; -import { createPost } from "../post/post"; -import { getCourseByUserAndId } from "../course/course"; -import { createStatus, setStatus } from "../following/status"; -import { getRandomEmoji } from "../utils/emojiPicker"; -import { ResourceStatus } from "../types/enums"; - -const SCORE_PER_COMPLETED = 0.1; -export const createResource = (resource: IResource) => { - const Resource: Parse.Object = new Parse.Object("Resource"); - - Object.keys(resource).forEach((resourceAttribute) => { - Resource.set(resourceAttribute, resource[resourceAttribute]); - }); - - return Resource; -}; - -export const getResourcesFromCourse = async (courseId: string) => { - const Resource = Parse.Object.extend("Resource"); - const Course = Parse.Object.extend("Course"); - - const query = new Parse.Query(Resource); - - const course = new Course(); - course.id = courseId; - - query.equalTo("course", course); - - try { - const resources = await query.findAll(); - return resources; - } catch (err) { - throw new Error(err.message); - } -}; - -export const findResourceById = async (id: string) => { - const Resource = Parse.Object.extend("Resource"); - const query = new Parse.Query(Resource); - query.equalTo("objectId", id); - try { - return await query.find(); - } catch (err) { - throw new Error(err.message); - } -}; - -export const getResourcesFromCourseAndDifficulty = async ( - courseId: string, - level: number -) => { - const Resource = Parse.Object.extend("Resource"); - const Course = Parse.Object.extend("Course"); - - const query = new Parse.Query(Resource); - - const course = new Course(); - course.id = courseId; - - query.equalTo("course", course); - query.equalTo("level", level); - - try { - const resources = await query.findAll(); - return resources; - } catch (err) { - throw new Error(err.message); - } -}; - -export const updateResourceStatus = async ( - resourceName: string, - resourceId: string, - status: ResourceStatus, - courseName: string, - courseId: string, - user: Parse.User -) => { - const Resource = new Parse.Object("Resource"); - Resource.set("objectId", resourceId); - Resource.set("status", status); - - try { - if (status === ResourceStatus.Completed) { - const resource = await findResourceById(resourceId); - updateFeedback(resource[0].get("videoId"), SCORE_PER_COMPLETED); - - const post = createPost( - `Finished ${resourceName} from the course ${courseName}`, - user, - courseId - ); - - await post.save(); - } - - if (status === ResourceStatus.InProgress) { - await setStatus(user, `${getRandomEmoji()} Studying ${courseName}`); - } - - return Resource; - } catch (err) { - throw new Error(err.message); - } -}; diff --git a/backend/src/routes/auth.ts b/backend/src/routes/auth.ts index 0d6b7e2..361ff69 100644 --- a/backend/src/routes/auth.ts +++ b/backend/src/routes/auth.ts @@ -29,7 +29,7 @@ auth.post("/register", async (req, res, next) => { return; } - const user = new Parse.User({ username, password, email }); + const user = new Parse.User({ username, password, email }); try { await user.signUp(); diff --git a/backend/src/routes/course.ts b/backend/src/routes/course.ts deleted file mode 100644 index f4ffb97..0000000 --- a/backend/src/routes/course.ts +++ /dev/null @@ -1,211 +0,0 @@ -import { zhCN } from "date-fns/locale"; -import express from "express"; -import { cloneCourse } from "../course/clone"; -import { - createCourse, - deleteCourse, - generateResources, - getCourseByUserAndId, - getProgressByCourse, - getUserCourses, - getUserCoursesWithLimits, - saveResources, -} from "../course/course"; -import { - createCourseFromScratch, - dislikeFeaturedCourse, - getAllFeaturedCourses, - likeFeaturedCourse, - makeAnExistingCourseFeautured, -} from "../course/featured"; -import { getAuthUser } from "../middleware/getAuthUser"; -import { RequestWUser } from "../types/user"; -import { BadRequestError } from "../utils/errors"; -import { - getInfiniteQueryParams, - getInfiniteQueryWithSearchParams, -} from "../utils/infiniteQuery"; -import { parseObjectsToJson } from "../utils/parseToJason"; - -const course = express.Router(); - -course.use(getAuthUser); - -course.post("/new", async (req: RequestWUser, res, next) => { - const { name } = req.body; - const { user } = req; - - if (!name || !user) { - next(new BadRequestError("Missing attributes")); - return; - } - - try { - const course = await createCourse(name, user); - const { beginner, advanced } = await generateResources(name); - - // Save course first - const courseData = await course.save(); - - await saveResources(beginner, course, 1, user); - await saveResources(advanced, course, 2, user); - - res.status(201).send(courseData); - } catch (error) { - next(new BadRequestError(error.message)); - } -}); - -course.get("/me", async (req: RequestWUser, res, next) => { - const { user } = req; - const { limit, skip, query } = getInfiniteQueryWithSearchParams(req); - - try { - const courses = await getUserCoursesWithLimits( - user, - parseInt(limit), - parseInt(skip), - query - ); - res.send(courses); - } catch (err) { - next(new BadRequestError(err.message)); - } -}); - -course.get("/:courseId", async (req: RequestWUser, res, next) => { - const { user } = req; - const { courseId } = req.params; - - try { - const course = await getCourseByUserAndId(user, courseId); - res.send(course); - } catch (err) { - next(new BadRequestError(err.message)); - } -}); - -course.get("/progress/:courseId", async (req: RequestWUser, res, next) => { - const { user } = req; - const { courseId } = req.params; - - try { - const progress = await getProgressByCourse(user, courseId); - res.send(progress); - } catch (err) { - next(new BadRequestError(err.message)); - } -}); - -course.post("/clone/:courseId", async (req: RequestWUser, res, next) => { - const { user } = req; - const { courseId } = req.params; - const { name } = req.body; - - if (!name) { - next(new BadRequestError("Missing params")); - return; - } - - try { - const course = await cloneCourse(name, courseId, user); - res.send(course); - } catch (err) { - next(new BadRequestError(err.message)); - } -}); - -course.delete("/:courseId", async (req: RequestWUser, res, next) => { - // I want to both delete the course and take feedback into consideration - const { courseId } = req.params; - const { dislikedVideos } = req.body; - - if (dislikedVideos === undefined) { - next(new BadRequestError("Missing parameters")); - return; - } - - try { - const deletedCourse = await deleteCourse(courseId, dislikedVideos); - - res.send(deletedCourse); - } catch (err) { - next(new BadRequestError(err.message)); - } -}); - -course.get("/featured/get", async (req: RequestWUser, res, next) => { - const { user } = req; - try { - const { limit, skip, query } = getInfiniteQueryWithSearchParams(req); - - const featuredCourses = await getAllFeaturedCourses( - parseInt(limit), - parseInt(skip), - query, - user - ); - res.send(featuredCourses); - } catch (err) { - next(new BadRequestError(err.message)); - } -}); - -course.post("/makeFeatured/:courseId", async (req: RequestWUser, res, next) => { - const { user } = req; - const { courseId } = req.params; - - try { - const featuredCourse = await makeAnExistingCourseFeautured(courseId, user); - res.send(featuredCourse); - } catch (err) { - next(new BadRequestError(err.message)); - } -}); - -course.post("/fromScratch", async (req: RequestWUser, res, next) => { - const { user } = req; - const { urls, name } = req.body; - - if (!urls || urls.length !== 6 || !name) { - next(new BadRequestError("Missing params")); - return; - } - - try { - const course = await createCourseFromScratch(urls, name, user); - res.send(course); - } catch (err) { - next(new BadRequestError(err.message)); - } -}); - -course.post( - "/featured/like/:courseId", - async (req: RequestWUser, res, next) => { - const { user } = req; - const { courseId } = req.params; - - try { - res.send(await likeFeaturedCourse(courseId, user)); - } catch (err) { - next(new BadRequestError(err.message)); - } - } -); - -course.post( - "/featured/dislike/:courseId", - async (req: RequestWUser, res, next) => { - const { user } = req; - const { courseId } = req.params; - - try { - res.send(await dislikeFeaturedCourse(courseId, user)); - } catch (err) { - next(new BadRequestError(err.message)); - } - } -); - -export default course; diff --git a/backend/src/routes/debug.ts b/backend/src/routes/debug.ts index f3efce7..8b30fcc 100644 --- a/backend/src/routes/debug.ts +++ b/backend/src/routes/debug.ts @@ -1,10 +1,6 @@ import express, { Request } from "express"; -import { run_v1, youtube_v3 } from "googleapis"; -import { - getExternalRanking, - getFinalRanking, - getInternalRanking, -} from "../rating/ranking"; +import { youtube_v3 } from "googleapis"; +import { getExternalRanking } from "../rating/ranking"; import { getVideoDataFromJson, getVideoDetailByIds, @@ -24,43 +20,15 @@ debug.post("/", async (req, res, next) => { return; } - try { - const videos = await getVideosByQuery(query, VIDEOS_PER_QUERY); - - const ids = videos.data.items.map((video) => { - return video.id.videoId; - }); + const videos = await getVideosByQuery(query, VIDEOS_PER_QUERY); - const videosDetailed = await getVideoDetailByIds(ids, VIDEOS_PER_QUERY); + const ids = videos.data.items.map((video) => { + return video.id.videoId; + }); - res.send(videosDetailed.data.items); - } catch (err) { - next(new BadRequestError(err.message)); - } -}); + const videosDetailed = await getVideoDetailByIds(ids, VIDEOS_PER_QUERY); -debug.get("/internal", async (req, res, next) => { - const videos = getVideoDataFromJson() as youtube_v3.Schema$Video[]; - try { - const rankedVideos = await getFinalRanking(videos); - res.send( - rankedVideos.map((video) => { - return { - title: video.snippet.title, - description: video.snippet.description, - raw_score: video.raw_score, - normalized_score: video.normalized_score, - weighted_score: video.weighted_score, - final_external_score: video.final_external_score, - raw_internal_score: video.raw_internal_score, - final_internal_score: video.internal_score, - final_score: video.final_score, - }; - }) - ); - } catch (err) { - next(new BadRequestError(err.message)); - } + res.send(videosDetailed.data.items); }); debug.get("/json", (req, res, next) => { @@ -74,7 +42,7 @@ debug.get("/json", (req, res, next) => { raw_score: video.raw_score, normalized_score: video.normalized_score, weighted_score: video.weighted_score, - final_score: video.final_external_score, + final_score: video.final_score, }; }) ); diff --git a/backend/src/routes/follow.ts b/backend/src/routes/follow.ts deleted file mode 100644 index d98a09f..0000000 --- a/backend/src/routes/follow.ts +++ /dev/null @@ -1,103 +0,0 @@ -import express from "express"; -import { - followUser, - getFollowers, - getFollowersAsUserObjects, - getFollowersIds, - unfollowUser, -} from "../following/following"; -import { - findStatusByMultipleUsers, - findStatusByUser, - setStatus, -} from "../following/status"; -import { getAuthUser } from "../middleware/getAuthUser"; -import { getFollowingPosts } from "../post/post"; -import { RequestWUser } from "../types/user"; -import { getUserById } from "../user/user"; -import { BadRequestError } from "../utils/errors"; - -const follow = express.Router(); - -follow.use(getAuthUser); - -follow.get("/getFollowers", async (req: RequestWUser, res, next) => { - const { user } = req; - - res.send(await getFollowersIds(user)); -}); - -follow.post("/followUser/:username", async (req: RequestWUser, res, next) => { - const { user } = req; - const { username } = req.params; - - try { - const Follower = await followUser(user, username); - res.send(await Follower.save()); - } catch (err) { - next(new BadRequestError(err.message)); - } -}); - -follow.post("/status", async (req: RequestWUser, res, next) => { - const { user } = req; - const { status } = req.body; - - if (!status) { - next(new BadRequestError("Missing params")); - return; - } - - try { - res.send(await setStatus(user, status)); - } catch (err) { - next(new BadRequestError(err.message)); - } -}); - -follow.get("/status/by/:id", async (req: RequestWUser, res, next) => { - const { id } = req.params; - try { - const user = (await getUserById(id)) as Parse.User; - const following = await getFollowersAsUserObjects(user); - const status = await findStatusByMultipleUsers(following); - res.send(status); - } catch (err) { - next(new BadRequestError(err.message)); - } -}); - -follow.get("/following/status", async (req: RequestWUser, res, next) => { - const { user } = req; - - try { - const following = await getFollowersAsUserObjects(user); - const status = await findStatusByMultipleUsers(following); - res.send(status); - } catch (err) { - next(new BadRequestError(err.message)); - } -}); - -follow.get("/status/:id", async (req: RequestWUser, res, next) => { - const { id } = req.params; - try { - const user = (await getUserById(id)) as Parse.User; - const status = await findStatusByUser(user); - res.send(status[0]); - } catch (err) { - next(new BadRequestError(err.message)); - } -}); - -follow.delete("/:userId", async (req: RequestWUser, res, next) => { - const { user } = req; - const { userId } = req.params; - try { - res.send(await unfollowUser(user, userId)); - } catch (err) { - next(new BadRequestError(err.message)); - } -}); - -export default follow; diff --git a/backend/src/routes/post.ts b/backend/src/routes/post.ts deleted file mode 100644 index 870d6ad..0000000 --- a/backend/src/routes/post.ts +++ /dev/null @@ -1,84 +0,0 @@ -import express from "express"; -import { getAuthUser } from "../middleware/getAuthUser"; -import { - createPost, - getFollowingPosts, - getPostsByUser, - getPostsByUsername, -} from "../post/post"; -import { RequestWUser } from "../types/user"; -import { BadRequestError } from "../utils/errors"; -import { - getInfiniteQueryParams, - getInfiniteQueryWithSearchParams, -} from "../utils/infiniteQuery"; - -const post = express.Router(); - -post.use(getAuthUser); - -post.post("/", async (req: RequestWUser, res, next) => { - const { user } = req; - const { content, courseId } = req.body; - - if (!content) { - next(new BadRequestError("Missing parameters")); - return; - } - - try { - const post = createPost(content, user, courseId); - const result = await post.save(); - res.status(201).send(result); - } catch (err) { - next(new BadRequestError(err)); - return; - } -}); - -post.get("/from/:id", async (req: RequestWUser, res, next) => { - const { id } = req.params; - try { - const { limit, skip, query } = getInfiniteQueryWithSearchParams(req); - - const posts = await getPostsByUser(id, parseInt(limit), parseInt(skip)); - res.send(posts); - } catch (err) { - next(new BadRequestError(err)); - } -}); - -post.get("/me", async (req: RequestWUser, res, next) => { - const { user } = req; - try { - const { limit, skip } = getInfiniteQueryParams(req); - - const posts = await getPostsByUser( - user.id, - parseInt(limit), - parseInt(skip) - ); - res.send(posts); - } catch (err) { - next(new BadRequestError(err)); - } -}); - -post.get("/following", async (req: RequestWUser, res, next) => { - const { user } = req; - - try { - const { limit, skip } = getInfiniteQueryParams(req); - - const posts = await getFollowingPosts( - user, - parseInt(limit), - parseInt(skip) - ); - res.send(posts); - } catch (err) { - next(new BadRequestError(err)); - } -}); - -export default post; diff --git a/backend/src/routes/resources.ts b/backend/src/routes/resources.ts deleted file mode 100644 index 5ff48ab..0000000 --- a/backend/src/routes/resources.ts +++ /dev/null @@ -1,67 +0,0 @@ -import express from "express"; -import { runInNewContext } from "vm"; -import { getAuthUser } from "../middleware/getAuthUser"; -import { - getResourcesFromCourse, - getResourcesFromCourseAndDifficulty, - updateResourceStatus, -} from "../resources/resources"; -import { RequestWUser } from "../types/user"; -import { BadRequestError } from "../utils/errors"; - -const resources = express.Router(); - -resources.use(getAuthUser); - -resources.get( - "/byCourse/:courseId/:level", - async (req: RequestWUser, res, next) => { - const { courseId, level } = req.params; - try { - const courses = await getResourcesFromCourseAndDifficulty( - courseId, - parseInt(level) - ); - res.send(courses); - } catch (err) { - next(new BadRequestError(err)); - } - } -); - -resources.get("/byCourse/:courseId", async (req: RequestWUser, res, next) => { - const { courseId } = req.params; - const resources = await getResourcesFromCourse(courseId); - res.send(resources); -}); - -resources.put( - "/updateStatus/:resourceId", - async (req: RequestWUser, res, next) => { - const { user } = req; - const { resourceId } = req.params; - const { status, courseName, courseId, resourceName } = req.body; - - if (status === undefined || !courseName || !courseId || !resourceName) { - next(new BadRequestError("Missing params")); - return; - } - try { - const resource = await updateResourceStatus( - resourceName, - resourceId, - status, - courseName, - courseId, - user - ); - const result = await resource.save(); - - res.send(result); - } catch (err) { - next(new BadRequestError(err)); - } - } -); - -export default resources; diff --git a/backend/src/routes/suggestions.ts b/backend/src/routes/suggestions.ts deleted file mode 100644 index a9be3d2..0000000 --- a/backend/src/routes/suggestions.ts +++ /dev/null @@ -1,22 +0,0 @@ -import express from "express"; -import { getAuthUser } from "../middleware/getAuthUser"; -import { getSuggestions } from "../suggestions/suggestions"; -import { RequestWUser } from "../types/user"; -import { BadRequestError } from "../utils/errors"; - -const suggestions = express.Router(); - -suggestions.use(getAuthUser); - -suggestions.get("/me", async (req: RequestWUser, res, next) => { - const { user } = req; - - try { - const suggestions = await getSuggestions(user); - res.send(suggestions); - } catch (err) { - next(new BadRequestError(err)); - } -}); - -export default suggestions; diff --git a/backend/src/routes/user.ts b/backend/src/routes/user.ts deleted file mode 100644 index a0a480b..0000000 --- a/backend/src/routes/user.ts +++ /dev/null @@ -1,21 +0,0 @@ -import express from "express"; -import { getAuthUser } from "../middleware/getAuthUser"; -import { RequestWUser } from "../types/user"; -import { getUserById } from "../user/user"; -import { BadRequestError } from "../utils/errors"; - -const user = express.Router(); - -user.use(getAuthUser); - -user.get("/by/:id", async (req: RequestWUser, res, next) => { - const { id } = req.params; - try { - const user = await getUserById(id); - res.send(user); - } catch (err) { - next(new BadRequestError(err)); - } -}); - -export default user; diff --git a/backend/src/suggestions/suggestions.ts b/backend/src/suggestions/suggestions.ts deleted file mode 100644 index 766261b..0000000 --- a/backend/src/suggestions/suggestions.ts +++ /dev/null @@ -1,119 +0,0 @@ -/** - * - * Suggestions Algorithm - * This algorithm suggests courses based on how frequent they are. This is based on the user's following list - * - * First, it gets all the courses the people you follow are enrolled in, including yourself (this would be neccesary later on) - * Then, it groups all these courses using a dictionary, to get its frequency. This is not as straightfoward as it sounds, since the users are - * able to create courses without any restrictions. For example, a user can create a React Course by naming it: React, React JS, React.js, React Javascript, etc. All these examples should be considered the same. For that we use a stringSimilarity() function that returns a score, if that score is above certain threshold, then it's considered the same. - * Now, to avoid suggesting courses that the user already have. When we are grouping the courses, we check if any of those courses are created by the user, and if so, we delete the entire dictionary key and it's elements, so that way, all elements get deleted, and if we try to add a new one, we would check if that key exists before trying to add it, and if it doesn't exist, we just don't add it. That way we can get rid of duplicated content. - * - * **/ - -import Parse from "parse/node"; -import { getUserCourses } from "../course/course"; -import { getFollowersAsUserObjects } from "../following/following"; -import { getResourcesFromCourseAndDifficulty } from "../resources/resources"; -import { ParseJson } from "../types/global"; -import { parseObjectsToJson, parseObjectToJson } from "../utils/parseToJason"; -import { getStringSimilarity } from "../utils/similarity"; - -export interface GroupedFrequency { - courseName: string; - frequency: number; -} - -export const getSuggestions = async (user: Parse.User) => { - try { - const followingCourses = await getCoursesFromFollowers(user); - const followingCoursesJson = parseObjectsToJson(followingCourses); - const groupedSimilarCourses = groupSimilarCourses( - followingCoursesJson, - user - ); - const groupedCoursesWithFrequency = mapCoursesToFrequency( - groupedSimilarCourses - ); - return groupedCoursesWithFrequency; - } catch (err) { - throw new Error(err.message); - } -}; - -export const getCoursesFromFollowers = async ( - user: Parse.User -) => { - try { - const followers = await getFollowersAsUserObjects(user); - - const Course = Parse.Object.extend("Course"); - const query = new Parse.Query(Course); - - // We also need to look for user courses, since that would be used later when discarding repeated suggested courses - query.containedIn("user", [user, ...followers]); - query.select("name"); - query.select("user"); - - const followingCourses = await query.find(); - return followingCourses; - } catch (err) { - throw new Error(err.message); - } -}; - -export const groupSimilarCourses = ( - courses: ParseJson[], - user: Parse.User -) => { - const SIMILARITY_TRESHOLD = 0.4; - - // sort courses by name - courses.sort((a, b) => b.name - a.name); - - const groupedCourses: { [key: string]: ParseJson[] } = {}; - const visited: boolean[] = new Array(courses.length).fill(false); - - for (let i = 0; i < courses.length; i++) { - if (visited[i]) continue; - visited[i] = true; - - // Ensuring the user doesn't have the course that is going to be suggested - if (courses[i].user.objectId === user.id) { - continue; - } - - const currDictKey = courses[i].name; - groupedCourses[currDictKey] = [courses[i]]; // init array - - for (let j = i + 1; j < courses.length; j++) { - if (visited[j]) continue; - - if ( - getStringSimilarity(currDictKey, courses[j].name) >= SIMILARITY_TRESHOLD - ) { - visited[j] = true; - - // In case we find a course the user already have, we delete the key so no new elements get added - if (courses[j].user.objectId === user.id) { - delete groupedCourses[currDictKey]; - continue; - } - // if this goes true, that means that that key shouldn't exist, since the user already have that course - if (!groupedCourses[currDictKey]) continue; - - groupedCourses[currDictKey].push(courses[j]); - } - } - } - - return groupedCourses; -}; - -export const mapCoursesToFrequency = (groupedCourses: { - [key: string]: ParseJson[]; -}): GroupedFrequency[] => { - const coursesWithLength = Object.keys(groupedCourses).map((courseName) => { - return { courseName, frequency: groupedCourses[courseName].length }; - }); - return coursesWithLength.sort((a, b) => b.frequency - a.frequency); -}; diff --git a/backend/src/types/course.d.ts b/backend/src/types/course.d.ts deleted file mode 100644 index 0053ba9..0000000 --- a/backend/src/types/course.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { DbObject } from "./global"; - -export interface ICourse extends DbObject { - name: string; - resources: any[]; -} diff --git a/backend/src/types/enums.ts b/backend/src/types/enums.ts deleted file mode 100644 index ca5f439..0000000 --- a/backend/src/types/enums.ts +++ /dev/null @@ -1,10 +0,0 @@ -export const enum ResourceStatus { - NotStarted, - InProgress, - Completed, -} - -export const enum CourseDifficulty { - Beginner = 1, - Advanced, -} diff --git a/backend/src/types/global.d.ts b/backend/src/types/global.d.ts index c7faf4f..02c54c2 100644 --- a/backend/src/types/global.d.ts +++ b/backend/src/types/global.d.ts @@ -1,11 +1,5 @@ -import Parse from "Parse/node"; - export interface DbObject { objectId: string; updatedAt: string; createdAt: string; - ACL: object; } - -export type ParseJson = Parse.Object.ToJSON & - Parse.JSONBaseAttributes; diff --git a/backend/src/types/image.d.ts b/backend/src/types/image.d.ts deleted file mode 100644 index 019b247..0000000 --- a/backend/src/types/image.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -export interface IUnsplashLinks { - raw: string; - full: string; - regular: string; - small: string; - thumb: string; -} diff --git a/backend/src/types/resource.d.ts b/backend/src/types/resource.d.ts deleted file mode 100644 index e96e5ec..0000000 --- a/backend/src/types/resource.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { ICourse } from "./course"; -import Parse from "parse/node"; -import { DbObject } from "./global"; -import { CourseDifficulty, ResourceStatus } from "./enums"; - -export interface IResource { - status: ResourceStatus; - level: CourseDifficulty; - feedback: number; - title: string; - description: string; - url: string; - thumbnail: string; - channel: string; - course: Parse.Object; - user: Parse.User; - videoId: string; -} diff --git a/backend/src/types/user.d.ts b/backend/src/types/user.d.ts index 1cc68eb..a6b7a1e 100644 --- a/backend/src/types/user.d.ts +++ b/backend/src/types/user.d.ts @@ -1,12 +1,7 @@ -import { Request } from "express"; import { DbObject } from "./global"; -import Parse from "parse/node"; -export interface IUser extends Partial { +export interface IUser extends DbObject { username: string; email: string; - password: string; - emailVerified?: boolean; + emailVerified: boolean; } - -export type RequestWUser = Request & { user: Parse.User }; diff --git a/backend/src/types/youtube.d.ts b/backend/src/types/youtube.d.ts index 1b81e30..0febe51 100644 --- a/backend/src/types/youtube.d.ts +++ b/backend/src/types/youtube.d.ts @@ -17,17 +17,5 @@ export interface INormalizedYoutubeVideo extends IRawYoutubeVideo { export interface IWeightedYoutubeVideo extends INormalizedYoutubeVideo { weighted_score: IExternalRankingScore; - final_external_score: number; + final_score: number; } - -export interface IRawInternalYoutubeVideo extends youtube_v3.Schema$Video { - raw_internal_score: number; -} - -export interface INormalizedInternalYoutubeVideo - extends IRawInternalYoutubeVideo { - internal_score: number; -} - -export type IFinalRankingYoutubeVideo = INormalizedInternalYoutubeVideo & - IWeightedYoutubeVideo & { final_score: number }; diff --git a/backend/src/unsplash/unsplash.ts b/backend/src/unsplash/unsplash.ts deleted file mode 100644 index d67907e..0000000 --- a/backend/src/unsplash/unsplash.ts +++ /dev/null @@ -1,24 +0,0 @@ -import axios from "axios"; -import dotenv from "dotenv"; -import { errorMonitor } from "events"; -import { IUnsplashLinks } from "../types/image"; - -dotenv.config(); - -const unsplashUrl = "https://api.unsplash.com"; - -export const getImagesByQuery = async (query: string) => { - try { - const images = await axios.get( - `${unsplashUrl}/search/photos?page=1&query=${encodeURIComponent( - query - )}&client_id=${process.env.UNSPLASH_ACCESS_KEY}` - ); - - return images.data.results.map((image) => { - return { ...image.urls }; - }) as Array; - } catch (err) { - throw new Error(err.message); - } -}; diff --git a/backend/src/user/user.ts b/backend/src/user/user.ts deleted file mode 100644 index e648e3c..0000000 --- a/backend/src/user/user.ts +++ /dev/null @@ -1,26 +0,0 @@ -import Parse from "parse/node"; - -export const getUserById = async (userId: string) => { - const User = Parse.Object.extend("User"); - const query = new Parse.Query(User); - - query.equalTo("objectId", userId); - query.select("username", "email"); - try { - return await query.first(); - } catch (err) { - throw new Error(err.message); - } -}; - -export const getUserByUsername = async (username: string) => { - const User = Parse.Object.extend("User"); - const query = new Parse.Query(User); - - query.equalTo("username", username); - try { - return await query.first(); - } catch (err) { - throw new Error(err.message); - } -}; diff --git a/backend/src/utils/emojiPicker.ts b/backend/src/utils/emojiPicker.ts deleted file mode 100644 index 88f574e..0000000 --- a/backend/src/utils/emojiPicker.ts +++ /dev/null @@ -1,5 +0,0 @@ -export const emojis = ["🚀", "👀", "🎯", "📚", "👊"]; - -export const getRandomEmoji = () => { - return emojis[Math.floor(Math.random() * emojis.length)]; -}; diff --git a/backend/src/utils/infiniteQuery.ts b/backend/src/utils/infiniteQuery.ts deleted file mode 100644 index 0aea812..0000000 --- a/backend/src/utils/infiniteQuery.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { RequestWUser } from "../types/user"; - -export const getInfiniteQueryWithSearchParams = (req: RequestWUser) => { - const { limit, skip, query } = req.query; - - if ( - !limit || - typeof limit !== "string" || - !skip || - typeof skip !== "string" || - typeof query !== "string" - ) { - throw new Error("Missing parameters"); - } - return { limit, skip, query }; -}; - -export const getInfiniteQueryParams = (req: RequestWUser) => { - const { limit, skip } = req.query; - - if ( - !limit || - typeof limit !== "string" || - !skip || - typeof skip !== "string" - ) { - throw new Error("Missing parameters"); - } - return { limit, skip }; -}; diff --git a/backend/src/utils/parseToJason.ts b/backend/src/utils/parseToJason.ts deleted file mode 100644 index f21d600..0000000 --- a/backend/src/utils/parseToJason.ts +++ /dev/null @@ -1,9 +0,0 @@ -export const parseObjectToJson = (object: Parse.Object) => { - return object.toJSON(); -}; - -export const parseObjectsToJson = ( - objects: Parse.Object[] -) => { - return objects.map((object) => object.toJSON()); -}; diff --git a/backend/src/utils/similarity.ts b/backend/src/utils/similarity.ts deleted file mode 100644 index 10fb540..0000000 --- a/backend/src/utils/similarity.ts +++ /dev/null @@ -1,110 +0,0 @@ -export const getBigrams = (str: string) => { - const bigrams = new Set(); - for (let i = 0; i < str.length - 1; i++) { - bigrams.add(str.substring(i, i + 2)); - } - return bigrams; -}; - -export const intersectTwoSets = (set1: Set, set2: Set) => { - return new Set([...set1].filter((x) => set2.has(x))); -}; - -export const removeWhiteSpaces = (str: string) => { - return str.replace(/\s/g, ""); -}; -export const getDiceCoefficient = (str1: string, str2: string) => { - const s1 = removeWhiteSpaces(str1); - const s2 = removeWhiteSpaces(str2); - - const bigrams1 = getBigrams(s1); - const bigrams2 = getBigrams(s2); - return ( - (2 * intersectTwoSets(bigrams1, bigrams2).size) / - (bigrams1.size + bigrams2.size) - ); -}; - -export const getCosineSimilarity = (str1: string, str2: string) => { - const s1WordList = str1.toLowerCase().split(" "); - const s2WordList = str2.toLowerCase().split(" "); - - const str1Frequency = countWordFrequency(s1WordList); - const str2Frequency = countWordFrequency(s2WordList); - - const wordsSet = getWordsSet([...s1WordList, ...s2WordList]); - - const s1Vector = mapTermFrequencyToVector(str1Frequency, wordsSet); - const s2Vector = mapTermFrequencyToVector(str2Frequency, wordsSet); - - return cosineSimilarity(s1Vector, s2Vector); -}; - -export const cosineSimilarity = (vectorA: number[], vectorB: number[]) => { - return ( - vectorDotProduct(vectorA, vectorB) / - (vectorMagnitude(vectorA) * vectorMagnitude(vectorB)) - ); -}; - -export const countWordFrequency = ( - strWords: string[] -): { [key: string]: number } => { - const frequency = {}; - - for (const word of strWords) { - frequency[word] = (frequency[word] || 0) + 1; // Ensure it exists and then add 1 - } - return frequency; -}; - -export const getWordsSet = (words: string[]) => { - const wordsSet = new Set(); - for (const word of words) { - wordsSet.add(word); - } - return wordsSet; -}; - -export const vectorDotProduct = (vectorA: number[], vectorB: number[]) => { - let product = 0; - for (let i = 0; i < vectorA.length; i++) { - product += vectorA[i] * vectorB[i]; - } - return product; -}; - -export const vectorMagnitude = (vectorA: number[]) => { - const sum = vectorA.reduce((prev, curr) => prev + curr * curr, 0); - return Math.sqrt(sum); -}; - -export const mapTermFrequencyToVector = ( - strFrequency: { - [key: string]: number; - }, - totalWordsSet: Set -) => { - const vector: number[] = []; - for (const word of totalWordsSet) { - vector.push(strFrequency[word] || 0); - } - return vector; -}; - -export const replaceSpecialCharactersToWhitespace = (str: string) => { - return str.toLowerCase().replace(/[^a-zA-Z0-9\s]/g, " "); -}; - -export const getStringSimilarity = (str1: string, str2: string) => { - const DICE_WEIGHT = 0.5; - const COSINE_WEIGHT = 0.5; - - const s1 = replaceSpecialCharactersToWhitespace(str1); - const s2 = replaceSpecialCharactersToWhitespace(str2); - - const diceScore = getDiceCoefficient(s1, s2); - const cosineScore = getCosineSimilarity(s1, s2); - - return DICE_WEIGHT * diceScore + COSINE_WEIGHT * cosineScore; -}; diff --git a/backend/tests/similarity.test.ts b/backend/tests/similarity.test.ts deleted file mode 100644 index 05cd603..0000000 --- a/backend/tests/similarity.test.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { - cosineSimilarity, - getDiceCoefficient, - getBigrams, - getCosineSimilarity, - intersectTwoSets, - getStringSimilarity, -} from "../src/utils/similarity"; - -test("should get all bigrams of a string", () => { - const str1 = "hello world"; - const expectedSet = new Set([ - "he", - "el", - "ll", - "lo", - "o ", - " w", - "wo", - "or", - "rl", - "ld", - ]); - expect(getBigrams(str1)).toStrictEqual(expectedSet); -}); - -test("should intersect two sets", () => { - const set1 = new Set(["hello", "yes"]); - const set2 = new Set(["hello", "no"]); - const expectedSet = new Set(["hello"]); - - expect(intersectTwoSets(set1, set2)).toStrictEqual(expectedSet); -}); - -test("should get the diceCoefficient of two string", () => { - const str1 = "vue"; - const str2 = "vue js"; - const expectedResult = 1.0; - - expect(getDiceCoefficient(str1, str2)).toBeCloseTo(0.666); -}); - -test("get cosine similarity ", () => { - const str1 = "Julie loves me more than Linda loves me"; - const str2 = "Jane likes me more than Julie loves me"; - expect(getCosineSimilarity(str1, str2)).toBeCloseTo(0.822); -}); - -test("string similarity", () => { - const str1 = "react javascript"; - const str2 = "react.js"; - expect(getStringSimilarity(str1, str2)).toBeCloseTo(0.5); -}); diff --git a/backend/tsconfig.json b/backend/tsconfig.json index fa305b0..84cd3e8 100644 --- a/backend/tsconfig.json +++ b/backend/tsconfig.json @@ -1,6 +1,5 @@ { "compilerOptions": { - "downlevelIteration": true, "esModuleInterop": true, "types": ["jest", "node"] } diff --git a/frontend/cypress.config.ts b/frontend/cypress.config.ts index 78eed99..17161e3 100644 --- a/frontend/cypress.config.ts +++ b/frontend/cypress.config.ts @@ -2,7 +2,6 @@ import { defineConfig } from "cypress"; export default defineConfig({ e2e: { - baseUrl: "http://localhost:3000", setupNodeEvents(on, config) { // implement node event listeners here }, diff --git a/frontend/cypress/e2e/auth.cy.ts b/frontend/cypress/e2e/auth.cy.ts deleted file mode 100644 index 538b8c5..0000000 --- a/frontend/cypress/e2e/auth.cy.ts +++ /dev/null @@ -1,14 +0,0 @@ -import cypress from "cypress"; -import { uuid } from "../support/commands"; - -describe("auth", () => { - it("Should login a user", () => { - cy.login("Test", "test1234"); - }); - it("Should register a user", () => { - const username = uuid(); - const password = uuid(); - cy.register(username, password, `${username}@fb.com`); - cy.login(username, password); - }); -}); diff --git a/frontend/cypress/e2e/course.cy.ts b/frontend/cypress/e2e/course.cy.ts deleted file mode 100644 index 3ce36a0..0000000 --- a/frontend/cypress/e2e/course.cy.ts +++ /dev/null @@ -1,26 +0,0 @@ -describe("course", () => { - beforeEach(() => { - window.localStorage.setItem( - "learning-u-tour", - JSON.stringify({ - dashboard: true, - "new-course": true, - difficulty: true, - undefined: true, - featured: true, - hub: true, - }) - ); - }); - it("Should create a new course", () => { - cy.login("Test", "test1234"); - cy.get("[test-id='create-course-btn'").click(); - cy.url().should("include", "new"); - cy.get("[test-id='new-course-input'").type("React"); - cy.get("[test-id='new-course-btn'").click(); - cy.wait(5000); - cy.url().should("include", "difficulty"); - cy.get("[test-id='start-course-btn'").first().click(); - cy.url().should("include", "hub"); - }); -}); diff --git a/frontend/cypress/e2e/feed.cy.ts b/frontend/cypress/e2e/feed.cy.ts deleted file mode 100644 index c97577c..0000000 --- a/frontend/cypress/e2e/feed.cy.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { uuid } from "../support/commands"; - -describe("feed", () => { - beforeEach(() => { - window.localStorage.setItem( - "learning-u-tour", - JSON.stringify({ - dashboard: true, - "new-course": true, - difficulty: true, - featured: true, - hub: true, - following: true, - post: true, - }) - ); - }); - it("Should make a new post", () => { - const postContent = `This is a post ${uuid()}`; - cy.login("Test", "test1234"); - cy.get("[test-id='feed-navbar'").click(); - cy.url().should("include", "feed"); - cy.get("[test-id='create-post-btn'").click(); - cy.get("[test-id='new-post-textarea'").type(postContent); - cy.get("[test-id='new-post-submit-btn'").click(); - cy.window().contains(postContent); - cy.window().wait(5000); - cy.window().contains("less than a minute ago"); - }); - - it("Should follow a user", () => { - cy.login("Test", "test1234"); - cy.get("[test-id='feed-navbar'").click(); - cy.url().should("include", "feed"); - cy.get("[test-id='follow-btn']").click(); - cy.get("[test-id='follow-input']").type("Test"); - cy.get("[test-id='submit-follow-btn']").click(); - }); -}); diff --git a/frontend/cypress/support/commands.ts b/frontend/cypress/support/commands.ts index b60a809..698b01a 100644 --- a/frontend/cypress/support/commands.ts +++ b/frontend/cypress/support/commands.ts @@ -34,32 +34,4 @@ // visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable // } // } -// } - -export const uuid = () => Cypress._.uniqueId(Date.now().toString()); - -Cypress.Commands.add("login", (username: string, password: string) => { - cy.visit("/login"); - const loginInput = cy.get("[test-id='login-input'"); - loginInput.type(username); - const loginPassowrd = cy.get("[test-id='login-password'"); - loginPassowrd.type(password); - const loginButton = cy.get("[test-id='login-button'"); - loginButton.click(); - cy.url().should("include", "dashboard"); -}); - -Cypress.Commands.add( - "register", - (username: string, password: string, email: string) => { - cy.visit("/register"); - const registerInput = cy.get("[test-id='register-input'"); - registerInput.type(username); - const registerEmail = cy.get("[test-id='register-email'"); - registerEmail.type(email); - const registerPassword = cy.get("[test-id='register-password'"); - registerPassword.type(password); - const registerButton = cy.get("[test-id='register-button'"); - registerButton.click(); - } -); +// } \ No newline at end of file diff --git a/frontend/cypress/support/index.ts b/frontend/cypress/support/index.ts deleted file mode 100644 index 90e5b6a..0000000 --- a/frontend/cypress/support/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -/// - -// eslint-disable-next-line @typescript-eslint/no-namespace -declare namespace Cypress { - interface Chainable { - login(username: string, password: string): Chainable; - register( - username: string, - password: string, - email: string - ): Chainable; - } -} diff --git a/frontend/cypress/tsconfig.json b/frontend/cypress/tsconfig.json deleted file mode 100644 index f87a578..0000000 --- a/frontend/cypress/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - }, - "include": ["**/*.ts"] -} diff --git a/frontend/package.json b/frontend/package.json index e0bea84..756c190 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -17,8 +17,6 @@ "@emotion/react": "^11", "@emotion/styled": "^11", "axios": "^0.27.2", - "chakra-react-select": "^4.1.4", - "date-fns": "^2.29.1", "formik": "^2.2.9", "framer-motion": "^6", "react": "^18.0.0", @@ -27,8 +25,6 @@ "react-query": "^3.39.1", "react-router-dom": "^6.3.0", "react-router-hash-link": "^2.4.3", - "victory": "^36.5.3", - "victory-chart": "^36.5.3", "yup": "^0.32.11" }, "devDependencies": { diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml index c0d988d..3ef488d 100644 --- a/frontend/pnpm-lock.yaml +++ b/frontend/pnpm-lock.yaml @@ -15,9 +15,7 @@ specifiers: '@typescript-eslint/parser': ^5.30.0 '@vitejs/plugin-react': ^1.3.0 axios: ^0.27.2 - chakra-react-select: ^4.1.4 cypress: ^10.3.0 - date-fns: ^2.29.1 eslint: ^8.18.0 eslint-plugin-react: ^7.30.1 formik: ^2.2.9 @@ -29,8 +27,6 @@ specifiers: react-router-dom: ^6.3.0 react-router-hash-link: ^2.4.3 typescript: ^4.6.3 - victory: ^36.5.3 - victory-chart: ^36.5.3 vite: ^2.9.9 vite-plugin-eslint: ^1.6.1 yup: ^0.32.11 @@ -43,8 +39,6 @@ dependencies: '@emotion/react': 11.9.3_4jaruczdv2uxjj3lb2xbkiuci4 '@emotion/styled': 11.9.3_toiz7tndcw4z2b7gxmmeo5fkcu axios: 0.27.2 - chakra-react-select: 4.1.4_gfdx4ryty4tkgqp3ier62iteuq - date-fns: 2.29.1 formik: 2.2.9_react@18.2.0 framer-motion: 6.3.16_biqbaboplfbrettd7655fr4n2y react: 18.2.0 @@ -53,8 +47,6 @@ dependencies: react-query: 3.39.1_biqbaboplfbrettd7655fr4n2y react-router-dom: 6.3.0_biqbaboplfbrettd7655fr4n2y react-router-hash-link: 2.4.3_gghooq75xnjwyznt6ahhkj73mi - victory: 36.5.3_react@18.2.0 - victory-chart: 36.5.3_react@18.2.0 yup: 0.32.11 devDependencies: @@ -1392,48 +1384,6 @@ packages: picomatch: 2.3.1 dev: true - /@types/d3-array/3.0.3: - resolution: {integrity: sha512-Reoy+pKnvsksN0lQUlcH6dOGjRZ/3WRwXR//m+/8lt1BXeI4xyaUZoqULNjyXXRuh0Mj4LNpkCvhUpQlY3X5xQ==} - dev: false - - /@types/d3-color/3.1.0: - resolution: {integrity: sha512-HKuicPHJuvPgCD+np6Se9MQvS6OCbJmOjGvylzMJRlDwUXjKTTXs6Pwgk79O09Vj/ho3u1ofXnhFOaEWWPrlwA==} - dev: false - - /@types/d3-ease/3.0.0: - resolution: {integrity: sha512-aMo4eaAOijJjA6uU+GIeW018dvy9+oH5Y2VPPzjjfxevvGQ/oRDs+tfYC9b50Q4BygRR8yE2QCLsrT0WtAVseA==} - dev: false - - /@types/d3-interpolate/3.0.1: - resolution: {integrity: sha512-jx5leotSeac3jr0RePOH1KdR9rISG91QIE4Q2PYTu4OymLTZfA3SrnURSLzKH48HmXVUru50b8nje4E79oQSQw==} - dependencies: - '@types/d3-color': 3.1.0 - dev: false - - /@types/d3-path/3.0.0: - resolution: {integrity: sha512-0g/A+mZXgFkQxN3HniRDbXMN79K3CdTpLsevj+PXiTcb2hVyvkZUBg37StmgCQkaD84cUJ4uaDAWq7UJOQy2Tg==} - dev: false - - /@types/d3-scale/4.0.2: - resolution: {integrity: sha512-Yk4htunhPAwN0XGlIwArRomOjdoBFXC3+kCxK2Ubg7I9shQlVSJy/pG/Ht5ASN+gdMIalpk8TJ5xV74jFsetLA==} - dependencies: - '@types/d3-time': 3.0.0 - dev: false - - /@types/d3-shape/3.1.0: - resolution: {integrity: sha512-jYIYxFFA9vrJ8Hd4Se83YI6XF+gzDL1aC5DCsldai4XYYiVNdhtpGbA/GM6iyQ8ayhSp3a148LY34hy7A4TxZA==} - dependencies: - '@types/d3-path': 3.0.0 - dev: false - - /@types/d3-time/3.0.0: - resolution: {integrity: sha512-sZLCdHvBUcNby1cB6Fd3ZBrABbjz3v1Vm90nysCQ6Vt7vd6e/h9Lt7SiJUoEX0l4Dzc7P5llKyhqSi1ycSf1Hg==} - dev: false - - /@types/d3-timer/3.0.0: - resolution: {integrity: sha512-HNB/9GHqu7Fo8AQiugyJbv6ZxYz58wef0esl4Mv828w1ZKpAshw/uFWVDUcIB9KKFeFKoxS3cHY07FFgtTRZ1g==} - dev: false - /@types/eslint/8.4.3: resolution: {integrity: sha512-YP1S7YJRMPs+7KZKDb9G63n8YejIwW9BALq7a5j2+H4yl6iOv9CB29edho+cuFRrvmJbbaH2yiVChKLJVysDGw==} dependencies: @@ -1507,12 +1457,6 @@ packages: '@types/react': 18.0.14 dev: true - /@types/react-transition-group/4.4.5: - resolution: {integrity: sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA==} - dependencies: - '@types/react': 18.0.14 - dev: false - /@types/react/18.0.14: resolution: {integrity: sha512-x4gGuASSiWmo0xjDLpm5mPb52syZHJx02VKbqUKdLmKtAwIh63XClGsiTI1K6DO5q7ox4xAsQrU+Gl3+gGXF9Q==} dependencies: @@ -1936,29 +1880,6 @@ packages: resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} dev: true - /chakra-react-select/4.1.4_gfdx4ryty4tkgqp3ier62iteuq: - resolution: {integrity: sha512-zhLIGWxVZWYZv/EOxzrnVfIT+JmNdBgFEbRYR2H7I7ViLcR434KRV5Wz9zZByUmhVxID34WMOInDZYeLXAMkNg==} - peerDependencies: - '@chakra-ui/form-control': ^2.0.0 - '@chakra-ui/icon': ^3.0.0 - '@chakra-ui/layout': ^2.0.0 - '@chakra-ui/menu': ^2.0.0 - '@chakra-ui/spinner': ^2.0.0 - '@chakra-ui/system': ^2.0.0 - '@emotion/react': ^11.8.1 - react: ^18.0.0 - react-dom: ^18.0.0 - dependencies: - '@chakra-ui/system': 2.1.3_fdnqutfacy7v3gmlcm66flps3q - '@emotion/react': 11.9.3_4jaruczdv2uxjj3lb2xbkiuci4 - react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 - react-select: 5.4.0_htxn4kwkfgevexeqvqmeooemhe - transitivePeerDependencies: - - '@babel/core' - - '@types/react' - dev: false - /chalk/2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} @@ -2153,81 +2074,6 @@ packages: yauzl: 2.10.0 dev: true - /d3-array/3.2.0: - resolution: {integrity: sha512-3yXFQo0oG3QCxbF06rMPFyGRMGJNS7NvsV1+2joOjbBE+9xvWQ8+GcMJAjRCzw06zQ3/arXeJgbPYcjUCuC+3g==} - engines: {node: '>=12'} - dependencies: - internmap: 2.0.3 - dev: false - - /d3-color/3.1.0: - resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} - engines: {node: '>=12'} - dev: false - - /d3-ease/3.0.1: - resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} - engines: {node: '>=12'} - dev: false - - /d3-format/3.1.0: - resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==} - engines: {node: '>=12'} - dev: false - - /d3-interpolate/3.0.1: - resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} - engines: {node: '>=12'} - dependencies: - d3-color: 3.1.0 - dev: false - - /d3-path/3.0.1: - resolution: {integrity: sha512-gq6gZom9AFZby0YLduxT1qmrp4xpBA1YZr19OI717WIdKE2OM5ETq5qrHLb301IgxhLwcuxvGZVLeeWc/k1I6w==} - engines: {node: '>=12'} - dev: false - - /d3-scale/4.0.2: - resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} - engines: {node: '>=12'} - dependencies: - d3-array: 3.2.0 - d3-format: 3.1.0 - d3-interpolate: 3.0.1 - d3-time: 3.0.0 - d3-time-format: 4.1.0 - dev: false - - /d3-shape/3.1.0: - resolution: {integrity: sha512-tGDh1Muf8kWjEDT/LswZJ8WF85yDZLvVJpYU9Nq+8+yW1Z5enxrmXOhTArlkaElU+CTn0OTVNli+/i+HP45QEQ==} - engines: {node: '>=12'} - dependencies: - d3-path: 3.0.1 - dev: false - - /d3-time-format/4.1.0: - resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} - engines: {node: '>=12'} - dependencies: - d3-time: 3.0.0 - dev: false - - /d3-time/3.0.0: - resolution: {integrity: sha512-zmV3lRnlaLI08y9IMRXSDshQb5Nj77smnfpnd2LrBa/2K281Jijactokeak14QacHs/kKq0AQ121nidNYlarbQ==} - engines: {node: '>=12'} - dependencies: - d3-array: 3.2.0 - dev: false - - /d3-timer/3.0.1: - resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} - engines: {node: '>=12'} - dev: false - - /d3-voronoi/1.1.4: - resolution: {integrity: sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg==} - dev: false - /dashdash/1.14.1: resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} engines: {node: '>=0.10'} @@ -2235,11 +2081,6 @@ packages: assert-plus: 1.0.0 dev: true - /date-fns/2.29.1: - resolution: {integrity: sha512-dlLD5rKaKxpFdnjrs+5azHDFOPEu4ANy/LTh04A1DTzMM7qoajmKCBc8pkKRFT41CNzw+4gQh79X5C+Jq27HAw==} - engines: {node: '>=0.11'} - dev: false - /dayjs/1.11.3: resolution: {integrity: sha512-xxwlswWOlGhzgQ4TKzASQkUhqERI3egRNqgV4ScR8wlANA/A9tZ7miXa44vTTKEq5l7vWoL5G57bG3zA+Kow0A==} dev: true @@ -2297,16 +2138,6 @@ packages: object-keys: 1.1.1 dev: true - /delaunator/4.0.1: - resolution: {integrity: sha512-WNPWi1IRKZfCt/qIDMfERkDp93+iZEmOxN2yy4Jg+Xhv8SLk2UTqqbe1sfiipn0and9QrE914/ihdx82Y/Giag==} - dev: false - - /delaunay-find/0.0.6: - resolution: {integrity: sha512-1+almjfrnR7ZamBk0q3Nhg6lqSe6Le4vL0WJDSMx4IDbQwTpUTXPjxC00lqLBT8MYsJpPCbI16sIkw9cPsbi7Q==} - dependencies: - delaunator: 4.0.1 - dev: false - /delayed-stream/1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} @@ -2340,13 +2171,6 @@ packages: esutils: 2.0.3 dev: true - /dom-helpers/5.2.1: - resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} - dependencies: - '@babel/runtime': 7.18.6 - csstype: 3.1.0 - dev: false - /ecc-jsbn/0.1.2: resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} dependencies: @@ -3253,11 +3077,6 @@ packages: side-channel: 1.0.4 dev: true - /internmap/2.0.3: - resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} - engines: {node: '>=12'} - dev: false - /invariant/2.2.4: resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} dependencies: @@ -3450,6 +3269,7 @@ packages: /json-stringify-safe/5.0.1: resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + dev: true /json5/2.2.1: resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==} @@ -3576,10 +3396,6 @@ packages: remove-accents: 0.4.2 dev: false - /memoize-one/5.2.1: - resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==} - dev: false - /merge-stream/2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} dev: true @@ -4023,26 +3839,6 @@ packages: react: 18.2.0 dev: false - /react-select/5.4.0_htxn4kwkfgevexeqvqmeooemhe: - resolution: {integrity: sha512-CjE9RFLUvChd5SdlfG4vqxZd55AZJRrLrHzkQyTYeHlpOztqcgnyftYAolJ0SGsBev6zAs6qFrjm6KU3eo2hzg==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - dependencies: - '@babel/runtime': 7.18.6 - '@emotion/cache': 11.9.3 - '@emotion/react': 11.9.3_4jaruczdv2uxjj3lb2xbkiuci4 - '@types/react-transition-group': 4.4.5 - memoize-one: 5.2.1 - prop-types: 15.8.1 - react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 - react-transition-group: 4.4.2_biqbaboplfbrettd7655fr4n2y - transitivePeerDependencies: - - '@babel/core' - - '@types/react' - dev: false - /react-style-singleton/2.2.1_luyos4mouogwq6z3wafb3re4ce: resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} engines: {node: '>=10'} @@ -4060,20 +3856,6 @@ packages: tslib: 2.4.0 dev: false - /react-transition-group/4.4.2_biqbaboplfbrettd7655fr4n2y: - resolution: {integrity: sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==} - peerDependencies: - react: '>=16.6.0' - react-dom: '>=16.6.0' - dependencies: - '@babel/runtime': 7.18.6 - dom-helpers: 5.2.1 - loose-envify: 1.4.0 - prop-types: 15.8.1 - react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 - dev: false - /react/18.2.0: resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} engines: {node: '>=0.10.0'} @@ -4555,386 +4337,6 @@ packages: extsprintf: 1.3.0 dev: true - /victory-area/36.5.3_react@18.2.0: - resolution: {integrity: sha512-USJmbNQhWGwsrQ64S8mfVuBvMH0t00KJskIMa48JbcyVi5jpyI7lG7+F3Zs2B/6D28wtON9IzMb45FuKBSLd/w==} - peerDependencies: - react: '>=16.6.0' - dependencies: - lodash: 4.17.21 - prop-types: 15.8.1 - react: 18.2.0 - victory-core: 36.5.3_react@18.2.0 - victory-vendor: 36.5.1 - dev: false - - /victory-axis/36.5.3_react@18.2.0: - resolution: {integrity: sha512-ciDNdBOD2Lmmkrpgap7ta1KVK7ZZXvLU+iQ6O8E3sEKjVyxOMkZImoSxwH29GRqmEmGIpxULlH9MmaEBlSrHKg==} - peerDependencies: - react: '>=16.6.0' - dependencies: - lodash: 4.17.21 - prop-types: 15.8.1 - react: 18.2.0 - victory-core: 36.5.3_react@18.2.0 - dev: false - - /victory-bar/36.5.3_react@18.2.0: - resolution: {integrity: sha512-eGXubJEs69IAH8DSvZi24xwBFOrdwGB8vojsH+Xolb8N2d2OkHqGwwUeFQ1JNr1TKnJAtHiZY8MiHxIwe1p20A==} - peerDependencies: - react: '>=16.6.0' - dependencies: - lodash: 4.17.21 - prop-types: 15.8.1 - react: 18.2.0 - victory-core: 36.5.3_react@18.2.0 - victory-vendor: 36.5.1 - dev: false - - /victory-box-plot/36.5.3_react@18.2.0: - resolution: {integrity: sha512-dwJRWVyeR0Qd8hPp5PPptBWDo4PZdi/v2Op3oNKdUkrlSfw/TU3u1BN3NviAX2kJJSOahoD+LMN+EyhwSpscGA==} - peerDependencies: - react: '>=16.6.0' - dependencies: - lodash: 4.17.21 - prop-types: 15.8.1 - react: 18.2.0 - victory-core: 36.5.3_react@18.2.0 - victory-vendor: 36.5.1 - dev: false - - /victory-brush-container/36.5.3_react@18.2.0: - resolution: {integrity: sha512-4OTSkAngc5ejXZ4zPUCa/mUyy/KfVyUbisNdVNWA6clBUpMLGj+ICPSFgEWiqQ4fCCzctMRSpV8DmupD8EiBjQ==} - peerDependencies: - react: '>=16.6.0' - dependencies: - lodash: 4.17.21 - prop-types: 15.8.1 - react: 18.2.0 - react-fast-compare: 3.2.0 - victory-core: 36.5.3_react@18.2.0 - dev: false - - /victory-brush-line/36.5.3_react@18.2.0: - resolution: {integrity: sha512-ulBUWFz11m4Omp74SFVCKTYxw7EeCxutCeKX1jkeLy0ptuto0zXkYw++n++0/rzh5hMacM3+JIDERef3eH0mbA==} - peerDependencies: - react: '>=16.6.0' - dependencies: - lodash: 4.17.21 - prop-types: 15.8.1 - react: 18.2.0 - react-fast-compare: 3.2.0 - victory-core: 36.5.3_react@18.2.0 - dev: false - - /victory-candlestick/36.5.3_react@18.2.0: - resolution: {integrity: sha512-+AeQcGJaA/630KJXsa21MYaewUzWBArgsEHUFqsSE2LlW+pqqYN8vWrMZ5Vh26Df4by8Iwb+pL2xq3ng3AobGg==} - peerDependencies: - react: '>=16.6.0' - dependencies: - lodash: 4.17.21 - prop-types: 15.8.1 - react: 18.2.0 - victory-core: 36.5.3_react@18.2.0 - dev: false - - /victory-canvas/36.5.3_react@18.2.0: - resolution: {integrity: sha512-oS78ApPkySbd5l4xsV7AGaT+wAVH1+dV6+Pw6UHJmjyLCVmUFV9lo1EerciGSYzEOTTm3De/9oadMBf6EG91Kg==} - peerDependencies: - react: '>=16.6.0' - dependencies: - lodash: 4.17.21 - prop-types: 15.8.1 - react: 18.2.0 - victory-core: 36.5.3_react@18.2.0 - dev: false - - /victory-chart/36.5.3_react@18.2.0: - resolution: {integrity: sha512-CNTQT37VtpuEGiSC9hsNTMr001t1bBfqD+ZK/WQFltIfacje+bVGacBHhoUT23Me3mp/PyGNUGWTzBtGv7DjXw==} - peerDependencies: - react: '>=16.6.0' - dependencies: - lodash: 4.17.21 - prop-types: 15.8.1 - react: 18.2.0 - react-fast-compare: 3.2.0 - victory-axis: 36.5.3_react@18.2.0 - victory-core: 36.5.3_react@18.2.0 - victory-polar-axis: 36.5.3_react@18.2.0 - victory-shared-events: 36.5.3_react@18.2.0 - dev: false - - /victory-core/36.5.3_react@18.2.0: - resolution: {integrity: sha512-UBT445zetqGDVZf7sD/wGVf80f4aQd0vXa7uB4jW3MQl3LcwXN9LaDGmztDc6qwFL4FiUiwy2TS9e9L1PD6UBw==} - peerDependencies: - react: '>=16.6.0' - dependencies: - lodash: 4.17.21 - prop-types: 15.8.1 - react: 18.2.0 - react-fast-compare: 3.2.0 - victory-vendor: 36.5.1 - dev: false - - /victory-create-container/36.5.3_react@18.2.0: - resolution: {integrity: sha512-vhsR2gMp5B5YHMzrae1fwGq9pBu9zJPb8EnssFbo2HspTjrdlI4JiUABmwjhmOtQ0Wzqy6J3EKbuzu6m2YcNEQ==} - peerDependencies: - react: '>=16.6.0' - dependencies: - lodash: 4.17.21 - react: 18.2.0 - victory-brush-container: 36.5.3_react@18.2.0 - victory-core: 36.5.3_react@18.2.0 - victory-cursor-container: 36.5.3_react@18.2.0 - victory-selection-container: 36.5.3_react@18.2.0 - victory-voronoi-container: 36.5.3_react@18.2.0 - victory-zoom-container: 36.5.3_react@18.2.0 - dev: false - - /victory-cursor-container/36.5.3_react@18.2.0: - resolution: {integrity: sha512-mSVNUw1YAz3iK6TEZUkTAvY1cl4xQTfhv6iAOxAbpdfSJsmbXEJTDeMp0j/mjjcKOq3t0H+Hf/rNyIpVEMnHqQ==} - peerDependencies: - react: '>=16.6.0' - dependencies: - lodash: 4.17.21 - prop-types: 15.8.1 - react: 18.2.0 - victory-core: 36.5.3_react@18.2.0 - dev: false - - /victory-errorbar/36.5.3_react@18.2.0: - resolution: {integrity: sha512-wm/xm+x20ZEFpu1hamvFH9dkoQRyfM8coPrhcLS1llCeaf6+ybLLokQUi9+Xj06mVpL1tNYVHjlKd2J43VG3zA==} - peerDependencies: - react: '>=16.6.0' - dependencies: - lodash: 4.17.21 - prop-types: 15.8.1 - react: 18.2.0 - victory-core: 36.5.3_react@18.2.0 - dev: false - - /victory-group/36.5.3_react@18.2.0: - resolution: {integrity: sha512-5w0r7gRvvX1Gz+UAbQmP7E7cdyMYbY1Ui2j/sp3BPkmEeYxkYSsDHFE0ztSrexL+fcX/Mm6L/5qmdYVn+vNfQA==} - peerDependencies: - react: '>=16.6.0' - dependencies: - lodash: 4.17.21 - prop-types: 15.8.1 - react: 18.2.0 - react-fast-compare: 3.2.0 - victory-core: 36.5.3_react@18.2.0 - victory-shared-events: 36.5.3_react@18.2.0 - dev: false - - /victory-histogram/36.5.3_react@18.2.0: - resolution: {integrity: sha512-c9B4HeLlXzBd4Vtaxebu/0fHjj4AMzbW2OUlHO3PMhB6NKBBlxLLarK0lmTDwlZbavsdW0fif4ALoIqubFveJw==} - peerDependencies: - react: '>=16.6.0' - dependencies: - lodash: 4.17.21 - prop-types: 15.8.1 - react: 18.2.0 - react-fast-compare: 3.2.0 - victory-bar: 36.5.3_react@18.2.0 - victory-core: 36.5.3_react@18.2.0 - victory-vendor: 36.5.1 - dev: false - - /victory-legend/36.5.3_react@18.2.0: - resolution: {integrity: sha512-MkmQq7UiX7udi2BXKx2B5PPPsFafye8yjVUNDPhSD+oh0plWoJID4vbcnru34Hnu5pDTi1xCMyThVzc5HMfwDw==} - peerDependencies: - react: '>=16.6.0' - dependencies: - lodash: 4.17.21 - prop-types: 15.8.1 - react: 18.2.0 - victory-core: 36.5.3_react@18.2.0 - dev: false - - /victory-line/36.5.3_react@18.2.0: - resolution: {integrity: sha512-8VE3gz4KCKdngOurRewkCNkjIf7kwKInULZ7DoLb+KDnmnzrk/TXqga33TS4hhQyr5vlBzxF5P4nJwY/KGUNfw==} - peerDependencies: - react: '>=16.6.0' - dependencies: - lodash: 4.17.21 - prop-types: 15.8.1 - react: 18.2.0 - victory-core: 36.5.3_react@18.2.0 - victory-vendor: 36.5.1 - dev: false - - /victory-pie/36.5.3_react@18.2.0: - resolution: {integrity: sha512-0p7yIDQVzz5eUs4BMrwN2DdLMETAuK6ZvegVcIgPPGRKXi+NqRz996eqybaCVSDf1Un8PpL8OW5bH9CT8jfDAQ==} - peerDependencies: - react: '>=16.6.0' - dependencies: - lodash: 4.17.21 - prop-types: 15.8.1 - react: 18.2.0 - victory-core: 36.5.3_react@18.2.0 - victory-vendor: 36.5.1 - dev: false - - /victory-polar-axis/36.5.3_react@18.2.0: - resolution: {integrity: sha512-88UDm4sSsqs42cX7XTpagEVAdoNmLYXB8JJXYBU98vM4hNET/YDNqHRgAZzz4CeGjxyeJw2+riXqAH5nA7vHKA==} - peerDependencies: - react: '>=16.6.0' - dependencies: - lodash: 4.17.21 - prop-types: 15.8.1 - react: 18.2.0 - victory-core: 36.5.3_react@18.2.0 - dev: false - - /victory-scatter/36.5.3_react@18.2.0: - resolution: {integrity: sha512-/NG7O1BErpNH2umgkWZXT9bIj9l/T5McqbJzmeA9kk2x6OELnA9cR54zb+5yQrx/pcZPkuk+mlVQdNKoOOGnhA==} - peerDependencies: - react: '>=16.6.0' - dependencies: - lodash: 4.17.21 - prop-types: 15.8.1 - react: 18.2.0 - victory-core: 36.5.3_react@18.2.0 - dev: false - - /victory-selection-container/36.5.3_react@18.2.0: - resolution: {integrity: sha512-JkZ7IPf3682G7HVhEdLusIo4q3jSp6LvPxtS4PvjFq4pYGPrnLJxiaDxaDin4qSVGoIKKfwDG1XJHmgJUQzluA==} - peerDependencies: - react: '>=16.6.0' - dependencies: - lodash: 4.17.21 - prop-types: 15.8.1 - react: 18.2.0 - victory-core: 36.5.3_react@18.2.0 - dev: false - - /victory-shared-events/36.5.3_react@18.2.0: - resolution: {integrity: sha512-VBr6jd37e+MrCRaDC0qYy69PhLeouhWB8vvc1TsPT5Qdg5Rgcpo9Pr4S2FAatOGEX+BequQH399EC6gQFnNouQ==} - peerDependencies: - react: '>=16.6.0' - dependencies: - json-stringify-safe: 5.0.1 - lodash: 4.17.21 - prop-types: 15.8.1 - react: 18.2.0 - react-fast-compare: 3.2.0 - victory-core: 36.5.3_react@18.2.0 - dev: false - - /victory-stack/36.5.3_react@18.2.0: - resolution: {integrity: sha512-SU8lFlCiTmNmaj7p1sCPnDqvT5FkQ63XfZ+tcSseyQsl5FWl1XGd1NowM1zPvW5+cVicpdccSFtVs5fJBeOkoA==} - peerDependencies: - react: '>=16.6.0' - dependencies: - lodash: 4.17.21 - prop-types: 15.8.1 - react: 18.2.0 - react-fast-compare: 3.2.0 - victory-core: 36.5.3_react@18.2.0 - victory-shared-events: 36.5.3_react@18.2.0 - dev: false - - /victory-tooltip/36.5.3_react@18.2.0: - resolution: {integrity: sha512-Hr0VQsVE8EaJVZ2oqQFpLL2EF1oUxwTjlGtfGLgb3Uwinok5/U5XBVfHNm943QuHLOhYQXgIHOAY2Ip2j9xLRg==} - peerDependencies: - react: '>=16.6.0' - dependencies: - lodash: 4.17.21 - prop-types: 15.8.1 - react: 18.2.0 - victory-core: 36.5.3_react@18.2.0 - dev: false - - /victory-vendor/36.5.1: - resolution: {integrity: sha512-VMGEnIOs6GWMxdkWeEyc80s9MfI3LN9kIKdUT0bJOmxqh3pRfK7NmpYxq0ARazu0ZfeTW9dYAVuehGYBwgQB/w==} - dependencies: - '@types/d3-array': 3.0.3 - '@types/d3-ease': 3.0.0 - '@types/d3-interpolate': 3.0.1 - '@types/d3-scale': 4.0.2 - '@types/d3-shape': 3.1.0 - '@types/d3-time': 3.0.0 - '@types/d3-timer': 3.0.0 - d3-array: 3.2.0 - d3-ease: 3.0.1 - d3-interpolate: 3.0.1 - d3-scale: 4.0.2 - d3-shape: 3.1.0 - d3-time: 3.0.0 - d3-timer: 3.0.1 - dev: false - - /victory-voronoi-container/36.5.3_react@18.2.0: - resolution: {integrity: sha512-Gv/T1wwkHPA9zDbiPeibhncfgbBsMhj4KX07YbxCil/ZLpB1STMfhVmlKodrxVcINkBNhRWxm7eXWsn47hTdGg==} - peerDependencies: - react: '>=16.6.0' - dependencies: - delaunay-find: 0.0.6 - lodash: 4.17.21 - prop-types: 15.8.1 - react: 18.2.0 - react-fast-compare: 3.2.0 - victory-core: 36.5.3_react@18.2.0 - victory-tooltip: 36.5.3_react@18.2.0 - dev: false - - /victory-voronoi/36.5.3_react@18.2.0: - resolution: {integrity: sha512-qWVL4KT7BnCXG3WfgZFt3OFd9oom70M4ShJD4zdvVu1RobgOskBoc18MELf7tWFBvk+xyZID47CYCKaOuMhfLw==} - peerDependencies: - react: '>=16.6.0' - dependencies: - d3-voronoi: 1.1.4 - lodash: 4.17.21 - prop-types: 15.8.1 - react: 18.2.0 - victory-core: 36.5.3_react@18.2.0 - dev: false - - /victory-zoom-container/36.5.3_react@18.2.0: - resolution: {integrity: sha512-+KCkXy/5Qf58dPINLHMTYMCCvuBGF6tn6a+K1K+7ykgwp/xFUJDajZ+0LGIIbHJtiZitK1v/0O7pZL030u4EEA==} - peerDependencies: - react: '>=16.6.0' - dependencies: - lodash: 4.17.21 - prop-types: 15.8.1 - react: 18.2.0 - victory-core: 36.5.3_react@18.2.0 - dev: false - - /victory/36.5.3_react@18.2.0: - resolution: {integrity: sha512-YzDstb6Cj3IeXGKs4mjeIP2xbpv9bCYfI0cQzj/oc7RutLHJGrOyKjUxtSjbZSeQlzM3iaxN39HoxgXBpXzUKA==} - peerDependencies: - react: '>=16.6.0' - dependencies: - react: 18.2.0 - victory-area: 36.5.3_react@18.2.0 - victory-axis: 36.5.3_react@18.2.0 - victory-bar: 36.5.3_react@18.2.0 - victory-box-plot: 36.5.3_react@18.2.0 - victory-brush-container: 36.5.3_react@18.2.0 - victory-brush-line: 36.5.3_react@18.2.0 - victory-candlestick: 36.5.3_react@18.2.0 - victory-canvas: 36.5.3_react@18.2.0 - victory-chart: 36.5.3_react@18.2.0 - victory-core: 36.5.3_react@18.2.0 - victory-create-container: 36.5.3_react@18.2.0 - victory-cursor-container: 36.5.3_react@18.2.0 - victory-errorbar: 36.5.3_react@18.2.0 - victory-group: 36.5.3_react@18.2.0 - victory-histogram: 36.5.3_react@18.2.0 - victory-legend: 36.5.3_react@18.2.0 - victory-line: 36.5.3_react@18.2.0 - victory-pie: 36.5.3_react@18.2.0 - victory-polar-axis: 36.5.3_react@18.2.0 - victory-scatter: 36.5.3_react@18.2.0 - victory-selection-container: 36.5.3_react@18.2.0 - victory-shared-events: 36.5.3_react@18.2.0 - victory-stack: 36.5.3_react@18.2.0 - victory-tooltip: 36.5.3_react@18.2.0 - victory-voronoi: 36.5.3_react@18.2.0 - victory-voronoi-container: 36.5.3_react@18.2.0 - victory-zoom-container: 36.5.3_react@18.2.0 - dev: false - /vite-plugin-eslint/1.6.1_eslint@8.18.0+vite@2.9.13: resolution: {integrity: sha512-wXwGJ222zjlllHmmPXX6oSU8DbmYjnA6HHBYbOLT8WAc73j4/YAtBQHCVSoHOTPiT4TPzsuZSvputWwc86BweQ==} peerDependencies: diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index a9149ac..9eedd3e 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -1,6 +1,5 @@ import React from "react"; -import { BrowserRouter, Outlet, Route, Routes } from "react-router-dom"; -import DashboardIndex from "./components/Dashboard/DashboardIndex"; +import { BrowserRouter, Route, Routes } from "react-router-dom"; import DifficultyIndex from "./components/Difficulty/DifficultyIndex"; import Home from "./components/Home"; import HubIndex from "./components/Hub/HubIndex"; @@ -9,12 +8,6 @@ import Navbar from "./components/Navbar"; import LoginIndex from "./components/Registration/LoginIndex"; import RegisterIndex from "./components/Registration/RegisterIndex"; import RequireAuth from "./components/Registration/RequireAuth"; -import NewCourseIndex from "./components/NewCourse/NewCourseIndex"; -import FeedIndex from "./components/Feed/FeedIndex"; -import FollowingLayout from "./components/Following/FollowingLayout"; -import ProfileIndex from "./components/Profile/ProfileIndex"; -import FeaturedIndex from "./components/Featured/FeaturedIndex"; -import CourseFromScratchIndex from "./components/CourseFromScratch/CourseFromScratchIndex"; function App() { return ( @@ -26,57 +19,15 @@ function App() { } /> } /> - - - } - > - } /> - } /> - - - - - } - > - } /> - } /> - - } > - } /> - } /> - - - - - } - > - } /> - - - - - } - > - } /> + } /> + } /> diff --git a/frontend/src/assets/nodata.svg b/frontend/src/assets/nodata.svg deleted file mode 100644 index 226faad..0000000 --- a/frontend/src/assets/nodata.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/frontend/src/components/CourseFromScratch/CourseFromScratchIndex.tsx b/frontend/src/components/CourseFromScratch/CourseFromScratchIndex.tsx deleted file mode 100644 index fbfbe95..0000000 --- a/frontend/src/components/CourseFromScratch/CourseFromScratchIndex.tsx +++ /dev/null @@ -1,271 +0,0 @@ -import { - Badge, - Box, - Button, - Container, - Flex, - FormControl, - FormErrorMessage, - FormLabel, - Heading, - HStack, - Input, - Text, - useToast, - VStack, -} from "@chakra-ui/react"; -import React, { useState } from "react"; -import Banner from "../Hub/Banner"; -import * as Yup from "yup"; -import { Field, Form, Formik } from "formik"; -import { StringMatcher } from "cypress/types/net-stubbing"; -import { debounce } from "../../utils/debounce"; -import YoutubeVideoIframe from "./YoutubeVideoIframe"; -import { useMutation } from "react-query"; -import axios, { AxiosError } from "axios"; -import { baseURL } from "../../utils/constants"; -import { getConfig, useSession } from "../../utils/auth"; -import { ErrorType } from "../../types/requests"; -import { ValueContainerProps } from "chakra-react-select"; -import { useNavigate } from "react-router-dom"; - -export const youtubeRegExp = - /^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|&v=|\?v=)([^#&?]*).*/; - -interface CreateCourseForm { - beginnerUrl1: string; - beginnerUrl2: string; - beginnerUrl3: string; - advancedUrl1: string; - advancedUrl2: string; - advancedUrl3: string; - name: string; -} - -type EmbedVideos = Omit; - -const emptyForm: EmbedVideos = { - beginnerUrl1: "", - beginnerUrl2: "", - beginnerUrl3: "", - advancedUrl1: "", - advancedUrl2: "", - advancedUrl3: "", -}; - -const CourseFromScratchIndex = () => { - const [embedVideos, setEmbedVideos] = useState(emptyForm); - const { user } = useSession(); - const toast = useToast(); - const navigate = useNavigate(); - - const checkIfValidYoutubeURL = ( - str: string | undefined, - field: keyof EmbedVideos - ) => { - const match = str?.match(youtubeRegExp); - if (match) { - setEmbedVideos((embedVideos) => { - return { - ...embedVideos, - [field]: `https://www.youtube.com/embed/${match[2]}?autoplay=0`, - }; - }); - return true; - } - setEmbedVideos((embedVideos) => { - return { ...embedVideos, [field]: "" }; - }); - return false; - }; - - const schema = Yup.object({ - beginnerUrl1: Yup.string().test({ - test: (str) => checkIfValidYoutubeURL(str, "beginnerUrl1"), - message: "This is not a valid Youtube URL", - }), - beginnerUrl2: Yup.string().test({ - test: (str) => checkIfValidYoutubeURL(str, "beginnerUrl2"), - message: "This is not a valid Youtube URL", - }), - beginnerUrl3: Yup.string().test({ - test: (str) => checkIfValidYoutubeURL(str, "beginnerUrl3"), - message: "This is not a valid Youtube URL", - }), - advancedUrl1: Yup.string().test({ - test: (str) => checkIfValidYoutubeURL(str, "advancedUrl1"), - message: "This is not a valid Youtube URL", - }), - advancedUrl2: Yup.string().test({ - test: (str) => checkIfValidYoutubeURL(str, "advancedUrl2"), - message: "This is not a valid Youtube URL", - }), - advancedUrl3: Yup.string().test({ - test: (str) => checkIfValidYoutubeURL(str, "advancedUrl3"), - message: "This is not a valid Youtube URL", - }), - }); - - const handleFormSubmit = (values: CreateCourseForm) => { - // this removes name attribute from object - const urls = Object.entries(values).reduce((prev: EmbedVideos[], curr) => { - const [key, val] = curr; - if (key === "name") { - return prev; - } - return [...prev, val]; - }, []); - - createCourse.mutate({ urls, name: values.name }); - }; - - const createCourse = useMutation( - async ({ urls, name }: { urls: EmbedVideos[]; name: string }) => { - if (!user) throw new Error("User is not defined"); - - const res = await axios.post( - `${baseURL}/course/fromScratch`, - { - urls, - name, - }, - getConfig(user.sessionToken) - ); - return res.data; - }, - { - onSuccess: () => { - toast({ - status: "success", - title: "Course created!", - description: `A brand new course has been created`, - isClosable: true, - }); - navigate("/featured"); - }, - onError: (error: AxiosError) => { - toast({ - status: "error", - title: "Error deleting course", - description: error.response?.data.message, - isClosable: true, - }); - }, - } - ); - - return ( - <> - - - Create a new course from scratch! - - Here you can add your own custom Youtube Tutorials and share your - course to the public! - - - - {({ touched, errors }) => ( -
- - Course Name - - - - - Beginners Course - - Youtube Tutorial #1 - - {errors.beginnerUrl1} - - {embedVideos.beginnerUrl1 && ( - - )} - - Youtube Tutorial #2 - - {errors.beginnerUrl2} - - {embedVideos.beginnerUrl2 && ( - - )} - - Youtube Tutorial #3 - - {errors.beginnerUrl3} - - {embedVideos.beginnerUrl3 && ( - - )} - - - Advanced Course - - Youtube Tutorial #1 - - {errors.advancedUrl1} - - {embedVideos.advancedUrl1 && ( - - )} - - Youtube Tutorial #2 - - {errors.advancedUrl2} - - {embedVideos.advancedUrl2 && ( - - )} - - Youtube Tutorial #3 - - {errors.advancedUrl3} - - {embedVideos.advancedUrl3 && ( - - )} - - - -
- )} -
-
- - ); -}; - -export default CourseFromScratchIndex; diff --git a/frontend/src/components/CourseFromScratch/YoutubeVideoIframe.tsx b/frontend/src/components/CourseFromScratch/YoutubeVideoIframe.tsx deleted file mode 100644 index 07795c3..0000000 --- a/frontend/src/components/CourseFromScratch/YoutubeVideoIframe.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import React from "react"; - -interface Props { - url: string; -} - -const YoutubeVideoIframe = ({ url }: Props) => { - return ( -