From 0e9ec24d943ed028a9fd00dad3c6b65a260432d5 Mon Sep 17 00:00:00 2001 From: 3mln Date: Sat, 28 Jun 2025 18:31:48 +0200 Subject: [PATCH] WebAPP Exam 2025 --- .gitignore | 8 + README.md | 96 + client/.gitignore | 24 + client/README.md | 12 + client/eslint.config.js | 33 + client/index.html | 13 + client/package-lock.json | 3124 +++++++++++++++++++++++++ client/package.json | 32 + client/public/vite.svg | 1 + client/src/API.js | 180 ++ client/src/App.css | 0 client/src/App.jsx | 184 ++ client/src/assets/react.svg | 1 + client/src/components/Auth.jsx | 139 ++ client/src/components/CommentEdit.jsx | 63 + client/src/components/Forum.jsx | 119 + client/src/components/Layout.jsx | 146 ++ client/src/components/Navigation.jsx | 35 + client/src/components/PostCreate.jsx | 63 + client/src/index.css | 0 client/src/main.jsx | 13 + client/vite.config.js | 7 + img/adminloggedin.png | Bin 0 -> 64248 bytes img/anonymoushome.png | Bin 0 -> 74906 bytes img/createcomment.png | Bin 0 -> 25031 bytes img/createpost.png | Bin 0 -> 37773 bytes img/editcomment.png | Bin 0 -> 24315 bytes img/interestingcomment.png | Bin 0 -> 17252 bytes img/loginpage.png | Bin 0 -> 24802 bytes img/screenshot.png | Bin 0 -> 13537 bytes img/totpadminloggedin.png | Bin 0 -> 74858 bytes img/totploginpage.png | Bin 0 -> 26603 bytes img/userloggedin.png | Bin 0 -> 63174 bytes server/.gitignore | 8 + server/dao-forum.js | 391 ++++ server/db.js | 11 + server/index.js | 353 +++ server/package-lock.json | 2330 ++++++++++++++++++ server/package.json | 24 + server/scripts/initdb.js | 118 + server/test.db | Bin 0 -> 45056 bytes server/test.js | 18 + 42 files changed, 7546 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 client/.gitignore create mode 100644 client/README.md create mode 100644 client/eslint.config.js create mode 100644 client/index.html create mode 100644 client/package-lock.json create mode 100644 client/package.json create mode 100644 client/public/vite.svg create mode 100644 client/src/API.js create mode 100644 client/src/App.css create mode 100644 client/src/App.jsx create mode 100644 client/src/assets/react.svg create mode 100644 client/src/components/Auth.jsx create mode 100644 client/src/components/CommentEdit.jsx create mode 100644 client/src/components/Forum.jsx create mode 100644 client/src/components/Layout.jsx create mode 100644 client/src/components/Navigation.jsx create mode 100644 client/src/components/PostCreate.jsx create mode 100644 client/src/index.css create mode 100644 client/src/main.jsx create mode 100644 client/vite.config.js create mode 100644 img/adminloggedin.png create mode 100644 img/anonymoushome.png create mode 100644 img/createcomment.png create mode 100644 img/createpost.png create mode 100644 img/editcomment.png create mode 100644 img/interestingcomment.png create mode 100644 img/loginpage.png create mode 100644 img/screenshot.png create mode 100644 img/totpadminloggedin.png create mode 100644 img/totploginpage.png create mode 100644 img/userloggedin.png create mode 100644 server/.gitignore create mode 100644 server/dao-forum.js create mode 100644 server/db.js create mode 100644 server/index.js create mode 100644 server/package-lock.json create mode 100644 server/package.json create mode 100644 server/scripts/initdb.js create mode 100644 server/test.db create mode 100644 server/test.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c69ee2c --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +# dependencies +node_modules/ + +# misc +.DS_Store +Thumbs.db +Desktop.ini + diff --git a/README.md b/README.md new file mode 100644 index 0000000..572920a --- /dev/null +++ b/README.md @@ -0,0 +1,96 @@ +# Exam #1: "Forum" + +## React Client Application Routes + +- Route `/`: Navigation bar at the top, list of posts and comments based on login (registered user or anonymous). Button to add a new post if logged in, several buttons to edit, delete, add comments based on the role (owner or logged OTP). If no role is matched the buttons are not displayed. If the max number of comments under a post is reached the button is disabled. +- Route `/add/post`: The page described at route '/', there is a pop up form to add a new post at the beginning of the page. +- Route `/add/:postid/comment`: The page described at route '/', there is a pop up form to add a new comment at the beginning of the page. +- Route `/edit/:commentid`: The page described at route '/', there is a pop up form to edit the text of a comment at the beginning of the page. +- Route `/login`: Login form on an a different page. If already logged in the user will see the OTP login with the code, otherwise the normal one with username and password. + +## API Server + +- GET `/api/posts`: return the list of posts and comments. +- POST `/api/posts`: create a new post. + - request body: title, text, max number of comments. + - response body: post object succesfully created. +- POST `/api/posts/:id/comments`: create a new comment under a post. + - request parameters: id of the post that the user commented. + - response body: comment object succesfully created. +- POST `/api/posts/:id/comments/:commentId/interest`: set "interesting" a comment. + - request parameters: id of the post and id of the related comment that the user find interesting. +- DELTE `/api/posts/:id/comments/:commentId/interest`: remove "interesting" from a comment. + - request parameters: id of the post and id of the related comment that the user does not find interesting anymore. +- PATCH `/api/posts/:id/comments/:commentId`: edit the text of a comment. + - request parameters: id of the post and id of the related comment that the user edited. + - request body: new text of the comment +- DELETE `/api/posts/:id`: delete a given post. + - request parameters: id of the post that the user wants to delete. +- DELETE `/api/posts/:id/comments/:commentId`: delete a given comment. + - request parameters: id of the post and id of the related comment that the user wants to delete. +- POST `/api/sessions`: Login via username and password. + - response body: user informations retrieved. +- POST `/api/login-totp`: TOTP authentication (only for Admin users.) + - request body: code of TOTP. +- GET `/api/sessions/current`: Retrieve info about loggedin user. + - response body: user informations retrieved. +- DELETE `/api/sessions/current`: Logout. + +## Database Tables + +- Table `User`: + - Columns: `ID`, `Username`, `Password`, `Salt`, `Secret`, `Type`. + - Contains the users registered to the forum. The Type field specify which one are administrators. + +- Table `Post`: + - Columns: `Title`, `ID`, `AuthorID`, `MaxComments`, `Publication`, `Text` + - Contains the posts created inside the forum, in particular the title is unique but the ID column is still used as primary key. + +- Table `Comment`: + - Columns: `ID`, `Text`, `Publication`, `AuthorID`, `PostID` + - Contains the comments created inside the forum, each comment is binded to a post with the PostID column and to the author with the AuthorID column. + +- Table `Interesting`: + - Columns: `UserID`, `CommentID` + - Contains which user found interesting which comment. It is a many to many relationship and the two columns UserID and CommentID are used as primary keys together in order to make unique the relationship. + +## Main React Components +- `ForumTable` (in `Forum.jsx`): iterates the `posts` array in order to generate all the posts and comments retrieved from the API. +- `Post` (in `Forum.jsx`): create the post element with the information contained in `postData` passed by `ForumTable`. +- `Comment` (in `Forum.jsx`): create the comment element with the information contained in `commentData` passed by `Post`. +- `CommentForm` (in `CommentEdit.jsx`): create the form to add a new comment or edit an existing one and handle the submit. +- `PostForm` (in `CommentEdit.jsx`): create the form to add a new post and handle the submit. +- `TotpForm` (in `Auth.jsx`): create the form to perform the TOTP login and handle the submit +- `LoginForm` (in `Auth.jsx`): create the form to perform the login and handle the submit. + +## Screenshot +### Login Page +![Screenshot](./img/loginpage.png) +### Login TOTP Page +![Screenshot](./img/totploginpage.png) +### Anonymous +![Screenshot](./img/anonymoushome.png) +### Admin logged in +![Screenshot](./img/adminloggedin.png) +### User logged in +![Screenshot](./img/userloggedin.png) +### Admin TOTP logged in +![Screenshot](./img/totpadminloggedin.png) +### Create a post +![Screenshot](./img/createpost.png) +### Create a comment +![Screenshot](./img/createcomment.png) +### Edit a comment +![Screenshot](./img/editcomment.png) +### Set interesting a comment +![Screenshot](./img/interestingcomment.png) + +## Users Credentials + +- AdminUno, PasswordAdmin1 +- AdminDue, PasswordAdmin2 +- UtenteUno, PasswordUtente1 +- UtenteDuo, PasswordUtente2 +- UtenteTre, PasswordUtente3 + + diff --git a/client/.gitignore b/client/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/client/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/client/README.md b/client/README.md new file mode 100644 index 0000000..7059a96 --- /dev/null +++ b/client/README.md @@ -0,0 +1,12 @@ +# React + Vite + +This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. + +Currently, two official plugins are available: + +- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) for Fast Refresh +- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh + +## Expanding the ESLint configuration + +If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the [TS template](https://github.com/vitejs/vite/tree/main/packages/create-vite/template-react-ts) for information on how to integrate TypeScript and [`typescript-eslint`](https://typescript-eslint.io) in your project. diff --git a/client/eslint.config.js b/client/eslint.config.js new file mode 100644 index 0000000..ec2b712 --- /dev/null +++ b/client/eslint.config.js @@ -0,0 +1,33 @@ +import js from '@eslint/js' +import globals from 'globals' +import reactHooks from 'eslint-plugin-react-hooks' +import reactRefresh from 'eslint-plugin-react-refresh' + +export default [ + { ignores: ['dist'] }, + { + files: ['**/*.{js,jsx}'], + languageOptions: { + ecmaVersion: 2020, + globals: globals.browser, + parserOptions: { + ecmaVersion: 'latest', + ecmaFeatures: { jsx: true }, + sourceType: 'module', + }, + }, + plugins: { + 'react-hooks': reactHooks, + 'react-refresh': reactRefresh, + }, + rules: { + ...js.configs.recommended.rules, + ...reactHooks.configs.recommended.rules, + 'no-unused-vars': ['error', { varsIgnorePattern: '^[A-Z_]' }], + 'react-refresh/only-export-components': [ + 'warn', + { allowConstantExport: true }, + ], + }, + }, +] diff --git a/client/index.html b/client/index.html new file mode 100644 index 0000000..0c589ec --- /dev/null +++ b/client/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite + React + + +
+ + + diff --git a/client/package-lock.json b/client/package-lock.json new file mode 100644 index 0000000..05c95e9 --- /dev/null +++ b/client/package-lock.json @@ -0,0 +1,3124 @@ +{ + "name": "client", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "client", + "version": "0.0.0", + "dependencies": { + "bootstrap": "^5.3.6", + "bootstrap-icons": "^1.13.1", + "dayjs": "^1.11.13", + "react": "^19.1.0", + "react-bootstrap": "^2.10.10", + "react-dom": "^19.1.0", + "react-router": "^7.6.2" + }, + "devDependencies": { + "@eslint/js": "^9.25.0", + "@types/react": "^19.1.2", + "@types/react-dom": "^19.1.2", + "@vitejs/plugin-react": "^4.4.1", + "eslint": "^9.25.0", + "eslint-plugin-react-hooks": "^5.2.0", + "eslint-plugin-react-refresh": "^0.4.19", + "globals": "^16.0.0", + "vite": "^6.3.5" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.2.tgz", + "integrity": "sha512-TUtMJYRPyUb/9aU8f3K0mjmjf6M9N5Woshn2CS6nqJSeJtTtQcpLUXjGt9vbF8ZGff0El99sWkLgzwW3VXnxZQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.1.tgz", + "integrity": "sha512-IaaGWsQqfsQWVLqMn9OB92MNN7zukfVA4s7KKAI0KfrrDsZ0yhi5uV4baBuLuN7n3vsZpwP8asPPcVwApxvjBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.27.1", + "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helpers": "^7.27.1", + "@babel/parser": "^7.27.1", + "@babel/template": "^7.27.1", + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.1.tgz", + "integrity": "sha512-UnJfnIpc/+JO0/+KRVQNGU+y5taA5vCbwN8+azkX6beii/ZF+enZJSOKo11ZSzGJjlNfJHfQtmQT8H+9TXPG2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.27.1", + "@babel/types": "^7.27.1", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.1.tgz", + "integrity": "sha512-9yHn519/8KvTU5BjTVEEeIM3w9/2yXNKoD82JifINImhpKkARMJKPP59kLo+BafpdN5zgNeIcS4jsGDmd3l58g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.1.tgz", + "integrity": "sha512-FCvFTm0sWV8Fxhpp2McP5/W53GPllQ9QeQ7SiqGWjMf/LVG07lFa5+pgK05IRhVwtvafT22KF+ZSnM9I545CvQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.2.tgz", + "integrity": "sha512-QYLs8299NA7WM/bZAdp+CviYYkVoYXlDW2rzliy3chxd1PQjej7JORuMJDJXJUb9g0TT+B99EwaVLKmX+sPXWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.1" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", + "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", + "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.27.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.6.tgz", + "integrity": "sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.1.tgz", + "integrity": "sha512-ZCYtZciz1IWJB4U61UPu4KEaqyfj+r5T1Q5mqPo+IBpcG9kHv30Z0aD8LXPgC1trYa6rK0orRyAhqUgk4MjmEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.27.1", + "@babel/parser": "^7.27.1", + "@babel/template": "^7.27.1", + "@babel/types": "^7.27.1", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.1.tgz", + "integrity": "sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.4.tgz", + "integrity": "sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.4.tgz", + "integrity": "sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.4.tgz", + "integrity": "sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.4.tgz", + "integrity": "sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.4.tgz", + "integrity": "sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.4.tgz", + "integrity": "sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.4.tgz", + "integrity": "sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.4.tgz", + "integrity": "sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.4.tgz", + "integrity": "sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.4.tgz", + "integrity": "sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.4.tgz", + "integrity": "sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.4.tgz", + "integrity": "sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.4.tgz", + "integrity": "sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.4.tgz", + "integrity": "sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.4.tgz", + "integrity": "sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.4.tgz", + "integrity": "sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.4.tgz", + "integrity": "sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.4.tgz", + "integrity": "sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.4.tgz", + "integrity": "sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.4.tgz", + "integrity": "sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.4.tgz", + "integrity": "sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.4.tgz", + "integrity": "sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.4.tgz", + "integrity": "sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.4.tgz", + "integrity": "sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.4.tgz", + "integrity": "sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", + "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.0.tgz", + "integrity": "sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.6", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.2.tgz", + "integrity": "sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.14.0.tgz", + "integrity": "sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", + "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "9.27.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.27.0.tgz", + "integrity": "sha512-G5JD9Tu5HJEu4z2Uo4aHY2sLV64B7CDMXxFzqzjl3NKd6RVzSXNoE80jk7Y0lJkTTkjiIhBAqmlYwjuBY3tvpA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", + "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.1.tgz", + "integrity": "sha512-0J+zgWxHN+xXONWIyPWKFMgVuJoZuGiIFu8yxk7RJjxkzpGmyja5wRFqZIVtjDVOQpV+Rw0iOAjYPE2eQyjr0w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.14.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.3.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@react-aria/ssr": { + "version": "3.9.9", + "resolved": "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.9.9.tgz", + "integrity": "sha512-2P5thfjfPy/np18e5wD4WPt8ydNXhij1jwA8oehxZTFqlgVMGXzcWKxTb4RtJrLFsqPO7RUQTiY8QJk0M4Vy2g==", + "dependencies": { + "@swc/helpers": "^0.5.0" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@restart/hooks": { + "version": "0.4.16", + "resolved": "https://registry.npmjs.org/@restart/hooks/-/hooks-0.4.16.tgz", + "integrity": "sha512-f7aCv7c+nU/3mF7NWLtVVr0Ra80RqsO89hO72r+Y/nvQr5+q0UFGkocElTH6MJApvReVh6JHUFYn2cw1WdHF3w==", + "dependencies": { + "dequal": "^2.0.3" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@restart/ui": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@restart/ui/-/ui-1.9.4.tgz", + "integrity": "sha512-N4C7haUc3vn4LTwVUPlkJN8Ach/+yIMvRuTVIhjilNHqegY60SGLrzud6errOMNJwSnmYFnt1J0H/k8FE3A4KA==", + "dependencies": { + "@babel/runtime": "^7.26.0", + "@popperjs/core": "^2.11.8", + "@react-aria/ssr": "^3.5.0", + "@restart/hooks": "^0.5.0", + "@types/warning": "^3.0.3", + "dequal": "^2.0.3", + "dom-helpers": "^5.2.0", + "uncontrollable": "^8.0.4", + "warning": "^4.0.3" + }, + "peerDependencies": { + "react": ">=16.14.0", + "react-dom": ">=16.14.0" + } + }, + "node_modules/@restart/ui/node_modules/@restart/hooks": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@restart/hooks/-/hooks-0.5.1.tgz", + "integrity": "sha512-EMoH04NHS1pbn07iLTjIjgttuqb7qu4+/EyhAx27MHpoENcB2ZdSsLTNxmKD+WEPnZigo62Qc8zjGnNxoSE/5Q==", + "dependencies": { + "dequal": "^2.0.3" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@restart/ui/node_modules/uncontrollable": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/uncontrollable/-/uncontrollable-8.0.4.tgz", + "integrity": "sha512-ulRWYWHvscPFc0QQXvyJjY6LIXU56f0h8pQFvhxiKk5V1fcI8gp9Ht9leVAhrVjzqMw0BgjspBINx9r6oyJUvQ==", + "peerDependencies": { + "react": ">=16.14.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.9", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.9.tgz", + "integrity": "sha512-e9MeMtVWo186sgvFFJOPGy7/d2j2mZhLJIdVW0C/xDluuOvymEATqz6zKsP0ZmXGzQtqlyjz5sC1sYQUoJG98w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.41.0.tgz", + "integrity": "sha512-KxN+zCjOYHGwCl4UCtSfZ6jrq/qi88JDUtiEFk8LELEHq2Egfc/FgW+jItZiOLRuQfb/3xJSgFuNPC9jzggX+A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.41.0.tgz", + "integrity": "sha512-yDvqx3lWlcugozax3DItKJI5j05B0d4Kvnjx+5mwiUpWramVvmAByYigMplaoAQ3pvdprGCTCE03eduqE/8mPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.41.0.tgz", + "integrity": "sha512-2KOU574vD3gzcPSjxO0eyR5iWlnxxtmW1F5CkNOHmMlueKNCQkxR6+ekgWyVnz6zaZihpUNkGxjsYrkTJKhkaw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.41.0.tgz", + "integrity": "sha512-gE5ACNSxHcEZyP2BA9TuTakfZvULEW4YAOtxl/A/YDbIir/wPKukde0BNPlnBiP88ecaN4BJI2TtAd+HKuZPQQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.41.0.tgz", + "integrity": "sha512-GSxU6r5HnWij7FoSo7cZg3l5GPg4HFLkzsFFh0N/b16q5buW1NAWuCJ+HMtIdUEi6XF0qH+hN0TEd78laRp7Dg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.41.0.tgz", + "integrity": "sha512-KGiGKGDg8qLRyOWmk6IeiHJzsN/OYxO6nSbT0Vj4MwjS2XQy/5emsmtoqLAabqrohbgLWJ5GV3s/ljdrIr8Qjg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.41.0.tgz", + "integrity": "sha512-46OzWeqEVQyX3N2/QdiU/CMXYDH/lSHpgfBkuhl3igpZiaB3ZIfSjKuOnybFVBQzjsLwkus2mjaESy8H41SzvA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.41.0.tgz", + "integrity": "sha512-lfgW3KtQP4YauqdPpcUZHPcqQXmTmH4nYU0cplNeW583CMkAGjtImw4PKli09NFi2iQgChk4e9erkwlfYem6Lg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.41.0.tgz", + "integrity": "sha512-nn8mEyzMbdEJzT7cwxgObuwviMx6kPRxzYiOl6o/o+ChQq23gfdlZcUNnt89lPhhz3BYsZ72rp0rxNqBSfqlqw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.41.0.tgz", + "integrity": "sha512-l+QK99je2zUKGd31Gh+45c4pGDAqZSuWQiuRFCdHYC2CSiO47qUWsCcenrI6p22hvHZrDje9QjwSMAFL3iwXwQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.41.0.tgz", + "integrity": "sha512-WbnJaxPv1gPIm6S8O/Wg+wfE/OzGSXlBMbOe4ie+zMyykMOeqmgD1BhPxZQuDqwUN+0T/xOFtL2RUWBspnZj3w==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.41.0.tgz", + "integrity": "sha512-eRDWR5t67/b2g8Q/S8XPi0YdbKcCs4WQ8vklNnUYLaSWF+Cbv2axZsp4jni6/j7eKvMLYCYdcsv8dcU+a6QNFg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.41.0.tgz", + "integrity": "sha512-TWrZb6GF5jsEKG7T1IHwlLMDRy2f3DPqYldmIhnA2DVqvvhY2Ai184vZGgahRrg8k9UBWoSlHv+suRfTN7Ua4A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.41.0.tgz", + "integrity": "sha512-ieQljaZKuJpmWvd8gW87ZmSFwid6AxMDk5bhONJ57U8zT77zpZ/TPKkU9HpnnFrM4zsgr4kiGuzbIbZTGi7u9A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.41.0.tgz", + "integrity": "sha512-/L3pW48SxrWAlVsKCN0dGLB2bi8Nv8pr5S5ocSM+S0XCn5RCVCXqi8GVtHFsOBBCSeR+u9brV2zno5+mg3S4Aw==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.41.0.tgz", + "integrity": "sha512-XMLeKjyH8NsEDCRptf6LO8lJk23o9wvB+dJwcXMaH6ZQbbkHu2dbGIUindbMtRN6ux1xKi16iXWu6q9mu7gDhQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.41.0.tgz", + "integrity": "sha512-m/P7LycHZTvSQeXhFmgmdqEiTqSV80zn6xHaQ1JSqwCtD1YGtwEK515Qmy9DcB2HK4dOUVypQxvhVSy06cJPEg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.41.0.tgz", + "integrity": "sha512-4yodtcOrFHpbomJGVEqZ8fzD4kfBeCbpsUy5Pqk4RluXOdsWdjLnjhiKy2w3qzcASWd04fp52Xz7JKarVJ5BTg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.41.0.tgz", + "integrity": "sha512-tmazCrAsKzdkXssEc65zIE1oC6xPHwfy9d5Ta25SRCDOZS+I6RypVVShWALNuU9bxIfGA0aqrmzlzoM5wO5SPQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.41.0.tgz", + "integrity": "sha512-h1J+Yzjo/X+0EAvR2kIXJDuTuyT7drc+t2ALY0nIcGPbTatNOf0VWdhEA2Z4AAjv6X1NJV7SYo5oCTYRJhSlVA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@swc/helpers": { + "version": "0.5.17", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.17.tgz", + "integrity": "sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz", + "integrity": "sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/estree": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", + "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/prop-types": { + "version": "15.7.14", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.14.tgz", + "integrity": "sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==" + }, + "node_modules/@types/react": { + "version": "19.1.5", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.5.tgz", + "integrity": "sha512-piErsCVVbpMMT2r7wbawdZsq4xMvIAhQuac2gedQHysu1TZYEigE6pnFfgZT+/jQnrRuF5r+SHzuehFjfRjr4g==", + "license": "MIT", + "dependencies": { + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.1.5", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.5.tgz", + "integrity": "sha512-CMCjrWucUBZvohgZxkjd6S9h0nZxXjzus6yDfUb+xLxYM7VvjKNH1tQrE9GWLql1XoOP4/Ds3bwFqShHUYraGg==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^19.0.0" + } + }, + "node_modules/@types/react-transition-group": { + "version": "4.4.12", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.12.tgz", + "integrity": "sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w==", + "peerDependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/warning": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/warning/-/warning-3.0.3.tgz", + "integrity": "sha512-D1XC7WK8K+zZEveUPY+cf4+kgauk8N4eHr/XIHXGlGYkHLud6hK9lYfZk1ry1TNh798cZUCgb6MqGEG8DkJt6Q==" + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.5.0.tgz", + "integrity": "sha512-JuLWaEqypaJmOJPLWwO335Ig6jSgC1FTONCWAxnqcQthLTK/Yc9aH6hr9z/87xciejbQcnP3GnA1FWUSWeXaeg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.26.10", + "@babel/plugin-transform-react-jsx-self": "^7.25.9", + "@babel/plugin-transform-react-jsx-source": "^7.25.9", + "@rolldown/pluginutils": "1.0.0-beta.9", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.17.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0" + } + }, + "node_modules/acorn": { + "version": "8.14.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", + "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/bootstrap": { + "version": "5.3.6", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.6.tgz", + "integrity": "sha512-jX0GAcRzvdwISuvArXn3m7KZscWWFAf1MKBcnzaN02qWMb3jpMoUX4/qgeiGzqyIb4ojulRzs89UCUmGcFSzTA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/twbs" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/bootstrap" + } + ], + "peerDependencies": { + "@popperjs/core": "^2.11.8" + } + }, + "node_modules/bootstrap-icons": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/bootstrap-icons/-/bootstrap-icons-1.13.1.tgz", + "integrity": "sha512-ijombt4v6bv5CLeXvRWKy7CuM3TRTuPEuGaGKvTV5cz65rQSY8RQ2JcHt6b90cBBAC7s8fsf2EkQDldzCoXUjw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/twbs" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/bootstrap" + } + ] + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/browserslist": { + "version": "4.24.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.5.tgz", + "integrity": "sha512-FDToo4Wo82hIdgc1CQ+NQD0hEhmpPjrZ3hiUgwgOG6IuTdlpr8jdjyG24P6cNP1yJpTLzS5OcGgSw0xmDU1/Tw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001716", + "electron-to-chromium": "^1.5.149", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001718", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001718.tgz", + "integrity": "sha512-AflseV1ahcSunK53NfEs9gFWgOEmzr0f+kaMFA4xiLZlr9Hzt7HxcSpIFcnNCUkz6R6dWKa54rUz3HUmI3nVcw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/classnames": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", + "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cookie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", + "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", + "engines": { + "node": ">=18" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, + "node_modules/dayjs": { + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==" + }, + "node_modules/debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "dependencies": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.157", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.157.tgz", + "integrity": "sha512-/0ybgsQd1muo8QlnuTpKwtl0oX5YMlUGbm8xyqgDU00motRkKFFbUJySAQBWcY79rVqNLWIWa87BGVGClwAB2w==", + "dev": true, + "license": "ISC" + }, + "node_modules/esbuild": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.4.tgz", + "integrity": "sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.4", + "@esbuild/android-arm": "0.25.4", + "@esbuild/android-arm64": "0.25.4", + "@esbuild/android-x64": "0.25.4", + "@esbuild/darwin-arm64": "0.25.4", + "@esbuild/darwin-x64": "0.25.4", + "@esbuild/freebsd-arm64": "0.25.4", + "@esbuild/freebsd-x64": "0.25.4", + "@esbuild/linux-arm": "0.25.4", + "@esbuild/linux-arm64": "0.25.4", + "@esbuild/linux-ia32": "0.25.4", + "@esbuild/linux-loong64": "0.25.4", + "@esbuild/linux-mips64el": "0.25.4", + "@esbuild/linux-ppc64": "0.25.4", + "@esbuild/linux-riscv64": "0.25.4", + "@esbuild/linux-s390x": "0.25.4", + "@esbuild/linux-x64": "0.25.4", + "@esbuild/netbsd-arm64": "0.25.4", + "@esbuild/netbsd-x64": "0.25.4", + "@esbuild/openbsd-arm64": "0.25.4", + "@esbuild/openbsd-x64": "0.25.4", + "@esbuild/sunos-x64": "0.25.4", + "@esbuild/win32-arm64": "0.25.4", + "@esbuild/win32-ia32": "0.25.4", + "@esbuild/win32-x64": "0.25.4" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.27.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.27.0.tgz", + "integrity": "sha512-ixRawFQuMB9DZ7fjU3iGGganFDp3+45bPOdaRurcFHSXO1e/sYwUX/FtQZpLZJR6SjMoJH8hR2pPEAfDyCoU2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.20.0", + "@eslint/config-helpers": "^0.2.1", + "@eslint/core": "^0.14.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.27.0", + "@eslint/plugin-kit": "^0.3.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.3.0", + "eslint-visitor-keys": "^4.2.0", + "espree": "^10.3.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz", + "integrity": "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-react-refresh": { + "version": "0.4.20", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.20.tgz", + "integrity": "sha512-XpbHQ2q5gUF8BGOX4dHe+71qoirYMhApEPZ7sfhF/dNnOF1UXnCMGZf79SFTBO7Bz5YEIT4TMieSlJBWhP9WBA==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "eslint": ">=8.40" + } + }, + "node_modules/eslint-scope": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz", + "integrity": "sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", + "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.14.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fdir": { + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz", + "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-16.1.0.tgz", + "integrity": "sha512-aibexHNbb/jiUSObBgpHLj+sIuUmJnYcgXBlrfsiDZ9rt4aF2TFRbyLgZ2iFQuVZ1K5Mx3FVkbKRSgKrbK3K2g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "dev": true, + "license": "MIT" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", + "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.8", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/prop-types-extra": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/prop-types-extra/-/prop-types-extra-1.1.1.tgz", + "integrity": "sha512-59+AHNnHYCdiC+vMwY52WmvP5dM3QLeoumYuEyceQDi9aEhtwN9zIQ2ZNo25sMyXnbh32h+P1ezDsUpUH3JAew==", + "dependencies": { + "react-is": "^16.3.2", + "warning": "^4.0.0" + }, + "peerDependencies": { + "react": ">=0.14.0" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/react": { + "version": "19.1.0", + "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz", + "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-bootstrap": { + "version": "2.10.10", + "resolved": "https://registry.npmjs.org/react-bootstrap/-/react-bootstrap-2.10.10.tgz", + "integrity": "sha512-gMckKUqn8aK/vCnfwoBpBVFUGT9SVQxwsYrp9yDHt0arXMamxALerliKBxr1TPbntirK/HGrUAHYbAeQTa9GHQ==", + "dependencies": { + "@babel/runtime": "^7.24.7", + "@restart/hooks": "^0.4.9", + "@restart/ui": "^1.9.4", + "@types/prop-types": "^15.7.12", + "@types/react-transition-group": "^4.4.6", + "classnames": "^2.3.2", + "dom-helpers": "^5.2.1", + "invariant": "^2.2.4", + "prop-types": "^15.8.1", + "prop-types-extra": "^1.1.0", + "react-transition-group": "^4.4.5", + "uncontrollable": "^7.2.1", + "warning": "^4.0.3" + }, + "peerDependencies": { + "@types/react": ">=16.14.8", + "react": ">=16.14.0", + "react-dom": ">=16.14.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-dom": { + "version": "19.1.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz", + "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.26.0" + }, + "peerDependencies": { + "react": "^19.1.0" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + }, + "node_modules/react-refresh": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", + "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-router": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.6.2.tgz", + "integrity": "sha512-U7Nv3y+bMimgWjhlT5CRdzHPu2/KVmqPwKUCChW8en5P3znxUqwlYFlbmyj8Rgp1SF6zs5X4+77kBVknkg6a0w==", + "dependencies": { + "cookie": "^1.0.1", + "set-cookie-parser": "^2.6.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "node_modules/react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "dependencies": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": ">=16.6.0", + "react-dom": ">=16.6.0" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/rollup": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.41.0.tgz", + "integrity": "sha512-HqMFpUbWlf/tvcxBFNKnJyzc7Lk+XO3FGc3pbNBLqEbOz0gPLRgcrlS3UF4MfUrVlstOaP/q0kM6GVvi+LrLRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.7" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.41.0", + "@rollup/rollup-android-arm64": "4.41.0", + "@rollup/rollup-darwin-arm64": "4.41.0", + "@rollup/rollup-darwin-x64": "4.41.0", + "@rollup/rollup-freebsd-arm64": "4.41.0", + "@rollup/rollup-freebsd-x64": "4.41.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.41.0", + "@rollup/rollup-linux-arm-musleabihf": "4.41.0", + "@rollup/rollup-linux-arm64-gnu": "4.41.0", + "@rollup/rollup-linux-arm64-musl": "4.41.0", + "@rollup/rollup-linux-loongarch64-gnu": "4.41.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.41.0", + "@rollup/rollup-linux-riscv64-gnu": "4.41.0", + "@rollup/rollup-linux-riscv64-musl": "4.41.0", + "@rollup/rollup-linux-s390x-gnu": "4.41.0", + "@rollup/rollup-linux-x64-gnu": "4.41.0", + "@rollup/rollup-linux-x64-musl": "4.41.0", + "@rollup/rollup-win32-arm64-msvc": "4.41.0", + "@rollup/rollup-win32-ia32-msvc": "4.41.0", + "@rollup/rollup-win32-x64-msvc": "4.41.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/scheduler": { + "version": "0.26.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", + "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/set-cookie-parser": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", + "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz", + "integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/uncontrollable": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/uncontrollable/-/uncontrollable-7.2.1.tgz", + "integrity": "sha512-svtcfoTADIB0nT9nltgjujTi7BzVmwjZClOmskKu/E8FW9BXzg9os8OLr4f8Dlnk0rYWJIWr4wv9eKUXiQvQwQ==", + "dependencies": { + "@babel/runtime": "^7.6.3", + "@types/react": ">=16.9.11", + "invariant": "^2.2.4", + "react-lifecycles-compat": "^3.0.4" + }, + "peerDependencies": { + "react": ">=15.0.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/vite": { + "version": "6.3.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", + "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", + "dev": true, + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/client/package.json b/client/package.json new file mode 100644 index 0000000..cd8bdd4 --- /dev/null +++ b/client/package.json @@ -0,0 +1,32 @@ +{ + "name": "client", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "lint": "eslint .", + "preview": "vite preview" + }, + "dependencies": { + "bootstrap": "^5.3.6", + "bootstrap-icons": "^1.13.1", + "dayjs": "^1.11.13", + "react": "^19.1.0", + "react-bootstrap": "^2.10.10", + "react-dom": "^19.1.0", + "react-router": "^7.6.2" + }, + "devDependencies": { + "@eslint/js": "^9.25.0", + "@types/react": "^19.1.2", + "@types/react-dom": "^19.1.2", + "@vitejs/plugin-react": "^4.4.1", + "eslint": "^9.25.0", + "eslint-plugin-react-hooks": "^5.2.0", + "eslint-plugin-react-refresh": "^0.4.19", + "globals": "^16.0.0", + "vite": "^6.3.5" + } +} diff --git a/client/public/vite.svg b/client/public/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/client/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/client/src/API.js b/client/src/API.js new file mode 100644 index 0000000..507330c --- /dev/null +++ b/client/src/API.js @@ -0,0 +1,180 @@ +import dayjs from 'dayjs'; + +const SERVER_URL = 'http://localhost:3001/api/'; +function getJson(httpResponsePromise) { + return new Promise((resolve, reject) => { + httpResponsePromise + .then((response) => { + if (response.ok) { + response.json() + .then( json => resolve(json) ) + .catch( err => reject({ error: "Cannot parse server response" })) + + } else { + response.json() + .then(obj => + reject(obj) + ) + .catch(err => reject({ error: "Cannot parse server response" })) + } + }) + .catch(err => + reject({ error: "Cannot communicate" }) + ) // connection error + }); +} + +const getPosts = async () => { + // Clientside publication is called timestamp + return getJson( + fetch(SERVER_URL + 'posts', { credentials: 'include' }) + ).then( json => { + const posts = json.map((post) => { + const clientPost = { + id: post.id, + title: post.title, + text: post.text, + authorid: post.authorid, + author: post.author, + maxcomments: post.maxcomments, + numcomments: post.numComments, + timestamp: post.publication, + comments: post.comments.map( c => { c.timestamp = c.publication; return c;}) + } + //console.log(`POST: \n TITLE:${clientPost.title}\n ID:${clientPost.id}\n AUTHORID:${clientPost.authorid}\n AUTHOR:${clientPost.author}\n ${clientPost.timestamp} \n TEXT:${clientPost.text}`); + return clientPost; + }); + + return posts.sort((a,b) => dayjs(b.timestamp) - dayjs(a.timestamp)); + }) +} +function editComment(comment) { + const payload = { text: comment.text }; + return getJson( + fetch(SERVER_URL + "posts/" + comment.postid + "/comments/" + comment.id, { + method: 'PATCH', + credentials: 'include', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify(payload) + }) + ) +} + +function setCommentInteresting(comment) { + return getJson( + fetch(SERVER_URL + "posts/" + comment.postid + "/comments/" + comment.id + "/interest", { + method: 'POST', + credentials: 'include', + headers: { + 'Content-Type': 'application/json', + }, + }) + ) +} + +function unsetCommentInteresting(comment) { + return getJson( + fetch(SERVER_URL + "posts/" + comment.postid + "/comments/" + comment.id + "/interest", { + method: 'DELETE', + credentials: 'include', + headers: { + 'Content-Type': 'application/json', + }, + }) + ) +} + +function addPost(post) { + return getJson( + fetch(SERVER_URL + "posts/", { + method: 'POST', + credentials: 'include', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify(post) + }) + ) +} + +function addComment(postid, comment) { + return getJson( + fetch(SERVER_URL + "posts/" + postid + "/comments/", { + method: 'POST', + credentials: 'include', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify(comment) + }) + ) +} + +function deletePost(post) { + return getJson( + fetch(SERVER_URL + "posts/" + post.id, { + method: 'DELETE', + credentials: 'include', + headers: { + 'Content-Type': 'application/json', + } + }) + ) +} + +function deleteComment(comment) { + return getJson( + fetch(SERVER_URL + "posts/" + comment.postid + "/comments/" + comment.id, { + method: 'DELETE', + credentials: 'include', + headers: { + 'Content-Type': 'application/json', + } + }) + ) +} +const totpVerify = async (totpCode) => { + return getJson(fetch(SERVER_URL + 'login-totp', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + credentials: 'include', + body: JSON.stringify({code: totpCode}), + }) + ) +}; + + +const logIn = async (credentials) => { + return getJson(fetch(SERVER_URL + 'sessions', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + credentials: 'include', + body: JSON.stringify(credentials), + }) + ) +}; + +const getUserInfo = async () => { + return getJson(fetch(SERVER_URL + 'sessions/current', { + credentials: 'include' + }) + ) +}; + +const logOut = async() => { + return getJson(fetch(SERVER_URL + 'sessions/current', { + method: 'DELETE', + credentials: 'include' + }) + ) +} + +const API = { getPosts, editComment, addPost, addComment, deletePost, deleteComment, setCommentInteresting, unsetCommentInteresting, + logIn, getUserInfo, logOut, totpVerify }; +export default API; diff --git a/client/src/App.css b/client/src/App.css new file mode 100644 index 0000000..e69de29 diff --git a/client/src/App.jsx b/client/src/App.jsx new file mode 100644 index 0000000..106ee72 --- /dev/null +++ b/client/src/App.jsx @@ -0,0 +1,184 @@ +import 'bootstrap/dist/css/bootstrap.min.css'; +import 'bootstrap-icons/font/bootstrap-icons.css'; + +import { React, useState, useEffect } from 'react'; +import { Container } from 'react-bootstrap'; +import { Routes, Route, useLocation, Navigate, useNavigate } from 'react-router'; + +import './App.css'; + +import { GenericLayout, AddPostLayout, AddCommentLayout, EditLayout, LoginLayout, TotpLayout } from './components/Layout'; +import API from './API.js'; + +function App() { + + const navigate = useNavigate(); + const [loggedIn, setLoggedIn] = useState(false); + const [user, setUser] = useState(null); + const [loggedInTotp, setLoggedInTotp] = useState(false); + + const [postList, setPostList] = useState([]); + const [message, setMessage] = useState(''); + const [dirty, setDirty] = useState(true); + + const handleErrors = (err) => { + let msg = ''; + if (err.error) + msg = err.error; + else if (err.errors) { + if (err.errors[0].msg) + msg = err.errors[0].msg + " : " + err.errors[0].path; + } else if (Array.isArray(err)) + msg = err[0].msg + " : " + err[0].path; + else if (typeof err === "string") msg = String(err); + else msg = "Unknown Error"; + + setMessage(msg); + + if (msg === 'Not authenticated') + setTimeout(() => { // do logout in the app state + setUser(null); setLoggedIn(false); setLoggedInTotp(false); setDirty(true); + }, 2000); + else + setTimeout(()=>setDirty(true), 2000); + } + + const checkAuth = async() => { + try { + const user = await API.getUserInfo(); + setLoggedIn(true); + setUser(user); + if (user.isTotp) + setLoggedInTotp(true); + } catch(err) { + } + }; + + /* This useeffect is called each time the location is changed, so each time a Cancel button goes back to + the home the posts are correctly fetched again. */ + const location = useLocation(); + + useEffect( () => { + setDirty(true); + } ,[location, location.state]); + + useEffect(()=> { + checkAuth(); + }, []); + + const handleLogin = async (credentials) => { + try { + const user = await API.logIn(credentials); + setUser(user); + setLoggedIn(true); + setDirty(true); + } catch (err) { + throw err; + } + }; + + const handleLogout = async () => { + await API.logOut(); + setLoggedIn(false); + setLoggedInTotp(false); + setUser(null); + setDirty(true); + }; + + function deletePost(post) { + API.deletePost(post) + .then(()=> setDirty(true)) + .catch(err=>handleErrors(err)); + } + + function deleteComment(comment) { + API.deleteComment(comment) + .then(()=> setDirty(true)) + .catch(err=>handleErrors(err)); + } + + function editComment(comment) { + API.editComment(comment) + .then(()=>{setDirty(true); navigate('/');}) + .catch(err=>handleErrors(err)); + } + + function setCommentInteresting(comment) { + setDirty(true); + API.setCommentInteresting(comment) + .then(()=>{setDirty(true); navigate('/');}) + .catch(err=>handleErrors(err)); + } + + function unsetCommentInteresting(comment) { + API.unsetCommentInteresting(comment) + .then(()=>{setDirty(true); navigate('/');}) + .catch(err=>handleErrors(err)); + } + + function addPost(post) { + API.addPost(post) + .then(()=>{setDirty(true); navigate('/');}) + .catch(err=>handleErrors(err)); + } + + function addComment(postid, comment) { + API.addComment(postid,comment) + .then(()=>{setDirty(true); navigate('/');}) + .catch(err=>handleErrors(err)); + } + + return ( + + + }> + + + + : } /> + } /> + + : + } /> + + } /> + + + ); +} + +function LoginWithTotp(props) { + if (props.loggedIn) { + if (props.user && props.user.type == "administrator") { + if (props.loggedInTotp) { + return ; + } else { + return props.setLoggedInTotp(true)} />; + } + } else { + return ; + } + } else { + return ; + } +} +export default App diff --git a/client/src/assets/react.svg b/client/src/assets/react.svg new file mode 100644 index 0000000..6c87de9 --- /dev/null +++ b/client/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/client/src/components/Auth.jsx b/client/src/components/Auth.jsx new file mode 100644 index 0000000..e7372a2 --- /dev/null +++ b/client/src/components/Auth.jsx @@ -0,0 +1,139 @@ +import { useState } from 'react'; +import { Form, Button, Alert, Col, Row } from 'react-bootstrap'; +import { useNavigate } from 'react-router'; +import API from '../API.js' + +function TotpForm(props) { + const [totpCode, setTotpCode] = useState(''); + const [errorMessage, setErrorMessage] = useState(''); + + const navigate = useNavigate(); + + + const doTotpVerify = () => { + API.totpVerify(totpCode) + .then(() => { + setErrorMessage(''); + props.totpSuccessful(); + navigate('/'); + }) + .catch(() => { + setErrorMessage('Something went wrong, please try again'); + }) + } + + const handleSubmit = (event) => { + event.preventDefault(); + setErrorMessage(''); + + let valid = true; + + if(totpCode === '' || totpCode.length !== 6) + valid = false; + + if (valid) { + doTotpVerify(totpCode); + } else { + setErrorMessage('Invalid content in form: either empty or not 6-char long'); + } + }; + + return ( + + + + +

Second Factor Authentication

+
Please enter the code that you read on your device
+
+ {errorMessage ? setErrorMessage('')}>{errorMessage} : ''} + + Code + setTotpCode(ev.target.value)} /> + + + +
+ + +
+ ) + +} + +function LoginForm(props) { + const [username, setUsername] = useState(''); + const [password, setPassword] = useState(''); + const [istotp, setIstotp] = useState(false); + const [errorMessage, setErrorMessage] = useState(''); + + const navigate = useNavigate(); + + + const handleSubmit = (event) => { + event.preventDefault(); + const credentials = { username, password }; + + if (!username) { + setErrorMessage('Username cannot be empty'); + } else if (!password) { + setErrorMessage('Password cannot be empty'); + } else { + props.login(credentials) + .catch((err) => { + setErrorMessage(err.error); + }); + } + }; + + return ( + + + +

Login

+
+ {errorMessage? setErrorMessage('')} variant="danger">{errorMessage} : null} + + Username + setUsername(ev.target.value)} + /> + + + Password + setPassword(ev.target.value)} + /> + + setIstotp(ev.target.value)} + /> + + + + + +
+ + ) +}; + +function LogoutButton(props) { + return ( + + ) +} + +function LoginButton(props) { + const navigate = useNavigate(); + return ( + + ) +} + +export { LoginForm, LogoutButton, LoginButton, TotpForm }; diff --git a/client/src/components/CommentEdit.jsx b/client/src/components/CommentEdit.jsx new file mode 100644 index 0000000..cf7f7d6 --- /dev/null +++ b/client/src/components/CommentEdit.jsx @@ -0,0 +1,63 @@ +import {useState} from 'react'; +import {Form, Button, Alert} from 'react-bootstrap'; +import { Link, useParams } from 'react-router'; +/* Edit or add a comment */ +const CommentForm = (props) => { + + const [text, setText] = useState(props.commentToEdit ? props.commentToEdit.text : ''); + const [errorMsg, setErrorMsg] = useState(''); + const postid = useParams().postid; + + const handleSubmit = (event) => { + event.preventDefault(); + + // String.trim() method is used for removing leading and ending whitespaces from the title. + const comment = { "text" : text.trim() }; + if(comment.text.length == 0){ + setErrorMsg('New text tength cannot be 0'); + } + //Probably already checked by the form + else if ( typeof comment.text !== "string" ){ + setErrorMsg("Text comment must be a string"); + } + else { + /* To edit we dont need postid since comment id is unique in db, instead to add a new comment to a post we need it. */ + if (props.commentToEdit) { + comment.id = props.commentToEdit.id; + comment.postid = props.commentToEdit.postid; + props.editComment(comment); + //navigate('/'); // not here, we must wait for the editing on the server to be finished + } else { + props.addComment(postid, comment); + } + } + } + + return ( + <> + { errorMsg ? + setErrorMsg('')} dismissible>{errorMsg} : + false } + + {props.commentToEdit ? +

Edit comment

: +

Insert new comment

} + +
+ + Text + setText(event.target.value)}/> + + + +   + + + +
+ + ) + +} + +export { CommentForm }; diff --git a/client/src/components/Forum.jsx b/client/src/components/Forum.jsx new file mode 100644 index 0000000..a697041 --- /dev/null +++ b/client/src/components/Forum.jsx @@ -0,0 +1,119 @@ +import 'dayjs'; +import { Button, Card} from 'react-bootstrap'; +import { useNavigate} from 'react-router'; +function ForumTable(props) { + const { posts } = props; + /*Posts embedded also comments*/ + return( +
+ {posts.map((post) => )} +
+ ); +} + +function Post(props) { + const navigate = useNavigate(); + /* If is logged OTP or Owner then is always enabled */ + /* Somehow can happen if reloading the page in other form that loggedIn remains true without a user state */ + const isAuthor = props.loggedIn && props.user ? + (props.user.id == props.postData.authorid ? true : false) + : false; + return ( + <> + + {props.postData.title} + + + {props.postData.text} + + {isAuthor || props.loggedInTotp ? + : + null + } + + + + Published by: {props.postData.author} on {props.postData.timestamp}
+ Comments: {props.postData.numcomments} + {props.postData.maxcomments != -1 ? Max:{props.postData.maxcomments} : null} +
+
+
+
{props.postData.comments.map( (comment) => )}
+
+ + );} + +function Comment(props) { + const navigate = useNavigate(); + /* Authorid is always defined (at least is null) instead author name is undefined if authorid is null + One user can delete the comment if logged with totp or if OWNER of comment */ + function checkAuthor(user, comment){ + if(user){ + return user.id == comment.authorid; + } + return false; + } + const isAuthor = props.loggedIn ? checkAuthor(props.user,props.commentData) : false; + const likedClass = "mx-5 my-3 bg-light border border-3 border-success rounded" + const generalClass = "mx-5 my-3 bg-light border border-3 rounded" + return ( + <> + + + {props.commentData.authorid == null ? "Anonymous" : props.commentData.author } + { props.commentData.isInterested ? + + :
} +
+ + + {props.commentData.text} + + { props.loggedIn ? + (props.commentData.isInterested ? + + : + + ) + : + null } + { isAuthor || props.loggedInTotp ? <> + + : null } + + + Published on {props.commentData.timestamp}
+ {props.commentData.numInterested ? + {props.commentData.numInterested } interested : +
} +
+
+ + ); +} +export { ForumTable }; diff --git a/client/src/components/Layout.jsx b/client/src/components/Layout.jsx new file mode 100644 index 0000000..0b4dd91 --- /dev/null +++ b/client/src/components/Layout.jsx @@ -0,0 +1,146 @@ +import { Row, Col, Button, Spinner, Alert } from 'react-bootstrap'; +import { Outlet, Link, useParams, Navigate, useNavigate } from 'react-router'; + +import { Navigation } from './Navigation'; +import { ForumTable } from './Forum'; +import { CommentForm } from './CommentEdit'; +import { PostForm } from './PostCreate'; +import { useEffect, useState } from 'react'; +import { LoginForm, TotpForm } from './Auth'; +import API from '../API.js'; + + +function NotFoundLayout(props) { + return ( + <> +

This route is not valid!

+ + + + + ); + } + + function LoginLayout(props) { + return ( + + + + + + ); + } + +function TotpLayout(props) { + return ( + + + + + + ); +} + +function AddPostLayout(props) { + return ( + + ); +} + +function AddCommentLayout(props) { + return ( + + ); +} + function EditLayout(props) { + const { commentid } = useParams(); + const findComment = (posts) => { + for (const post of posts){ + if( post.comments ) + for( const comment of post.comments ){ + if(comment.id == commentid) + return comment; + } + } + } + const commentToEdit = findComment(props.posts) + console.log("EDIT COMMENT: "+commentToEdit); + return( + <> + {commentToEdit? + + : } + + ); + } + + function TableLayout(props) { + + const navigate = useNavigate(); + const [waiting, setWaiting] = useState(true); + + useEffect( () => { + if(props.dirty){ + API.getPosts() + .then( posts => { + props.setPostList(posts); + props.setDirty(false); + setWaiting(false); + }).catch( e => { props.handleErrors(e); } ); + + props.setDirty(false); + } + },[props.dirty]); + return ( + <> + { props.loggedIn ? +
+ +
: +
} + { waiting? : + + } + + ); + } + +function GenericLayout(props) { + return ( + <> + + + + + + + + {props.message? props.setMessage('')} variant='danger' dismissible> + {props.message} : null} + + + + + + + + + ); + } + export { GenericLayout, NotFoundLayout, TableLayout, AddPostLayout, AddCommentLayout, EditLayout, LoginLayout, TotpLayout }; diff --git a/client/src/components/Navigation.jsx b/client/src/components/Navigation.jsx new file mode 100644 index 0000000..12470ee --- /dev/null +++ b/client/src/components/Navigation.jsx @@ -0,0 +1,35 @@ +import 'bootstrap-icons/font/bootstrap-icons.css'; + +import { Navbar, Nav, Form } from 'react-bootstrap'; +import { Link } from 'react-router'; +import { LoginButton, LogoutButton } from './Auth'; +const spawnButton = (props) => { + if(props.loggedIn){ + if(props.loggedInTotp) + return <> + if(props.type == "administrator") + return <> + return <> + } + return +} +const Navigation = (props) => { + return ( + + + + Forum Exam + + + + ); +} + +export { Navigation }; diff --git a/client/src/components/PostCreate.jsx b/client/src/components/PostCreate.jsx new file mode 100644 index 0000000..b0a31ee --- /dev/null +++ b/client/src/components/PostCreate.jsx @@ -0,0 +1,63 @@ +import { useState } from 'react'; +import { Form, Button, Alert } from 'react-bootstrap'; +import { Link } from 'react-router'; + +const PostForm = (props) => { + + const [title, setTitle] = useState(''); + const [text, setText] = useState(''); + const [checked, setChecked] = useState(false) + /* Default is no limit on comments */ + const [max, setMax] = useState(0); + const [errorMsg, setErrorMsg] = useState(''); + + const handleSubmit = (event) => { + event.preventDefault(); + + const post = { "title": title.trim(), "text": text.trim(), max: checked == true ? max : -1}; + if (post.title.length == 0) { + setErrorMsg('Title length cannot be 0'); + } else if (post.text.length == 0){ + setErrorMsg('Text of post length cannot be 0'); + } else if (post.max < -1) { + setErrorMsg('Invalid value for max number of comments'); + } else { + props.addPost(post); + } + } + + return ( + <> + {errorMsg? setErrorMsg('')} dismissible>{errorMsg} : false } +

Create a new post

+
+ + Title + setTitle(event.target.value)}/> + + + + Text + setText(event.target.value)}/> + + + setChecked(ev.target.checked)} + /> + Max Comments + setMax(parseInt(event.target.value))}/> + + + +   + + + +
+ + ) + +} + +export { PostForm }; diff --git a/client/src/index.css b/client/src/index.css new file mode 100644 index 0000000..e69de29 diff --git a/client/src/main.jsx b/client/src/main.jsx new file mode 100644 index 0000000..28121bb --- /dev/null +++ b/client/src/main.jsx @@ -0,0 +1,13 @@ +import { StrictMode } from 'react' +import { createRoot } from 'react-dom/client' +import './index.css' +import { BrowserRouter } from 'react-router'; +import App from './App.jsx' + +createRoot(document.getElementById('root')).render( + + + + + , +) diff --git a/client/vite.config.js b/client/vite.config.js new file mode 100644 index 0000000..8b0f57b --- /dev/null +++ b/client/vite.config.js @@ -0,0 +1,7 @@ +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' + +// https://vite.dev/config/ +export default defineConfig({ + plugins: [react()], +}) diff --git a/img/adminloggedin.png b/img/adminloggedin.png new file mode 100644 index 0000000000000000000000000000000000000000..76c3a0181d5a0bd3eb8575214620b2efe0ab3c8e GIT binary patch literal 64248 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 !^W$oFAdf3&&#$G3lpemJXn`QwkDykHkfkWus2 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 YPFrUX&CKorT_o{ literal 0 HcmV?d00001 diff --git a/img/anonymoushome.png b/img/anonymoushome.png new file mode 100644 index 0000000000000000000000000000000000000000..ce203fac9dd6d228b95f93188dc32049d148e91b GIT binary patch literal 74906 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 literal 0 HcmV?d00001 diff --git a/img/createcomment.png b/img/createcomment.png new file mode 100644 index 0000000000000000000000000000000000000000..4308afccadabb893755dcd52635ad38333c8a6bc GIT binary patch literal 25031 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 literal 0 HcmV?d00001 diff --git a/img/screenshot.png b/img/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..4a16561a6849ecadf5942df31c9a441aaeb92167 GIT binary patch literal 13537 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

L{G^f0!KoAW06E)Jn%N>(0yA-2P5gEX@l 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 rK-&%YT=;haA8X{X?M;78uH!-evspX!RsFXe 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

!*prf67dN!U06&wRZ#p#&NJl`Eiv=%;hS6 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 { + return new Promise((resolve, reject) => { + const sql = 'SELECT * FROM User WHERE id=?'; + db.get(sql, [id], (err, row) => { + if (err) + reject(err); + else if (row === undefined) + resolve({ error: 'User not found.' }); + else { + const user = { id: row.ID, username: row.Username, type: row.Type} + resolve(user); + } + }); + }); +}; + +exports.getUserSecret = (id) => { + return new Promise((resolve, reject) => { + const sql = 'SELECT Secret FROM User WHERE id=?'; + db.get(sql, [id], (err, row) => { + if (err) + reject(err); + else if (row === undefined) + resolve({ error: 'Secret not found.' }); + else { + const secret = row.Secret; + resolve(secret); + } + }); + }); +} +exports.getUser = (username, password) => { + return new Promise((resolve, reject) => { + const sql = 'SELECT * FROM User WHERE username=?'; + db.get(sql, [username], (err, row) => { + if (err) { + reject(err); + } else if (row === undefined) { + resolve(false); + } + else { + const user = { id: row.ID, username: row.Username, type: row.Type}; + + crypto.scrypt(password, row.Salt, 64, function (err, hashedPassword) { + if (err) reject(err); + if (!crypto.timingSafeEqual(Buffer.from(row.Password, 'hex'), hashedPassword)) + resolve(false); + else + resolve(user); + }); + } + }); + }); +}; + +const convertPostFromDbRecord = (dbRecord) => { + const post = {}; + post.id = dbRecord.ID; + post.title = dbRecord.Title; + post.authorid = dbRecord.AuthorID; + post.maxcomments = dbRecord.MaxComments; + post.publication = dbRecord.Publication; + post.text = dbRecord.Text; + + return post; +} + +const convertCommentFromDbRecord = (dbRecord) => { + const comment = {}; + comment.id = dbRecord.ID; + comment.text = dbRecord.Text; + comment.publication = dbRecord.Publication; + comment.authorid = dbRecord.AuthorID; + comment.postid = dbRecord.PostID; + return comment; +} + +// This function retrieves the whole list of posts from the database. + +exports.listPosts = () => { + return new Promise((resolve, reject) => { + const sql = "SELECT * FROM Post"; + db.all(sql, (err,rows) => { + if (err) { reject(err); } + + const posts = rows.map((e) => { + const post = convertPostFromDbRecord(e); + return post; + }); + resolve(posts); + }); + }); +} + +exports.listCommentsOfPost = (PostID) => { + return new Promise((resolve, reject) => { + const sql = "SELECT * FROM Comment AS C WHERE C.PostID = ?"; + db.all(sql, [PostID], (err,rows) => { + if (err) { reject(err); } + + const comments = rows.map((e) => { + const comment = convertCommentFromDbRecord(e); + return comment; + }); + resolve(comments); + }); + }); +} + +exports.listAnonCommentsOfPost = (PostID) => { + return new Promise((resolve, reject) => { + const sql = "SELECT * FROM Comment AS C WHERE C.PostID = ?"; + db.all(sql, [PostID], (err,rows) => { + if (err) { reject(err); } + + const comments = rows.filter( (e) => e.AuthorID == null) + .map((e) => { + const comment = convertCommentFromDbRecord(e); + return comment; + }); + comments.forEach( c => console.log(c.text)); + resolve(comments); + }); + }); +} + + +exports.getNumCommentsOfPost = (PostID) => { + return new Promise((resolve, reject)=>{ + const sql = 'SELECT COUNT(*) AS N FROM Comment AS C WHERE C.PostID=?'; + db.get(sql,[PostID], (err,row)=>{ + if(err){ + reject(err); + } + if( row == undefined){ + resolve({error: 'Post not found.'}); + } else { + const num = row.N; + resolve(num); + } + }); + }); +} +exports.getPost = (id) => { + return new Promise((resolve, reject)=>{ + const sql = 'SELECT * FROM Post WHERE id=?'; + db.get(sql,[id], (err,row)=>{ + if(err){ + reject(err); + } + if( row == undefined){ + resolve({error: 'Post not found.'}); + } else { + const post = convertPostFromDbRecord(row); + resolve(post); + } + }); + }); +} + +exports.getComment = (id) => { + return new Promise((resolve, reject)=>{ + const sql = 'SELECT * FROM Comment WHERE ID=?'; + db.get(sql,[id], (err,row)=>{ + if(err){ + reject(err); + } + if( row == undefined){ + resolve({error: 'Comment not found.'}); + } else { + const comment = convertCommentFromDbRecord(row); + resolve(comment); + } + }); + }); +} + +exports.getAuthorOfPost = (PostID) => { + return new Promise((resolve, reject)=>{ + const sql = 'SELECT Username FROM User as U, Post as P WHERE P.ID = ? AND P.AuthorID = U.ID'; + db.get(sql,[PostID], (err,row)=>{ + if(err){ + reject(err); + } + if( row == undefined){ + resolve({error: 'Author not found.'}); + } else { + const author = row.Username; + resolve(author); + } + }); + }); +} + +exports.getAuthorOfComment = (CommentID) => { + return new Promise((resolve, reject)=>{ + const sql = 'SELECT Username FROM User as U, Comment as C WHERE C.ID = ? AND C.AuthorID = U.ID'; + db.get(sql,[CommentID], (err,row)=>{ + if(err){ + reject(err); + } + if( row == undefined){ + resolve({error: 'Author not found.'}); + } else { + const author = row.Username; + resolve(author); + } + }); + }); +} + +exports.getAuthorIDOfPost = (PostID) => { + return new Promise((resolve, reject)=>{ + const sql = 'SELECT AuthorID FROM Post as P WHERE P.ID = ?'; + db.get(sql,[PostID], (err,row)=>{ + if(err){ + reject(err); + } + if( row == undefined){ + resolve({error: 'Author not found.'}); + } else { + const id = row.AuthorID; + resolve(id); + } + }); + }); +} + +exports.getAuthorIDOfComment = (CommentID) => { + return new Promise((resolve, reject)=>{ + const sql = 'SELECT AuthorID FROM Comment as C WHERE C.ID = ?'; + db.get(sql,[CommentID], (err,row)=>{ + if(err){ + reject(err); + } + if( row == undefined){ + resolve({error: 'Author not found.'}); + } else { + const id = row.AuthorID; + resolve(id); + } + }); + }); +} + +exports.createPost = (post) => { + return new Promise((resolve, reject) => { + console.log("POST DAO:"+post.text); + const sql = 'INSERT INTO Post (Title, AuthorID, MaxComments, Publication, Text) VALUES(?, ?, ?, ?, ?)'; + db.run(sql, [post.title, post.authorid, post.maxcomments, post.publication, post.text], function(err){ + if (err) { + reject(err); + } + resolve(exports.getPost(this.lastID)); + }); + }); +} + +exports.createComment = (comment) => { + return new Promise((resolve, reject) => { + const sql = 'INSERT INTO Comment (Text, Publication, AuthorID, PostID) VALUES(?, ?, ?, ?)'; + db.run(sql, [comment.text, comment.publication, comment.authorid, comment.postid], function(err){ + if (err) { + reject(err); + } + resolve(exports.getComment(this.lastID)); + }); + }); +} + +exports.setInteresting = (UserID, CommentID) => { + return new Promise((resolve, reject) => { + const sql = 'INSERT INTO Interesting(UserID, CommentID) VALUES(?, ?)'; + db.run(sql, [UserID, CommentID], function(err){ + if (err){ + reject(err); + } + resolve(exports.isUserInterested(UserID, CommentID)); + }); + }); +} +exports.getNumInterested = (CommentID) => { + return new Promise((resolve, reject) => { + const sql = 'SELECT COUNT(UserID) AS N FROM Interesting AS I WHERE I.CommentID = ?' + db.get(sql, [CommentID], (err,row) => { + if(err){ + reject(err); + } + if( row == undefined){ + resolve({error: 'Comment not found.'}); + } else { + const num = row.N; + resolve(num); + } + }); + }); +} +// Return true if user is interested to comment, otherwise return false +exports.isUserInterested = (UserID, CommentID) => { + return new Promise((resolve, reject) => { + const sql = 'SELECT * FROM Interesting AS I WHERE I.CommentID = ? AND I.UserID=?' + db.get(sql, [CommentID, UserID], (err,row) => { + if(err){ + reject(err); + } + if( row == undefined){ + resolve(false); + } else { + resolve(true); + } + }); + }); +} + +exports.deletePost = (PostID) => { + return new Promise((resolve, reject) => { + db.serialize(() =>{ + db.run('DELETE FROM Interesting as I, Comment as C WHERE I.CommentID = C.ID AND C.PostID = ? ', [PostID], (err) =>{ + if(err){ + reject(err); + } + }) + .run('DELETE FROM Comment as C WHERE C.PostID = ?', [PostID], (err)=>{ + if(err){ + reject(err); + } + }) + .run('DELETE FROM Post as P WHERE P.ID = ?',[PostID], (err)=>{ + if(err){ + reject(err); + } + }); + }); + resolve(exports.listPosts()); + }); +} + +exports.deleteComment = (CommentID) => { + return new Promise((resolve, reject) => { + db.serialize(() =>{ + db.run('DELETE FROM Interesting as I WHERE I.CommentID = ?', [CommentID], (err) =>{ + if(err){ + reject(err); + } + }) + .run('DELETE FROM Comment as C WHERE C.ID = ?', [CommentID], (err)=>{ + if(err){ + reject(err); + } + }) + }); + resolve(); + }); +} +exports.deleteInteresting = (UserID,CommentID) => { + return new Promise((resolve, reject) => { + db.serialize(() =>{ + db.run('DELETE FROM Interesting as I WHERE I.CommentID = ? AND I.UserID= ?', [CommentID, UserID], (err) =>{ + if(err){ + reject(err); + } + }) + }); + resolve(exports.isUserInterested(UserID, CommentID)); + }); +} + +exports.editComment = (commentID, text) => { + return new Promise((resolve, reject) => { + const sql = 'UPDATE Comment SET Text=? WHERE ID = ?'; + db.run(sql, [text, commentID], function (err) { + if (err) { + reject(err); + } + if (this.changes !== 1) { + resolve({ error: 'Comment not found.' }); + } else { + resolve(); + } + }); + }); +}; + diff --git a/server/db.js b/server/db.js new file mode 100644 index 0000000..c366cc7 --- /dev/null +++ b/server/db.js @@ -0,0 +1,11 @@ +'use strict'; + +const sqlite = require('sqlite3'); + +// open the database + +const db = new sqlite.Database('test.db', (err) => { + if (err) throw(err); +}); + +module.exports = db; diff --git a/server/index.js b/server/index.js new file mode 100644 index 0000000..1334205 --- /dev/null +++ b/server/index.js @@ -0,0 +1,353 @@ +'use strict'; +const express = require('express'); +const morgan = require('morgan'); // logging middleware +const { check, validationResult, oneOf } = require('express-validator'); // validation middleware +const cors = require('cors'); + +const forumDao = require('./dao-forum'); +const dayjs = require('dayjs'); +const app = express(); +app.use(morgan('dev')); +app.use(express.json()); + +const corsOptions = { + origin: 'http://localhost:5173', + credentials: true, +}; +app.use(cors(corsOptions)); + +/* Passport */ + +const passport = require('passport'); // authentication middleware +const LocalStrategy = require('passport-local'); // authentication strategy (username and password) + +const base32 = require('thirty-two'); +const TotpStrategy = require('passport-totp').Strategy; // totp + +passport.use(new LocalStrategy(async function verify(username, password, callback) { + const user = await forumDao.getUser(username, password) + if(!user) + return callback(null, false, 'Incorrect username or password'); + + return callback(null, user); // NOTE: user info in the session (all fields returned by userDao.getUser, i.e, id, username, name) +})); + +passport.serializeUser(function (user, callback) { + callback(null, user); +}); + +passport.deserializeUser(function (user, callback) { + + return callback(null, user); +}); + + +const session = require('express-session'); +/* The secret field is used to hash the session with HMAC */ +app.use(session({ + secret: "very l0ng s3cr3t used h4sh with HM4C the sessi0n", + resave: false, + saveUninitialized: false, +})); + +app.use(passport.authenticate('session')); +/* If user does not exist the db will simply throw an error and everything will be fine */ +passport.use(new TotpStrategy( + async function (user, done) { + const secret = await forumDao.getUserSecret(user.id); + if(!secret) + return done(null, false, {message: "TOTP is not enabled for this account"}); + return done(null, base32.decode(secret), 30); + }) +) + +const isLoggedIn = (req, res, next) => { + if(req.isAuthenticated()) { + return next(); + } + return res.status(401).json({error: 'Not authorized'}); +} + +/* This one is used because we still need to serve even anonymous user in some queries */ +/* If Authenticated is True otherwise is False and therefore anonymous */ +const isLoggedInOrAnon = (req, res) => { + if(req.isAuthenticated()) { + return true; + } + return false; +} + +function isTotp(req, res, next) { + if(req.session.method === 'totp') + return next(); + return res.status(401).json({ error: 'Missing TOTP authentication'}); +} +// Created to check this not as a middleware +function isLoggedInTotp(req, res){ + if(req.session.method === 'totp') + return true; + return false; +} + +const maxTitleLength = 160; +const maxCommentLength = 1000; +const maxTextLength = 1500; + +const errorFormatter = ({ location, msg, param, value, nestedErrors }) => { + return `${location}[${param}]: ${msg}`; +}; + +app.get('/api/posts', async (req, res) => { + const isLogged = isLoggedInOrAnon(req); + try{ + + let posts = await forumDao.listPosts(); + posts = posts.map( async (p) => { + let comments; + /* If authorid is null the Author of the comment is not searched at all + The field author exists only if there is a valid author id */ + if( isLogged == true ){ + comments = await forumDao.listCommentsOfPost(p.id); + comments = comments.map( async (c) => { + /* numInterested and isInterested should be visible only to authenticated users. */ + /* isInterested should be true ONLY for the exact user that has marked the comment interesting */ + c.numInterested = await forumDao.getNumInterested(c.id); + c.isInterested = await forumDao.isUserInterested(req.user.id, c.id); + if(c.authorid != null){ + c.author = await forumDao.getAuthorOfComment(c.id); + } + return c; + }); + } + else{ + comments = await forumDao.listAnonCommentsOfPost(p.id); + } + + p.comments = await Promise.all(comments); + p.author = await forumDao.getAuthorOfPost(p.id); + p.numComments = await forumDao.getNumCommentsOfPost(p.id); + + return p; + }); + + const postsWithComments = await Promise.all(posts); + res.json(postsWithComments); + } + catch(err){ + console.log(err); + res.status(503).json({error: 'Database error'}); + } +}); + +/* Create a new post (Only authenticated user) */ +/* INPUT: Title, Text, Max number of comments */ +app.post('/api/posts', isLoggedIn, [check('title').isLength({min:1, max: maxTitleLength}).withMessage(`The text of the post MUST be >=1 and <= ${maxTitleLength}`), + check('text').isLength({min:1, max: maxTextLength}).withMessage(`The title of the post MUST be >=1 and <= ${maxTextLength}`), + check('max').isInt({min:-1}).withMessage("The max number of comments should be specificed and >= -1")],async (req, res) => { + + const errors = validationResult(req).formatWith(errorFormatter); // format error message + if (!errors.isEmpty()) { + return res.status(422).json( errors.errors ); // error message is sent back as a json with the error info + } + + const post = {title: req.body.title, text: req.body.text, publication: dayjs().format("YYYY-MM-DD HH:mm:ss"), maxcomments: req.body.max, authorid: req.user.id}; + try{ + const result = await forumDao.createPost(post); + res.status(201).json(result); + }catch(err){ + console.log(err); + res.status(503).json({error: 'Database error'}); + } +}); + +/* Create a new comment related to a post (Anyone) */ +/* INPUT: Post ID, Text*/ +app.post('/api/posts/:id/comments', [ check('id').isInt({min: 1}).withMessage("Post ID MUST be an integer >= 1"), + check('text').isLength({min: 1, max: maxCommentLength}).withMessage(`The text of the comment MUST be >=1 and <= ${maxCommentLength}`) ],async (req,res) => { + const errors = validationResult(req).formatWith(errorFormatter); // format error message + if (!errors.isEmpty()) { + return res.status(422).json( errors.errors ); // error message is sent back as a json with the error info + } + const comment = {text: req.body.text, publication: dayjs().format("YYYY-MM-DD HH:mm:ss") ,authorid: req.user == null ? null : req.user.id , postid: req.params.id}; + try{ + const checkPost = await forumDao.getPost(req.params.id); + const numcomments = await forumDao.getNumCommentsOfPost(req.params.id); + if(checkPost.maxcomments != -1 && numcomments == checkPost.maxcomments){ + return res.status(400).json({error: "Reached max number of comments"}); + } + const result = await forumDao.createComment(comment); + res.status(201).json(result); + + }catch(err){ + console.log(err); + res.status(503).json({error: 'Database error'}); + } +}); + +/* Toggle true/false Interesting flag on comment (Only authenticated and owner) */ +//Handled as POST/DELETE requests because we are creating a new record in a table. +app.post('/api/posts/:id/comments/:commentId/interest', isLoggedIn, [check('id').isInt({min:1}).withMessage("Post ID MUST be an integer >= 1"), + check('commentId').isInt({min:1}).withMessage("Comment ID MUST be an integer >= 1")], async (req,res) => { + + const errors = validationResult(req).formatWith(errorFormatter); // format error message + if (!errors.isEmpty()) { + return res.status(422).json( errors.errors ); // error message is sent back as a json with the error info + } + try{ + const result = await forumDao.setInteresting(req.user.id,req.params.commentId); + res.status(201).json({}); + }catch(err){ + console.log(err); + res.status(503).json({error: 'Database error'}); + } + +}); + +app.delete('/api/posts/:id/comments/:commentId/interest', [check('id').isInt({min:1}).withMessage("Post ID MUST be an integer >= 1"), + check('commentId').isInt({min:1}).withMessage("Comment ID MUST be an integer >= 1")], async (req,res) => { + + const errors = validationResult(req).formatWith(errorFormatter); // format error message + if (!errors.isEmpty()) { + return res.status(422).json( errors.errors ); // error message is sent back as a json with the error info + } + try{ + const result = await forumDao.deleteInteresting(req.user.id,req.params.commentId); + res.status(201).json(result); + }catch(err){ + console.log(err); + res.status(503).json({error: 'Database error'}); + } +}); + +/* Edit comment (Only authenticated and owner) */ +/* INPUT: Text */ +app.patch('/api/posts/:id/comments/:commentId', isLoggedIn,[check('id').isInt({min:1}).withMessage("Post ID MUST be an integer >= 1"), + check('commentId').isInt({min:1}).withMessage("Comment ID MUST be an integer >= 1"), + check('text').isLength({min: 1, max: maxCommentLength}).withMessage(`The text of the comment MUST be >=1 and <= ${maxCommentLength}`)], async (req, res) => { + const errors = validationResult(req).formatWith(errorFormatter); // format error message + if (!errors.isEmpty()) { + return res.status(422).json( errors.errors ); // error message is sent back as a json with the error info + } + + try{ + // Check if user.id is the author id of comment + const authorid = await forumDao.getAuthorIDOfComment(req.params.commentId); + if( !isLoggedInTotp(req, res) && req.user.id != authorid ) + return res.status(401).json({error: 'Not authorized'}); + const result = await forumDao.editComment(req.params.commentId, req.body.text); + /* Must be 200 and not 204, because 204 implies empty body and the client want a json eachtime even empty*/ + res.status(200).json({}); + }catch(err){ + console.log(err); + res.status(503).json({error: 'Database error'}); + } +}); + +/* Delete selected post (Only authenticated totp and owner)*/ +/* INPUT: Post ID */ +app.delete('/api/posts/:id', isLoggedIn, [check('id').isInt({min:1}).withMessage("Post ID MUST be an integer >= 1")], async (req, res) => { + const errors = validationResult(req).formatWith(errorFormatter); // format error message + if (!errors.isEmpty()) { + return res.status(422).json( errors.errors ); // error message is sent back as a json with the error info + } + try{ + const authorid = await forumDao.getAuthorIDOfPost(req.params.id); + if( !isLoggedInTotp(req,res) && req.user.id != authorid ) + return res.status(401).json({error: 'Not authorized'}); + + const checkPost = await forumDao.getPost(req.params.id); + if( checkPost.error != undefined ){ + return res.status(404).json({error: checkPost.error}) + } + const result = await forumDao.deletePost(req.params.id); + res.status(200).json({}); + }catch(err){ + console.log(err); + res.status(503).json({error: 'Database error'}); + } +}); + +/* Delete selected comment (Only authenticated and owner)*/ + +app.delete('/api/posts/:id/comments/:commentId',isLoggedIn, [check('id').isInt({min:1}).withMessage("Post ID MUST be an integer >= 1"), + check('commentId').isInt({min:1}).withMessage("Comment ID MUST be an integer >= 1")], async (req, res) => { + const errors = validationResult(req).formatWith(errorFormatter); // format error message + if (!errors.isEmpty()) { + return res.status(422).json( errors.errors ); // error message is sent back as a json with the error info + } + try{ + const authorid = await forumDao.getAuthorIDOfComment(req.params.commentId); + if( !isLoggedInTotp(req, res) && req.user.id != authorid ) + return res.status(401).json({error: 'Not authorized'}); + + const checkComment = await forumDao.getComment(req.params.commentId); + if( checkComment.error != undefined ){ + return res.status(404).json({error: checkComment.error}) + } + const result = await forumDao.deleteComment(req.params.commentId); + res.status(200).json({}); + + }catch(err){ + console.log(err); + res.status(503).json({error: 'Database error'}); + } +}); + +function clientUserInfo(req) { + const user=req.user; + return {id: user.id, username: user.username, canDoTotp: user.secret? true: false, isTotp: req.session.method === 'totp'}; +} + +/* POST /api/sessions + Used to login */ +app.post('/api/sessions', function(req, res, next) { + passport.authenticate('local', (err, user, info) => { + if (err) + return next(err); + if (!user) { + return res.status(401).json({ error: info}); + } + req.login(user, (err) => { + if (err) + return next(err); + + return res.json(req.user); + }); + })(req, res, next); +}); + +/* Perform OTP (only after login) */ +app.post('/api/login-totp', isLoggedIn, + passport.authenticate('totp'), + function(req, res) { + req.session.method = 'totp'; + res.json({otp: 'authorized'}); + } +); + +/* GET /api/sessions/current + This route checks whether the user is logged in or not. */ +app.get('/api/sessions/current', (req, res) => { + if(req.isAuthenticated()) { + res.status(200).json(req.user);} + else + res.status(401).json({error: 'Not authenticated'}); +}); + +/* DELETE /api/session/current + This route is used for loggin out the current user. */ +app.delete('/api/sessions/current', isLoggedIn, (req, res) => { + req.logout(() => { + res.status(200).json({}); + }); +}); + + +const PORT = 3001; +// Activate the server +app.listen(PORT, (err) => { + if (err) + console.log(err); + else + console.log(`Server listening at http://localhost:${PORT}`); +}); diff --git a/server/package-lock.json b/server/package-lock.json new file mode 100644 index 0000000..59db258 --- /dev/null +++ b/server/package-lock.json @@ -0,0 +1,2330 @@ +{ + "name": "server", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "server", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "cors": "^2.8.5", + "dayjs": "^1.11.13", + "express": "^5.1.0", + "express-session": "^1.18.1", + "express-validator": "^7.2.1", + "morgan": "^1.10.0", + "passport": "^0.7.0", + "passport-local": "^1.0.0", + "passport-totp": "^0.0.2", + "sqlite3": "^5.1.7", + "thirty-two": "^1.0.2" + } + }, + "node_modules/@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "optional": true + }, + "node_modules/@npmcli/fs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", + "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", + "optional": true, + "dependencies": { + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" + } + }, + "node_modules/@npmcli/move-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "deprecated": "This functionality has been moved to @npmcli/fs", + "optional": true, + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "optional": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "optional": true + }, + "node_modules/accepts": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", + "license": "MIT", + "dependencies": { + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "optional": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agentkeepalive": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.6.0.tgz", + "integrity": "sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==", + "optional": true, + "dependencies": { + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "optional": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "optional": true + }, + "node_modules/are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "deprecated": "This package is no longer supported.", + "optional": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "optional": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "dependencies": { + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/basic-auth/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/body-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", + "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==", + "license": "MIT", + "dependencies": { + "bytes": "^3.1.2", + "content-type": "^1.0.5", + "debug": "^4.4.0", + "http-errors": "^2.0.0", + "iconv-lite": "^0.6.3", + "on-finished": "^2.4.1", + "qs": "^6.14.0", + "raw-body": "^3.0.0", + "type-is": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "optional": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacache": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", + "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", + "optional": true, + "dependencies": { + "@npmcli/fs": "^1.0.0", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "optional": true, + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "optional": true + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "optional": true + }, + "node_modules/content-disposition": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz", + "integrity": "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", + "license": "MIT", + "engines": { + "node": ">=6.6.0" + } + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/dayjs": { + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==" + }, + "node_modules/debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "optional": true + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/detect-libc": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", + "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "optional": true + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "optional": true + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/express": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/express/-/express-5.1.0.tgz", + "integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==", + "dependencies": { + "accepts": "^2.0.0", + "body-parser": "^2.2.0", + "content-disposition": "^1.0.0", + "content-type": "^1.0.5", + "cookie": "^0.7.1", + "cookie-signature": "^1.2.1", + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^2.1.0", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "merge-descriptors": "^2.0.0", + "mime-types": "^3.0.0", + "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.7", + "qs": "^6.14.0", + "range-parser": "^1.2.1", + "router": "^2.2.0", + "send": "^1.1.0", + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express-session": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.18.1.tgz", + "integrity": "sha512-a5mtTqEaZvBCL9A9aqkrtfz+3SMDhOVUnjafjo+s7A9Txkq+SVX2DLvSp1Zrv4uCXa3lMSK3viWnh9Gg07PBUA==", + "dependencies": { + "cookie": "0.7.2", + "cookie-signature": "1.0.7", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-headers": "~1.0.2", + "parseurl": "~1.3.3", + "safe-buffer": "5.2.1", + "uid-safe": "~2.1.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/express-session/node_modules/cookie-signature": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==" + }, + "node_modules/express-session/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express-session/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/express-validator": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/express-validator/-/express-validator-7.2.1.tgz", + "integrity": "sha512-CjNE6aakfpuwGaHQZ3m8ltCG2Qvivd7RHtVMS/6nVxOM7xVGqr4bhflsm4+N5FP5zI7Zxp+Hae+9RE+o8e3ZOQ==", + "dependencies": { + "lodash": "^4.17.21", + "validator": "~13.12.0" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, + "node_modules/finalhandler": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.0.tgz", + "integrity": "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "optional": true + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "deprecated": "This package is no longer supported.", + "optional": true, + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "optional": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "optional": true + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "optional": true + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "optional": true + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "optional": true, + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "optional": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "optional": true, + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "optional": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "optional": true + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "optional": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/ip-address": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", + "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "optional": true, + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "optional": true + }, + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "optional": true + }, + "node_modules/jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", + "optional": true + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-fetch-happen": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", + "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", + "optional": true, + "dependencies": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/make-fetch-happen/node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "optional": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/merge-descriptors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", + "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", + "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "optional": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "optional": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-fetch": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", + "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", + "optional": true, + "dependencies": { + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "optionalDependencies": { + "encoding": "^0.1.12" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "optional": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "optional": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "optional": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + }, + "node_modules/morgan": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz", + "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==", + "dependencies": { + "basic-auth": "~2.0.1", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-finished": "~2.3.0", + "on-headers": "~1.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/morgan/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/morgan/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/morgan/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/napi-build-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz", + "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==" + }, + "node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-abi": { + "version": "3.75.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.75.0.tgz", + "integrity": "sha512-OhYaY5sDsIka7H7AtijtI9jwGYLyl29eQn/W623DiN/MIv5sUqc4g7BIDThX+gb7di9f6xK02nkp8sdfFWZLTg==", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==" + }, + "node_modules/node-gyp": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", + "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", + "optional": true, + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^9.1.0", + "nopt": "^5.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": ">= 10.12.0" + } + }, + "node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "optional": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/notp": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/notp/-/notp-2.0.3.tgz", + "integrity": "sha512-oBig/2uqkjQ5AkBuw4QJYwkEWa/q+zHxI5/I5z6IeP2NT0alpJFsP/trrfCC+9xOAgQSZXssNi962kp5KBmypQ==", + "engines": { + "node": "> v0.6.0" + } + }, + "node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "deprecated": "This package is no longer supported.", + "optional": true, + "dependencies": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "optional": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/passport": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/passport/-/passport-0.7.0.tgz", + "integrity": "sha512-cPLl+qZpSc+ireUvt+IzqbED1cHHkDoVYMo30jbJIdOOjQ1MQYZBPiNvmi8UM6lJuOpTPXJGZQk0DtC4y61MYQ==", + "dependencies": { + "passport-strategy": "1.x.x", + "pause": "0.0.1", + "utils-merge": "^1.0.1" + }, + "engines": { + "node": ">= 0.4.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/jaredhanson" + } + }, + "node_modules/passport-local": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/passport-local/-/passport-local-1.0.0.tgz", + "integrity": "sha512-9wCE6qKznvf9mQYYbgJ3sVOHmCWoUNMVFoZzNoznmISbhnNNPhN9xfY3sLmScHMetEJeoY7CXwfhCe7argfQow==", + "dependencies": { + "passport-strategy": "1.x.x" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/passport-strategy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz", + "integrity": "sha512-CB97UUvDKJde2V0KDWWB3lyf6PC3FaZP7YxZ2G8OAtn9p4HI9j9JLP9qjOGZFvyl8uwNT8qM+hGnz/n16NI7oA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/passport-totp": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/passport-totp/-/passport-totp-0.0.2.tgz", + "integrity": "sha512-WhCnOSvLy4HDEZxwRwFGRpzQzqw+Q/vDZGzralzjTZerZeNI8EFwxmlgiIohhsBCkLZ+u3BR8Bz2v+gXQoDTcw==", + "dependencies": { + "notp": "2.0.x", + "passport-strategy": "1.0.0", + "pkginfo": "0.2.x" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-to-regexp": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz", + "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==", + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/pause": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", + "integrity": "sha512-KG8UEiEVkR3wGEb4m5yZkVCzigAD+cVEJck2CzYZO37ZGJfctvVptVO192MwrtPhzONn6go8ylnOdMhKqi4nfg==" + }, + "node_modules/pkginfo": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.2.3.tgz", + "integrity": "sha512-7W7wTrE/NsY8xv/DTGjwNIyNah81EQH0MWcTzrHL6pOpMocOGZc0Mbdz9aXxSrp+U0mSmkU8jrNCDCfUs3sOBg==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/prebuild-install": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz", + "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^2.0.0", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "optional": true + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "optional": true, + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/pump": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", + "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/random-bytes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", + "integrity": "sha512-iv7LhNVO047HzYR3InF6pUcUsPQiHTM1Qal51DcGSuZFBil1aBBWG5eHPNek7bvILMaYJ/8RU1e8w1AMdHmLQQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz", + "integrity": "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.6.3", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "optional": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "optional": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/router": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", + "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz", + "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==", + "license": "MIT", + "dependencies": { + "debug": "^4.3.5", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "mime-types": "^3.0.1", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/serve-static": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz", + "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==", + "license": "MIT", + "dependencies": { + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "optional": true + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "optional": true + }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "optional": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.8.4", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.4.tgz", + "integrity": "sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ==", + "optional": true, + "dependencies": { + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", + "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", + "optional": true, + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "optional": true + }, + "node_modules/sqlite3": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.7.tgz", + "integrity": "sha512-GGIyOiFaG+TUra3JIfkI/zGP8yZYLPQ0pl1bH+ODjiX57sPhrLU5sQJn1y9bDKZUFYkX1crlrPfSYt0BKKdkog==", + "hasInstallScript": true, + "dependencies": { + "bindings": "^1.5.0", + "node-addon-api": "^7.0.0", + "prebuild-install": "^7.1.1", + "tar": "^6.1.11" + }, + "optionalDependencies": { + "node-gyp": "8.x" + }, + "peerDependencies": { + "node-gyp": "8.x" + }, + "peerDependenciesMeta": { + "node-gyp": { + "optional": true + } + } + }, + "node_modules/ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "optional": true, + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "optional": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "optional": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar-fs": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.3.tgz", + "integrity": "sha512-090nwYJDmlhwFwEW3QQl+vaNnxsO2yVsd45eTKRBzSzu+hlb1w2K9inVq5b0ngXuLVqQ4ApvsUHHnu/zQNkWAg==", + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-fs/node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/thirty-two": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/thirty-two/-/thirty-two-1.0.2.tgz", + "integrity": "sha512-OEI0IWCe+Dw46019YLl6V10Us5bi574EvlJEOcAkB29IzQ/mYD1A6RyNHLjZPiHCmuodxvgF6U+vZO1L15lxVA==", + "engines": { + "node": ">=0.2.6" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/type-is": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", + "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", + "license": "MIT", + "dependencies": { + "content-type": "^1.0.5", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/uid-safe": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", + "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", + "dependencies": { + "random-bytes": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "optional": true, + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "optional": true, + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/validator": { + "version": "13.12.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.12.0.tgz", + "integrity": "sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "optional": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "optional": true, + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } +} diff --git a/server/package.json b/server/package.json new file mode 100644 index 0000000..a842059 --- /dev/null +++ b/server/package.json @@ -0,0 +1,24 @@ +{ + "name": "server", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC", + "dependencies": { + "cors": "^2.8.5", + "dayjs": "^1.11.13", + "express": "^5.1.0", + "express-session": "^1.18.1", + "express-validator": "^7.2.1", + "morgan": "^1.10.0", + "passport": "^0.7.0", + "passport-local": "^1.0.0", + "passport-totp": "^0.0.2", + "sqlite3": "^5.1.7", + "thirty-two": "^1.0.2" + } +} diff --git a/server/scripts/initdb.js b/server/scripts/initdb.js new file mode 100644 index 0000000..3648b8b --- /dev/null +++ b/server/scripts/initdb.js @@ -0,0 +1,118 @@ +'use strict'; +const db = require('../db') +const crypto = require('crypto') +const dayjs = require('dayjs') +const insertHashedPwd = (UserID, password) => { + return new Promise((resolve, reject) => { + const hashLen = 64; + const salt = crypto.randomBytes(16).toString("hex"); + const sql = "UPDATE User SET password=?, salt=? WHERE User.ID=?" + crypto.scrypt(password,salt, hashLen, function(err,hash){ + if(err) reject(err); + db.run(sql,[hash.toString("hex"),salt,UserID], function(err){ + if(err) + reject(err); + resolve(); + }); + }); + }); +} +const createDB = () => { + return new Promise((resolve, reject) => { + db.serialize(() => { + db.run(`CREATE TABLE "User" ( + "ID" INTEGER NOT NULL UNIQUE, + "Username" TEXT NOT NULL, + "Password" TEXT NOT NULL, + "Salt" TEXT NOT NULL, + "Secret" TEXT NULL, + "Type" TEXT NOT NULL, + PRIMARY KEY("ID" AUTOINCREMENT));`) + /* At least five users, 2 are Administrators*/ + .run(`INSERT INTO User(Username, Password, Salt, Secret, Type) VALUES('AdminUno', 'placeholder', 'placeholder', 'LXBSMDTMSP2I5XFXIYRGFVWSFI', 'administrator')`) + .run(`INSERT INTO User(Username, Password, Salt, Secret, Type) VALUES('AdminDue', 'ph', 'ph', 'LXBSMDTMSP2I5XFXIYRGFVWSFI', 'administrator')`) + .run(`INSERT INTO User(Username, Password, Salt, Type) VALUES('UtenteUno', 'ph','ph', 'viewer')`) + .run(`INSERT INTO User(Username, Password, Salt, Type) VALUES('UtenteDue', 'ph','ph', 'viewer')`) + .run(`INSERT INTO User(Username, Password, Salt, Type) VALUES('UtenteTre', 'ph','ph', 'viewer')`) + .run(`CREATE TABLE "Post" ( + "Title" TEXT NOT NULL UNIQUE, + "ID" INTEGER NOT NULL UNIQUE, + "AuthorID" INTEGER NOT NULL, + "MaxComments" INTEGER, + "Publication" INTEGER NOT NULL, + "Text" TEXT NOT NULL, + PRIMARY KEY("ID" AUTOINCREMENT), + FOREIGN KEY("AuthorID") REFERENCES "User"("ID"));`) + /* Four users including two administrators should have published two posts each */ + /*Post of AdminUno*/ + .run(`INSERT INTO Post (Title, AuthorID, Publication, Text, MaxComments) VALUES('Example post 1',1,'2025-06-06 12:20:05','Lorem ipsum dolor sit amet consectetur adipiscing elit. ', -1)`) + .run(`INSERT INTO Post (Title, AuthorID, Publication, Text, MaxComments) VALUES('Example post 2',1,'2025-06-12 10:59:01','Quisque faucibus ex sapien vitae pellentesque sem placerat.', -1)`) + /*Post of AdminDue*/ + .run(`INSERT INTO Post (Title, AuthorID, Publication, Text, MaxComments) VALUES('Example post 3',2,'2025-06-18 08:23:12','In id cursus mi pretium tellus duis convallis.', -1)`) + .run(`INSERT INTO Post (Title, AuthorID, MaxComments, Publication, Text) VALUES('Example post 4',2,2,'2025-06-01 23:20:11','Tempus leo eu aenean sed diam urna tempor.')`) + /*Post of UtenteUno */ + .run(`INSERT INTO Post (Title, AuthorID, Publication, Text, MaxComments) VALUES('Example post 5',3,'2025-06-09 07:20:05','Pulvinar vivamus fringilla lacus nec metus bibendum egestas.', -1)`) + .run(`INSERT INTO Post (Title, AuthorID, Publication, Text, MaxComments) VALUES('Example post 6',3,'2025-06-20 07:25:59','Iaculis massa nisl malesuada lacinia integer nunc posuere.', -1)`) + /*Post of UtenteDue */ + .run(`INSERT INTO Post (Title, AuthorID, MaxComments, Publication, Text) VALUES('Example post 7',4, 3, '2025-06-03 13:20:05','Ut hendrerit semper vel class aptent taciti sociosqu.')`) + .run(`INSERT INTO Post (Title, AuthorID, Publication, Text, MaxComments) VALUES('Example post 8',4,'2025-06-15 16:20:00','Ad litora torquent per conubia nostra inceptos himenaeos.', -1)`) + .run(`CREATE TABLE "Comment" ( + "ID" INTEGER NOT NULL UNIQUE, + "Text" TEXT NOT NULL, + "Publication" TEXT NOT NULL, + "AuthorID" INTEGER, + "PostID" INTEGER NOT NULL, + PRIMARY KEY("ID" AUTOINCREMENT), + FOREIGN KEY("AuthorID") REFERENCES "User"("ID"), + FOREIGN KEY("PostID") REFERENCES "Post"("ID"));`) + // Comments for PostID 4 (AdminDue's post with MaxComments = 2) + // This post should have 1 comment (one less than the limit) + .run(`INSERT INTO Comment(Text, Publication, AuthorID, PostID) VALUES('This post has a comment limit, interesting!', '2025-06-05 14:35:10', 3, 4);`) // UtenteUno comments on AdminDue's post + // Comments ensuring each user has comments from other users (2-3 comments each) + //Comments from AdminUno (ID: 1) on other users' posts + .run(`INSERT INTO Comment(Text, Publication, AuthorID, PostID) VALUES('Good point!', '2025-06-18 09:02:45', 1, 5);`) // AdminUno on UtenteUno's post + .run(`INSERT INTO Comment(Text, Publication, AuthorID, PostID) VALUES('Enjoyed reading this.', '2025-06-01 23:59:01', 1, 7);`) // AdminUno on UtenteDue's post + // Comments from AdminDue (ID: 2) on other users' posts + .run(`INSERT INTO Comment(Text, Publication, AuthorID, PostID) VALUES('Nice work!', '2025-06-11 04:17:30', 2, 6);`) // AdminDue on UtenteUno's post + // Comments from UtenteUno (ID: 3) on other users' posts (already one on PostID 4) + .run(`INSERT INTO Comment(Text, Publication, AuthorID, PostID) VALUES('Totally agree!', '2025-06-14 10:05:00', 3, 2);`) // UtenteUno on AdminUno's post + .run(`INSERT INTO Comment(Text, Publication, AuthorID, PostID) VALUES('Great thoughts.', '2025-06-03 01:50:55', 3, 3);`) // UtenteUno on AdminDue's post + // Comments from UtenteDue (ID: 4) on other users' posts + .run(`INSERT INTO Comment(Text, Publication, AuthorID, PostID) VALUES('Well said.', '2025-06-19 16:30:20', 4, 1);`) // UtenteDue on AdminUno's post + .run(`INSERT INTO Comment(Text, Publication, AuthorID, PostID) VALUES('This is very helpful!', '2025-06-02 21:12:05', 4, 5);`) // UtenteDue on UtenteUno's post + // Comments from UtenteTre (ID: 5) on other users' posts + .run(`INSERT INTO Comment(Text, Publication, AuthorID, PostID) VALUES('Appreciate your perspective.', '2025-06-16 12:08:50', 5, 3);`) // UtenteTre on AdminDue's post + .run(`INSERT INTO Comment(Text, Publication, AuthorID, PostID) VALUES('Inspiring content.', '2025-06-10 06:25:30', 5, 8);`) // UtenteTre on UtenteDue's post + // Anonymous comments + .run(`INSERT INTO Comment(Text, Publication, PostID) VALUES('Appreciate my anonymous perspective.', '2025-06-04 17:00:00', 1);`) + .run(`INSERT INTO Comment(Text, Publication, PostID) VALUES('Dont appreciate my anonymous perspective.', '2025-06-17 22:45:10', 1);`) + .run(`INSERT INTO Comment(Text, Publication, PostID) VALUES('Dont appreciate my anonymous perspective.', '2025-06-13 03:00:00', 3);`) + .run(`INSERT INTO Comment(Text, Publication, PostID) VALUES('Totally an anonymous comment, you will never know the author!', '2025-06-13 03:00:00', 7);`) + // Create Interesting table + .run(`CREATE TABLE "Interesting" ( + "UserID" INTEGER NOT NULL, + "CommentID" INTEGER NOT NULL, + PRIMARY KEY("UserID", "CommentID"), + FOREIGN KEY("CommentID") REFERENCES "Comment"("ID"), + FOREIGN KEY("UserID") REFERENCES "User"("ID"));`).run(`INSERT INTO Interesting(UserID,CommentID) VALUES(1,1)`) + .run(`INSERT INTO Interesting(UserID,CommentID) VALUES(2,1)`) + .run(`INSERT INTO Interesting(UserID,CommentID) VALUES(1,2)`) + .run(`INSERT INTO Interesting(UserID,CommentID) VALUES(1,3)`) + .run(`INSERT INTO Interesting(UserID,CommentID) VALUES(2,2)`); + }); + resolve(); + }); +} +//Ugly but ensures that the passwords are updated after the creation of db +createDB().then( + insertHashedPwd(1,"PasswordAdmin1").then( + insertHashedPwd(2,"PasswordAdmin2").then( + insertHashedPwd(3,"PasswordUtente1").then( + insertHashedPwd(4,"PasswordUtente2").then( + insertHashedPwd(5,"PasswordUtente3") + ) + ) + ) + ) +); + diff --git a/server/test.db b/server/test.db new file mode 100644 index 0000000000000000000000000000000000000000..7a75ba6e5f73ade39c74b87a255bc3bd2f123ae9 GIT binary patch literal 45056 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