From 7038f74514a15b0a80b8904274a32603585c5ebc Mon Sep 17 00:00:00 2001 From: fl Date: Tue, 4 Jun 2024 13:10:20 +0800 Subject: [PATCH 01/18] Update readme.md --- members/flatcc/readme.md | 15 +++++++++++++++ members/github_id/readme.md | 17 ----------------- 2 files changed, 15 insertions(+), 17 deletions(-) create mode 100644 members/flatcc/readme.md delete mode 100644 members/github_id/readme.md diff --git a/members/flatcc/readme.md b/members/flatcc/readme.md new file mode 100644 index 0000000000..2b4a127500 --- /dev/null +++ b/members/flatcc/readme.md @@ -0,0 +1,15 @@ +# Web3 前端训练营报名 + +## 个人信息 + +* Github ID: flatcc + +* Wechat ID: None + +* Openbuild Username: flatcc + +* ERC20 钱包地址: 0x7E0062239738b6842d35A8A9Dd20761Cf00254f8 + +### 个人介绍 + +大家好,我以前工作及经验大多都来自Cyber Security方向,个人做过一些后端以及一些小工具开发,但是最近对Web3方向比较感兴趣,想要尝试一下新的方向,个人解决问题对能力强,希望能够通过这次训练营认识更多小伙伴啊👋 \ No newline at end of file diff --git a/members/github_id/readme.md b/members/github_id/readme.md deleted file mode 100644 index e1f78f6136..0000000000 --- a/members/github_id/readme.md +++ /dev/null @@ -1,17 +0,0 @@ -# Web3 前端训练营报名 - -## 个人信息 - -* Github ID: - -* Wechat ID: birchspace - -* Openbuild Username: birchrust - -(首次如果没有,学习完毕钱包在填写) - -* ERC20 钱包地址: 0xdd8f2631d94fb709ea71b2b65f7da8ac745dca7a354d79c26d915de398010260 - -### 个人介绍 - - From 99bc47044bd7073cb69a46616054f90d1393c736 Mon Sep 17 00:00:00 2001 From: dockershe Date: Tue, 4 Jun 2024 23:40:20 +0800 Subject: [PATCH 02/18] task1 --- .../task1/web3-todo-list/.eslintrc.cjs | 18 + .../dockershe/task1/web3-todo-list/.gitignore | 24 + .../dockershe/task1/web3-todo-list/README.md | 21 + .../dockershe/task1/web3-todo-list/index.html | 13 + .../task1/web3-todo-list/package-lock.json | 5365 +++++++++++++++++ .../task1/web3-todo-list/package.json | 28 + .../task1/web3-todo-list/public/delete.svg | 3 + .../task1/web3-todo-list/public/finish.svg | 3 + .../task1/web3-todo-list/public/todo.svg | 1 + .../task1/web3-todo-list/src/App.css | 42 + .../task1/web3-todo-list/src/App.tsx | 69 + .../task1/web3-todo-list/src/assets/react.svg | 1 + .../task1/web3-todo-list/src/index.css | 68 + .../task1/web3-todo-list/src/main.tsx | 12 + .../task1/web3-todo-list/src/mycss.css | 1195 ++++ .../web3-todo-list/src/pages/AddToDo.tsx | 32 + .../task1/web3-todo-list/src/pages/Header.tsx | 18 + .../web3-todo-list/src/pages/ToDoList.tsx | 71 + .../task1/web3-todo-list/src/vite-env.d.ts | 1 + .../task1/web3-todo-list/tsconfig.json | 25 + .../task1/web3-todo-list/tsconfig.node.json | 11 + .../task1/web3-todo-list/vite.config.ts | 7 + 22 files changed, 7028 insertions(+) create mode 100644 members/dockershe/task1/web3-todo-list/.eslintrc.cjs create mode 100644 members/dockershe/task1/web3-todo-list/.gitignore create mode 100644 members/dockershe/task1/web3-todo-list/README.md create mode 100644 members/dockershe/task1/web3-todo-list/index.html create mode 100644 members/dockershe/task1/web3-todo-list/package-lock.json create mode 100644 members/dockershe/task1/web3-todo-list/package.json create mode 100644 members/dockershe/task1/web3-todo-list/public/delete.svg create mode 100644 members/dockershe/task1/web3-todo-list/public/finish.svg create mode 100644 members/dockershe/task1/web3-todo-list/public/todo.svg create mode 100644 members/dockershe/task1/web3-todo-list/src/App.css create mode 100644 members/dockershe/task1/web3-todo-list/src/App.tsx create mode 100644 members/dockershe/task1/web3-todo-list/src/assets/react.svg create mode 100644 members/dockershe/task1/web3-todo-list/src/index.css create mode 100644 members/dockershe/task1/web3-todo-list/src/main.tsx create mode 100644 members/dockershe/task1/web3-todo-list/src/mycss.css create mode 100644 members/dockershe/task1/web3-todo-list/src/pages/AddToDo.tsx create mode 100644 members/dockershe/task1/web3-todo-list/src/pages/Header.tsx create mode 100644 members/dockershe/task1/web3-todo-list/src/pages/ToDoList.tsx create mode 100644 members/dockershe/task1/web3-todo-list/src/vite-env.d.ts create mode 100644 members/dockershe/task1/web3-todo-list/tsconfig.json create mode 100644 members/dockershe/task1/web3-todo-list/tsconfig.node.json create mode 100644 members/dockershe/task1/web3-todo-list/vite.config.ts diff --git a/members/dockershe/task1/web3-todo-list/.eslintrc.cjs b/members/dockershe/task1/web3-todo-list/.eslintrc.cjs new file mode 100644 index 0000000000..d6c9537953 --- /dev/null +++ b/members/dockershe/task1/web3-todo-list/.eslintrc.cjs @@ -0,0 +1,18 @@ +module.exports = { + root: true, + env: { browser: true, es2020: true }, + extends: [ + 'eslint:recommended', + 'plugin:@typescript-eslint/recommended', + 'plugin:react-hooks/recommended', + ], + ignorePatterns: ['dist', '.eslintrc.cjs'], + parser: '@typescript-eslint/parser', + plugins: ['react-refresh'], + rules: { + 'react-refresh/only-export-components': [ + 'warn', + { allowConstantExport: true }, + ], + }, +} diff --git a/members/dockershe/task1/web3-todo-list/.gitignore b/members/dockershe/task1/web3-todo-list/.gitignore new file mode 100644 index 0000000000..a547bf36d8 --- /dev/null +++ b/members/dockershe/task1/web3-todo-list/.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/members/dockershe/task1/web3-todo-list/README.md b/members/dockershe/task1/web3-todo-list/README.md new file mode 100644 index 0000000000..550acf3fc4 --- /dev/null +++ b/members/dockershe/task1/web3-todo-list/README.md @@ -0,0 +1,21 @@ +# web3-todo-list +技术栈:React + TypeScript + Vite + +# 开发 + cd web3-todo-list + npm install + npm run dev + +## 一些实现思路 +1. 点击todo项后,如果该项被选中(completed),则为todo-content添加一个completed类样式 + +2. 将handleAdd和handleDelete函数分别传递给AddToDo和ToDoList组件。这样可以让每个组件只关注自己的逻辑,提高了代码的可读性和可维护性。 + +3. 用户在AddToDo组件中输入新的待办事项并点击"Add"按钮时,handleAdd函数会被调用,从而更新App组件中的items状态。同样,当用户在ToDoList组件中点击"Delete"按钮时,handleDelete函数会被调用,从而从items状态中删除对应的待办事项。 + +要将AddToDo组件改造为接受父组件传递的函数,以便在添加新待办事项时通知父组件更新状态 + +4. 要将待办事项列表持久化,您可以使用浏览器的本地存储(localStorage)来实现。在React中,您可以使用useEffect钩子来实现这一点。 + +5. 已完成的项目也需要被存储,我们将每个待办事项表示为一个对象,包含text和completed两个属性。在保存和恢复数据时,我们同时保存和恢复这个完成状态。 +修改了items的类型为TodoItem[],并更新了handleItemClick函数以支持更新待办事项的完成状态 diff --git a/members/dockershe/task1/web3-todo-list/index.html b/members/dockershe/task1/web3-todo-list/index.html new file mode 100644 index 0000000000..223518bd0d --- /dev/null +++ b/members/dockershe/task1/web3-todo-list/index.html @@ -0,0 +1,13 @@ + + + + + + + web3 todo list + + +
+ + + diff --git a/members/dockershe/task1/web3-todo-list/package-lock.json b/members/dockershe/task1/web3-todo-list/package-lock.json new file mode 100644 index 0000000000..9537b2ac11 --- /dev/null +++ b/members/dockershe/task1/web3-todo-list/package-lock.json @@ -0,0 +1,5365 @@ +{ + "name": "web3-todo-list", + "version": "0.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "web3-todo-list", + "version": "0.0.0", + "dependencies": { + "react": "^18.2.0", + "react-dom": "^18.2.0" + }, + "devDependencies": { + "@types/react": "^18.2.66", + "@types/react-dom": "^18.2.22", + "@typescript-eslint/eslint-plugin": "^7.2.0", + "@typescript-eslint/parser": "^7.2.0", + "@vitejs/plugin-react": "^4.2.1", + "eslint": "^8.57.0", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.4.6", + "typescript": "^5.2.2", + "vite": "^5.2.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.24.6.tgz", + "integrity": "sha512-ZJhac6FkEd1yhG2AHOmfcXG4ceoLltoCVJjN5XsWN9BifBQr+cHJbWi0h68HZuSORq+3WtJ2z0hwF2NG1b5kcA==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.24.6", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.24.6.tgz", + "integrity": "sha512-aC2DGhBq5eEdyXWqrDInSqQjO0k8xtPRf5YylULqx8MCd6jBtzqfta/3ETMRpuKIc5hyswfO80ObyA1MvkCcUQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.24.6.tgz", + "integrity": "sha512-qAHSfAdVyFmIvl0VHELib8xar7ONuSHrE2hLnsaWkYNTI68dmi1x8GYDhJjMI/e7XWal9QBlZkwbOnkcw7Z8gQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.6", + "@babel/generator": "^7.24.6", + "@babel/helper-compilation-targets": "^7.24.6", + "@babel/helper-module-transforms": "^7.24.6", + "@babel/helpers": "^7.24.6", + "@babel/parser": "^7.24.6", + "@babel/template": "^7.24.6", + "@babel/traverse": "^7.24.6", + "@babel/types": "^7.24.6", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.24.6.tgz", + "integrity": "sha512-S7m4eNa6YAPJRHmKsLHIDJhNAGNKoWNiWefz1MBbpnt8g9lvMDl1hir4P9bo/57bQEmuwEhnRU/AMWsD0G/Fbg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.6", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.6.tgz", + "integrity": "sha512-VZQ57UsDGlX/5fFA7GkVPplZhHsVc+vuErWgdOiysI9Ksnw0Pbbd6pnPiR/mmJyKHgyIW0c7KT32gmhiF+cirg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.24.6", + "@babel/helper-validator-option": "^7.24.6", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.6.tgz", + "integrity": "sha512-Y50Cg3k0LKLMjxdPjIl40SdJgMB85iXn27Vk/qbHZCFx/o5XO3PSnpi675h1KEmmDb6OFArfd5SCQEQ5Q4H88g==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-function-name/-/helper-function-name-7.24.6.tgz", + "integrity": "sha512-xpeLqeeRkbxhnYimfr2PC+iA0Q7ljX/d1eZ9/inYbmfG2jpl8Lu3DyXvpOAnrS5kxkfOWJjioIMQsaMBXFI05w==", + "dev": true, + "dependencies": { + "@babel/template": "^7.24.6", + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.6.tgz", + "integrity": "sha512-SF/EMrC3OD7dSta1bLJIlrsVxwtd0UpjRJqLno6125epQMJ/kyFmpTT4pbvPbdQHzCHg+biQ7Syo8lnDtbR+uA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.24.6.tgz", + "integrity": "sha512-a26dmxFJBF62rRO9mmpgrfTLsAuyHk4e1hKTUkD/fcMfynt8gvEKwQPQDVxWhca8dHoDck+55DFt42zV0QMw5g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.24.6.tgz", + "integrity": "sha512-Y/YMPm83mV2HJTbX1Qh2sjgjqcacvOlhbzdCCsSlblOKjSYmQqEbO6rUniWQyRo9ncyfjT8hnUjlG06RXDEmcA==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.24.6", + "@babel/helper-module-imports": "^7.24.6", + "@babel/helper-simple-access": "^7.24.6", + "@babel/helper-split-export-declaration": "^7.24.6", + "@babel/helper-validator-identifier": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.6.tgz", + "integrity": "sha512-MZG/JcWfxybKwsA9N9PmtF2lOSFSEMVCpIRrbxccZFLJPrJciJdG/UhSh5W96GEteJI2ARqm5UAHxISwRDLSNg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-simple-access/-/helper-simple-access-7.24.6.tgz", + "integrity": "sha512-nZzcMMD4ZhmB35MOOzQuiGO5RzL6tJbsT37Zx8M5L/i9KSrukGXWTjLe1knIbb/RmxoJE9GON9soq0c0VEMM5g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.6.tgz", + "integrity": "sha512-CvLSkwXGWnYlF9+J3iZUvwgAxKiYzK3BWuo+mLzD/MDGOZDj7Gq8+hqaOkMxmJwmlv0iu86uH5fdADd9Hxkymw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.24.6.tgz", + "integrity": "sha512-WdJjwMEkmBicq5T9fm/cHND3+UlFa2Yj8ALLgmoSQAJZysYbBjw+azChSGPN4DSPLXOcooGRvDwZWMcF/mLO2Q==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.6.tgz", + "integrity": "sha512-4yA7s865JHaqUdRbnaxarZREuPTHrjpDT+pXoAZ1yhyo6uFnIEpS8VMu16siFOHDpZNKYv5BObhsB//ycbICyw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.24.6.tgz", + "integrity": "sha512-Jktc8KkF3zIkePb48QO+IapbXlSapOW9S+ogZZkcO6bABgYAxtZcjZ/O005111YLf+j4M84uEgwYoidDkXbCkQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.24.6.tgz", + "integrity": "sha512-V2PI+NqnyFu1i0GyTd/O/cTpxzQCYioSkUIRmgo7gFEHKKCg5w46+r/A6WeUR1+P3TeQ49dspGPNd/E3n9AnnA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.24.6", + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.24.6.tgz", + "integrity": "sha512-2YnuOp4HAk2BsBrJJvYCbItHx0zWscI1C3zgWkz+wDyD9I7GIVrfnLyrR4Y1VR+7p+chAEcrgRQYZAGIKMV7vQ==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.6", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.24.6.tgz", + "integrity": "sha512-eNZXdfU35nJC2h24RznROuOpO94h6x8sg9ju0tT9biNtLZ2vuP8SduLqqV+/8+cebSLV9SJEAN5Z3zQbJG/M+Q==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.6.tgz", + "integrity": "sha512-FfZfHXtQ5jYPQsCRyLpOv2GeLIIJhs8aydpNh39vRDjhD411XcfWDni5i7OjP/Rs8GAtTn7sWFFELJSHqkIxYg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.6.tgz", + "integrity": "sha512-BQTBCXmFRreU3oTUXcGKuPOfXAGb1liNY4AvvFKsOBAJ89RKcTsIrSsnMYkj59fNa66OFKnSa4AJZfy5Y4B9WA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.24.6.tgz", + "integrity": "sha512-3vgazJlLwNXi9jhrR1ef8qiB65L1RK90+lEQwv4OxveHnqC3BfmnHdgySwRLzf6akhlOYenT+b7AfWq+a//AHw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.6", + "@babel/parser": "^7.24.6", + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.24.6.tgz", + "integrity": "sha512-OsNjaJwT9Zn8ozxcfoBc+RaHdj3gFmCmYoQLUII1o6ZrUwku0BMg80FoOTPx+Gi6XhcQxAYE4xyjPTo4SxEQqw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.6", + "@babel/generator": "^7.24.6", + "@babel/helper-environment-visitor": "^7.24.6", + "@babel/helper-function-name": "^7.24.6", + "@babel/helper-hoist-variables": "^7.24.6", + "@babel/helper-split-export-declaration": "^7.24.6", + "@babel/parser": "^7.24.6", + "@babel/types": "^7.24.6", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.24.6.tgz", + "integrity": "sha512-WaMsgi6Q8zMgMth93GvWPXkhAIEobfsIkLTacoVZoK1J0CevIPGYY2Vo5YvJGqyHqXM6P4ppOYGsIRU8MM9pFQ==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.24.6", + "@babel/helper-validator-identifier": "^7.24.6", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", + "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.20.2.tgz", + "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", + "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.20.2.tgz", + "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", + "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", + "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", + "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", + "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", + "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", + "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", + "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", + "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", + "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", + "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", + "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", + "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", + "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", + "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", + "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", + "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", + "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", + "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", + "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmmirror.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.10.1", + "resolved": "https://registry.npmmirror.com/@eslint-community/regexpp/-/regexpp-4.10.1.tgz", + "integrity": "sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmmirror.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmmirror.com/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmmirror.com/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmmirror.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "dev": true + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.18.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz", + "integrity": "sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.18.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz", + "integrity": "sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.18.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz", + "integrity": "sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.18.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz", + "integrity": "sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.18.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz", + "integrity": "sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.18.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz", + "integrity": "sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz", + "integrity": "sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.18.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz", + "integrity": "sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz", + "integrity": "sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz", + "integrity": "sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz", + "integrity": "sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz", + "integrity": "sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.18.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz", + "integrity": "sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.18.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz", + "integrity": "sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.18.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz", + "integrity": "sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.18.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz", + "integrity": "sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmmirror.com/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmmirror.com/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmmirror.com/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.6", + "resolved": "https://registry.npmmirror.com/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "node_modules/@types/prop-types": { + "version": "15.7.12", + "resolved": "https://registry.npmmirror.com/@types/prop-types/-/prop-types-15.7.12.tgz", + "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", + "dev": true + }, + "node_modules/@types/react": { + "version": "18.3.3", + "resolved": "https://registry.npmmirror.com/@types/react/-/react-18.3.3.tgz", + "integrity": "sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.3.0", + "resolved": "https://registry.npmmirror.com/@types/react-dom/-/react-dom-18.3.0.tgz", + "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "7.12.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.12.0.tgz", + "integrity": "sha512-7F91fcbuDf/d3S8o21+r3ZncGIke/+eWk0EpO21LXhDfLahriZF9CGj4fbAetEjlaBdjdSm9a6VeXbpbT6Z40Q==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "7.12.0", + "@typescript-eslint/type-utils": "7.12.0", + "@typescript-eslint/utils": "7.12.0", + "@typescript-eslint/visitor-keys": "7.12.0", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^7.0.0", + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "7.12.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/parser/-/parser-7.12.0.tgz", + "integrity": "sha512-dm/J2UDY3oV3TKius2OUZIFHsomQmpHtsV0FTh1WO8EKgHLQ1QCADUqscPgTpU+ih1e21FQSRjXckHn3txn6kQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "7.12.0", + "@typescript-eslint/types": "7.12.0", + "@typescript-eslint/typescript-estree": "7.12.0", + "@typescript-eslint/visitor-keys": "7.12.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "7.12.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/scope-manager/-/scope-manager-7.12.0.tgz", + "integrity": "sha512-itF1pTnN6F3unPak+kutH9raIkL3lhH1YRPGgt7QQOh43DQKVJXmWkpb+vpc/TiDHs6RSd9CTbDsc/Y+Ygq7kg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.12.0", + "@typescript-eslint/visitor-keys": "7.12.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "7.12.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/type-utils/-/type-utils-7.12.0.tgz", + "integrity": "sha512-lib96tyRtMhLxwauDWUp/uW3FMhLA6D0rJ8T7HmH7x23Gk1Gwwu8UZ94NMXBvOELn6flSPiBrCKlehkiXyaqwA==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "7.12.0", + "@typescript-eslint/utils": "7.12.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "7.12.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/types/-/types-7.12.0.tgz", + "integrity": "sha512-o+0Te6eWp2ppKY3mLCU+YA9pVJxhUJE15FV7kxuD9jgwIAa+w/ycGJBMrYDTpVGUM/tgpa9SeMOugSabWFq7bg==", + "dev": true, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "7.12.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.12.0.tgz", + "integrity": "sha512-5bwqLsWBULv1h6pn7cMW5dXX/Y2amRqLaKqsASVwbBHMZSnHqE/HN4vT4fE0aFsiwxYvr98kqOWh1a8ZKXalCQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.12.0", + "@typescript-eslint/visitor-keys": "7.12.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "7.12.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/utils/-/utils-7.12.0.tgz", + "integrity": "sha512-Y6hhwxwDx41HNpjuYswYp6gDbkiZ8Hin9Bf5aJQn1bpTs3afYY4GX+MPYxma8jtoIV2GRwTM/UJm/2uGCVv+DQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "7.12.0", + "@typescript-eslint/types": "7.12.0", + "@typescript-eslint/typescript-estree": "7.12.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "7.12.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.12.0.tgz", + "integrity": "sha512-uZk7DevrQLL3vSnfFl5bj4sL75qC9D6EdjemIdbtkuUmIheWpuiiylSY01JxJE7+zGrOWDZrp1WxOuDntvKrHQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.12.0", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-react/-/plugin-react-4.3.0.tgz", + "integrity": "sha512-KcEbMsn4Dpk+LIbHMj7gDPRKaTMStxxWRkRmxsg/jVdFdJCZWt1SchZcf0M4t8lIKdwwMsEyzhrcOXRrDPtOBw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.24.5", + "@babel/plugin-transform-react-jsx-self": "^7.24.5", + "@babel/plugin-transform-react-jsx-source": "^7.24.1", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.14.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0" + } + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.23.0", + "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001627", + "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001627.tgz", + "integrity": "sha512-4zgNiB8nTyV/tHhwZrFs88ryjls/lHiqFhrxCW4qSTeuRByBVnPYpDInchOIySWknznucaf31Z4KYqjfbrecVw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.5", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.788", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.788.tgz", + "integrity": "sha512-ubp5+Ev/VV8KuRoWnfP2QF2Bg+O2ZFdb49DiiNbz2VmgkIqrnyYaqIOqj8A6K/3p1xV0QcU5hBQ1+BmB6ot1OA==", + "dev": true + }, + "node_modules/esbuild": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.20.2.tgz", + "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.20.2", + "@esbuild/android-arm": "0.20.2", + "@esbuild/android-arm64": "0.20.2", + "@esbuild/android-x64": "0.20.2", + "@esbuild/darwin-arm64": "0.20.2", + "@esbuild/darwin-x64": "0.20.2", + "@esbuild/freebsd-arm64": "0.20.2", + "@esbuild/freebsd-x64": "0.20.2", + "@esbuild/linux-arm": "0.20.2", + "@esbuild/linux-arm64": "0.20.2", + "@esbuild/linux-ia32": "0.20.2", + "@esbuild/linux-loong64": "0.20.2", + "@esbuild/linux-mips64el": "0.20.2", + "@esbuild/linux-ppc64": "0.20.2", + "@esbuild/linux-riscv64": "0.20.2", + "@esbuild/linux-s390x": "0.20.2", + "@esbuild/linux-x64": "0.20.2", + "@esbuild/netbsd-x64": "0.20.2", + "@esbuild/openbsd-x64": "0.20.2", + "@esbuild/sunos-x64": "0.20.2", + "@esbuild/win32-arm64": "0.20.2", + "@esbuild/win32-ia32": "0.20.2", + "@esbuild/win32-x64": "0.20.2" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmmirror.com/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.2", + "resolved": "https://registry.npmmirror.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react-refresh": { + "version": "0.4.7", + "resolved": "https://registry.npmmirror.com/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.7.tgz", + "integrity": "sha512-yrj+KInFmwuQS2UQcg1SF83ha1tuHC1jMQbRNyuWtlEzzKRDgAl7L4Yp4NlDUZTZNlWvHEzOtJhMi40R7JxcSw==", + "dev": true, + "peerDependencies": { + "eslint": ">=7" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmmirror.com/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmmirror.com/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmmirror.com/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmmirror.com/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/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.", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmmirror.com/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmmirror.com/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.7", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmmirror.com/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "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.npmmirror.com/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.4.38", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "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" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmmirror.com/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmmirror.com/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-refresh": { + "version": "0.14.2", + "resolved": "https://registry.npmmirror.com/react-refresh/-/react-refresh-0.14.2.tgz", + "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "4.18.0", + "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.18.0.tgz", + "integrity": "sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.18.0", + "@rollup/rollup-android-arm64": "4.18.0", + "@rollup/rollup-darwin-arm64": "4.18.0", + "@rollup/rollup-darwin-x64": "4.18.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.18.0", + "@rollup/rollup-linux-arm-musleabihf": "4.18.0", + "@rollup/rollup-linux-arm64-gnu": "4.18.0", + "@rollup/rollup-linux-arm64-musl": "4.18.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.18.0", + "@rollup/rollup-linux-riscv64-gnu": "4.18.0", + "@rollup/rollup-linux-s390x-gnu": "4.18.0", + "@rollup/rollup-linux-x64-gnu": "4.18.0", + "@rollup/rollup-linux-x64-musl": "4.18.0", + "@rollup/rollup-win32-arm64-msvc": "4.18.0", + "@rollup/rollup-win32-ia32-msvc": "4.18.0", + "@rollup/rollup-win32-x64-msvc": "4.18.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmmirror.com/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-api-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "dev": true, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.4.5", + "resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.16", + "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", + "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/vite": { + "version": "5.2.12", + "resolved": "https://registry.npmmirror.com/vite/-/vite-5.2.12.tgz", + "integrity": "sha512-/gC8GxzxMK5ntBwb48pR32GGhENnjtY30G4A0jemunsBkiEZFw60s8InGpN8gkhHEkjnRK1aSAxeQgwvFhUHAA==", + "dev": true, + "dependencies": { + "esbuild": "^0.20.1", + "postcss": "^8.4.38", + "rollup": "^4.13.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmmirror.com/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + }, + "dependencies": { + "@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "@babel/code-frame": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.24.6.tgz", + "integrity": "sha512-ZJhac6FkEd1yhG2AHOmfcXG4ceoLltoCVJjN5XsWN9BifBQr+cHJbWi0h68HZuSORq+3WtJ2z0hwF2NG1b5kcA==", + "dev": true, + "requires": { + "@babel/highlight": "^7.24.6", + "picocolors": "^1.0.0" + } + }, + "@babel/compat-data": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.24.6.tgz", + "integrity": "sha512-aC2DGhBq5eEdyXWqrDInSqQjO0k8xtPRf5YylULqx8MCd6jBtzqfta/3ETMRpuKIc5hyswfO80ObyA1MvkCcUQ==", + "dev": true + }, + "@babel/core": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.24.6.tgz", + "integrity": "sha512-qAHSfAdVyFmIvl0VHELib8xar7ONuSHrE2hLnsaWkYNTI68dmi1x8GYDhJjMI/e7XWal9QBlZkwbOnkcw7Z8gQ==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.6", + "@babel/generator": "^7.24.6", + "@babel/helper-compilation-targets": "^7.24.6", + "@babel/helper-module-transforms": "^7.24.6", + "@babel/helpers": "^7.24.6", + "@babel/parser": "^7.24.6", + "@babel/template": "^7.24.6", + "@babel/traverse": "^7.24.6", + "@babel/types": "^7.24.6", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.24.6.tgz", + "integrity": "sha512-S7m4eNa6YAPJRHmKsLHIDJhNAGNKoWNiWefz1MBbpnt8g9lvMDl1hir4P9bo/57bQEmuwEhnRU/AMWsD0G/Fbg==", + "dev": true, + "requires": { + "@babel/types": "^7.24.6", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.6.tgz", + "integrity": "sha512-VZQ57UsDGlX/5fFA7GkVPplZhHsVc+vuErWgdOiysI9Ksnw0Pbbd6pnPiR/mmJyKHgyIW0c7KT32gmhiF+cirg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.24.6", + "@babel/helper-validator-option": "^7.24.6", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "@babel/helper-environment-visitor": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.6.tgz", + "integrity": "sha512-Y50Cg3k0LKLMjxdPjIl40SdJgMB85iXn27Vk/qbHZCFx/o5XO3PSnpi675h1KEmmDb6OFArfd5SCQEQ5Q4H88g==", + "dev": true + }, + "@babel/helper-function-name": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-function-name/-/helper-function-name-7.24.6.tgz", + "integrity": "sha512-xpeLqeeRkbxhnYimfr2PC+iA0Q7ljX/d1eZ9/inYbmfG2jpl8Lu3DyXvpOAnrS5kxkfOWJjioIMQsaMBXFI05w==", + "dev": true, + "requires": { + "@babel/template": "^7.24.6", + "@babel/types": "^7.24.6" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.6.tgz", + "integrity": "sha512-SF/EMrC3OD7dSta1bLJIlrsVxwtd0UpjRJqLno6125epQMJ/kyFmpTT4pbvPbdQHzCHg+biQ7Syo8lnDtbR+uA==", + "dev": true, + "requires": { + "@babel/types": "^7.24.6" + } + }, + "@babel/helper-module-imports": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.24.6.tgz", + "integrity": "sha512-a26dmxFJBF62rRO9mmpgrfTLsAuyHk4e1hKTUkD/fcMfynt8gvEKwQPQDVxWhca8dHoDck+55DFt42zV0QMw5g==", + "dev": true, + "requires": { + "@babel/types": "^7.24.6" + } + }, + "@babel/helper-module-transforms": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.24.6.tgz", + "integrity": "sha512-Y/YMPm83mV2HJTbX1Qh2sjgjqcacvOlhbzdCCsSlblOKjSYmQqEbO6rUniWQyRo9ncyfjT8hnUjlG06RXDEmcA==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.24.6", + "@babel/helper-module-imports": "^7.24.6", + "@babel/helper-simple-access": "^7.24.6", + "@babel/helper-split-export-declaration": "^7.24.6", + "@babel/helper-validator-identifier": "^7.24.6" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.6.tgz", + "integrity": "sha512-MZG/JcWfxybKwsA9N9PmtF2lOSFSEMVCpIRrbxccZFLJPrJciJdG/UhSh5W96GEteJI2ARqm5UAHxISwRDLSNg==", + "dev": true + }, + "@babel/helper-simple-access": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-simple-access/-/helper-simple-access-7.24.6.tgz", + "integrity": "sha512-nZzcMMD4ZhmB35MOOzQuiGO5RzL6tJbsT37Zx8M5L/i9KSrukGXWTjLe1knIbb/RmxoJE9GON9soq0c0VEMM5g==", + "dev": true, + "requires": { + "@babel/types": "^7.24.6" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.6.tgz", + "integrity": "sha512-CvLSkwXGWnYlF9+J3iZUvwgAxKiYzK3BWuo+mLzD/MDGOZDj7Gq8+hqaOkMxmJwmlv0iu86uH5fdADd9Hxkymw==", + "dev": true, + "requires": { + "@babel/types": "^7.24.6" + } + }, + "@babel/helper-string-parser": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.24.6.tgz", + "integrity": "sha512-WdJjwMEkmBicq5T9fm/cHND3+UlFa2Yj8ALLgmoSQAJZysYbBjw+azChSGPN4DSPLXOcooGRvDwZWMcF/mLO2Q==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.6.tgz", + "integrity": "sha512-4yA7s865JHaqUdRbnaxarZREuPTHrjpDT+pXoAZ1yhyo6uFnIEpS8VMu16siFOHDpZNKYv5BObhsB//ycbICyw==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.24.6.tgz", + "integrity": "sha512-Jktc8KkF3zIkePb48QO+IapbXlSapOW9S+ogZZkcO6bABgYAxtZcjZ/O005111YLf+j4M84uEgwYoidDkXbCkQ==", + "dev": true + }, + "@babel/helpers": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.24.6.tgz", + "integrity": "sha512-V2PI+NqnyFu1i0GyTd/O/cTpxzQCYioSkUIRmgo7gFEHKKCg5w46+r/A6WeUR1+P3TeQ49dspGPNd/E3n9AnnA==", + "dev": true, + "requires": { + "@babel/template": "^7.24.6", + "@babel/types": "^7.24.6" + } + }, + "@babel/highlight": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.24.6.tgz", + "integrity": "sha512-2YnuOp4HAk2BsBrJJvYCbItHx0zWscI1C3zgWkz+wDyD9I7GIVrfnLyrR4Y1VR+7p+chAEcrgRQYZAGIKMV7vQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.24.6", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + } + }, + "@babel/parser": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.24.6.tgz", + "integrity": "sha512-eNZXdfU35nJC2h24RznROuOpO94h6x8sg9ju0tT9biNtLZ2vuP8SduLqqV+/8+cebSLV9SJEAN5Z3zQbJG/M+Q==", + "dev": true + }, + "@babel/plugin-transform-react-jsx-self": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.6.tgz", + "integrity": "sha512-FfZfHXtQ5jYPQsCRyLpOv2GeLIIJhs8aydpNh39vRDjhD411XcfWDni5i7OjP/Rs8GAtTn7sWFFELJSHqkIxYg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.6" + } + }, + "@babel/plugin-transform-react-jsx-source": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.6.tgz", + "integrity": "sha512-BQTBCXmFRreU3oTUXcGKuPOfXAGb1liNY4AvvFKsOBAJ89RKcTsIrSsnMYkj59fNa66OFKnSa4AJZfy5Y4B9WA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.6" + } + }, + "@babel/template": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.24.6.tgz", + "integrity": "sha512-3vgazJlLwNXi9jhrR1ef8qiB65L1RK90+lEQwv4OxveHnqC3BfmnHdgySwRLzf6akhlOYenT+b7AfWq+a//AHw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.24.6", + "@babel/parser": "^7.24.6", + "@babel/types": "^7.24.6" + } + }, + "@babel/traverse": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.24.6.tgz", + "integrity": "sha512-OsNjaJwT9Zn8ozxcfoBc+RaHdj3gFmCmYoQLUII1o6ZrUwku0BMg80FoOTPx+Gi6XhcQxAYE4xyjPTo4SxEQqw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.24.6", + "@babel/generator": "^7.24.6", + "@babel/helper-environment-visitor": "^7.24.6", + "@babel/helper-function-name": "^7.24.6", + "@babel/helper-hoist-variables": "^7.24.6", + "@babel/helper-split-export-declaration": "^7.24.6", + "@babel/parser": "^7.24.6", + "@babel/types": "^7.24.6", + "debug": "^4.3.1", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.24.6.tgz", + "integrity": "sha512-WaMsgi6Q8zMgMth93GvWPXkhAIEobfsIkLTacoVZoK1J0CevIPGYY2Vo5YvJGqyHqXM6P4ppOYGsIRU8MM9pFQ==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.24.6", + "@babel/helper-validator-identifier": "^7.24.6", + "to-fast-properties": "^2.0.0" + } + }, + "@esbuild/aix-ppc64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", + "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.20.2.tgz", + "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", + "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", + "dev": true, + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.20.2.tgz", + "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", + "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", + "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", + "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", + "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", + "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", + "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", + "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", + "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", + "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", + "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", + "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", + "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", + "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", + "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", + "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", + "dev": true, + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", + "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", + "dev": true, + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", + "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", + "dev": true, + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", + "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", + "dev": true, + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", + "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", + "dev": true, + "optional": true + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmmirror.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.10.1", + "resolved": "https://registry.npmmirror.com/@eslint-community/regexpp/-/regexpp-4.10.1.tgz", + "integrity": "sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmmirror.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "globals": { + "version": "13.24.0", + "resolved": "https://registry.npmmirror.com/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmmirror.com/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmmirror.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "dev": true + }, + "@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@rollup/rollup-android-arm-eabi": { + "version": "4.18.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz", + "integrity": "sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-android-arm64": { + "version": "4.18.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz", + "integrity": "sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-darwin-arm64": { + "version": "4.18.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz", + "integrity": "sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==", + "dev": true, + "optional": true + }, + "@rollup/rollup-darwin-x64": { + "version": "4.18.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz", + "integrity": "sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.18.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz", + "integrity": "sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm-musleabihf": { + "version": "4.18.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz", + "integrity": "sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm64-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz", + "integrity": "sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm64-musl": { + "version": "4.18.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz", + "integrity": "sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz", + "integrity": "sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-riscv64-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz", + "integrity": "sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-s390x-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz", + "integrity": "sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-x64-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz", + "integrity": "sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-x64-musl": { + "version": "4.18.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz", + "integrity": "sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-arm64-msvc": { + "version": "4.18.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz", + "integrity": "sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-ia32-msvc": { + "version": "4.18.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz", + "integrity": "sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-x64-msvc": { + "version": "4.18.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz", + "integrity": "sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==", + "dev": true, + "optional": true + }, + "@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmmirror.com/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "requires": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmmirror.com/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmmirror.com/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.20.6", + "resolved": "https://registry.npmmirror.com/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "dev": true, + "requires": { + "@babel/types": "^7.20.7" + } + }, + "@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "@types/prop-types": { + "version": "15.7.12", + "resolved": "https://registry.npmmirror.com/@types/prop-types/-/prop-types-15.7.12.tgz", + "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", + "dev": true + }, + "@types/react": { + "version": "18.3.3", + "resolved": "https://registry.npmmirror.com/@types/react/-/react-18.3.3.tgz", + "integrity": "sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==", + "dev": true, + "requires": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-dom": { + "version": "18.3.0", + "resolved": "https://registry.npmmirror.com/@types/react-dom/-/react-dom-18.3.0.tgz", + "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==", + "dev": true, + "requires": { + "@types/react": "*" + } + }, + "@typescript-eslint/eslint-plugin": { + "version": "7.12.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.12.0.tgz", + "integrity": "sha512-7F91fcbuDf/d3S8o21+r3ZncGIke/+eWk0EpO21LXhDfLahriZF9CGj4fbAetEjlaBdjdSm9a6VeXbpbT6Z40Q==", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "7.12.0", + "@typescript-eslint/type-utils": "7.12.0", + "@typescript-eslint/utils": "7.12.0", + "@typescript-eslint/visitor-keys": "7.12.0", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^1.3.0" + } + }, + "@typescript-eslint/parser": { + "version": "7.12.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/parser/-/parser-7.12.0.tgz", + "integrity": "sha512-dm/J2UDY3oV3TKius2OUZIFHsomQmpHtsV0FTh1WO8EKgHLQ1QCADUqscPgTpU+ih1e21FQSRjXckHn3txn6kQ==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "7.12.0", + "@typescript-eslint/types": "7.12.0", + "@typescript-eslint/typescript-estree": "7.12.0", + "@typescript-eslint/visitor-keys": "7.12.0", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "7.12.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/scope-manager/-/scope-manager-7.12.0.tgz", + "integrity": "sha512-itF1pTnN6F3unPak+kutH9raIkL3lhH1YRPGgt7QQOh43DQKVJXmWkpb+vpc/TiDHs6RSd9CTbDsc/Y+Ygq7kg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "7.12.0", + "@typescript-eslint/visitor-keys": "7.12.0" + } + }, + "@typescript-eslint/type-utils": { + "version": "7.12.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/type-utils/-/type-utils-7.12.0.tgz", + "integrity": "sha512-lib96tyRtMhLxwauDWUp/uW3FMhLA6D0rJ8T7HmH7x23Gk1Gwwu8UZ94NMXBvOELn6flSPiBrCKlehkiXyaqwA==", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "7.12.0", + "@typescript-eslint/utils": "7.12.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" + } + }, + "@typescript-eslint/types": { + "version": "7.12.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/types/-/types-7.12.0.tgz", + "integrity": "sha512-o+0Te6eWp2ppKY3mLCU+YA9pVJxhUJE15FV7kxuD9jgwIAa+w/ycGJBMrYDTpVGUM/tgpa9SeMOugSabWFq7bg==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "7.12.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.12.0.tgz", + "integrity": "sha512-5bwqLsWBULv1h6pn7cMW5dXX/Y2amRqLaKqsASVwbBHMZSnHqE/HN4vT4fE0aFsiwxYvr98kqOWh1a8ZKXalCQ==", + "dev": true, + "requires": { + "@typescript-eslint/types": "7.12.0", + "@typescript-eslint/visitor-keys": "7.12.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + } + }, + "@typescript-eslint/utils": { + "version": "7.12.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/utils/-/utils-7.12.0.tgz", + "integrity": "sha512-Y6hhwxwDx41HNpjuYswYp6gDbkiZ8Hin9Bf5aJQn1bpTs3afYY4GX+MPYxma8jtoIV2GRwTM/UJm/2uGCVv+DQ==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "7.12.0", + "@typescript-eslint/types": "7.12.0", + "@typescript-eslint/typescript-estree": "7.12.0" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "7.12.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.12.0.tgz", + "integrity": "sha512-uZk7DevrQLL3vSnfFl5bj4sL75qC9D6EdjemIdbtkuUmIheWpuiiylSY01JxJE7+zGrOWDZrp1WxOuDntvKrHQ==", + "dev": true, + "requires": { + "@typescript-eslint/types": "7.12.0", + "eslint-visitor-keys": "^3.4.3" + } + }, + "@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "@vitejs/plugin-react": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-react/-/plugin-react-4.3.0.tgz", + "integrity": "sha512-KcEbMsn4Dpk+LIbHMj7gDPRKaTMStxxWRkRmxsg/jVdFdJCZWt1SchZcf0M4t8lIKdwwMsEyzhrcOXRrDPtOBw==", + "dev": true, + "requires": { + "@babel/core": "^7.24.5", + "@babel/plugin-transform-react-jsx-self": "^7.24.5", + "@babel/plugin-transform-react-jsx-source": "^7.24.1", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.14.2" + } + }, + "acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "braces": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "requires": { + "fill-range": "^7.1.1" + } + }, + "browserslist": { + "version": "4.23.0", + "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001627", + "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001627.tgz", + "integrity": "sha512-4zgNiB8nTyV/tHhwZrFs88ryjls/lHiqFhrxCW4qSTeuRByBVnPYpDInchOIySWknznucaf31Z4KYqjfbrecVw==", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true + }, + "debug": { + "version": "4.3.5", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "electron-to-chromium": { + "version": "1.4.788", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.788.tgz", + "integrity": "sha512-ubp5+Ev/VV8KuRoWnfP2QF2Bg+O2ZFdb49DiiNbz2VmgkIqrnyYaqIOqj8A6K/3p1xV0QcU5hBQ1+BmB6ot1OA==", + "dev": true + }, + "esbuild": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.20.2.tgz", + "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", + "dev": true, + "requires": { + "@esbuild/aix-ppc64": "0.20.2", + "@esbuild/android-arm": "0.20.2", + "@esbuild/android-arm64": "0.20.2", + "@esbuild/android-x64": "0.20.2", + "@esbuild/darwin-arm64": "0.20.2", + "@esbuild/darwin-x64": "0.20.2", + "@esbuild/freebsd-arm64": "0.20.2", + "@esbuild/freebsd-x64": "0.20.2", + "@esbuild/linux-arm": "0.20.2", + "@esbuild/linux-arm64": "0.20.2", + "@esbuild/linux-ia32": "0.20.2", + "@esbuild/linux-loong64": "0.20.2", + "@esbuild/linux-mips64el": "0.20.2", + "@esbuild/linux-ppc64": "0.20.2", + "@esbuild/linux-riscv64": "0.20.2", + "@esbuild/linux-s390x": "0.20.2", + "@esbuild/linux-x64": "0.20.2", + "@esbuild/netbsd-x64": "0.20.2", + "@esbuild/openbsd-x64": "0.20.2", + "@esbuild/sunos-x64": "0.20.2", + "@esbuild/win32-arm64": "0.20.2", + "@esbuild/win32-ia32": "0.20.2", + "@esbuild/win32-x64": "0.20.2" + } + }, + "escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmmirror.com/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "globals": { + "version": "13.24.0", + "resolved": "https://registry.npmmirror.com/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "eslint-plugin-react-hooks": { + "version": "4.6.2", + "resolved": "https://registry.npmmirror.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", + "dev": true, + "requires": {} + }, + "eslint-plugin-react-refresh": { + "version": "0.4.7", + "resolved": "https://registry.npmmirror.com/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.7.tgz", + "integrity": "sha512-yrj+KInFmwuQS2UQcg1SF83ha1tuHC1jMQbRNyuWtlEzzKRDgAl7L4Yp4NlDUZTZNlWvHEzOtJhMi40R7JxcSw==", + "dev": true, + "requires": {} + }, + "eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true + }, + "espree": { + "version": "9.6.1", + "resolved": "https://registry.npmmirror.com/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "requires": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "requires": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "optional": true + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmmirror.com/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmmirror.com/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmmirror.com/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "requires": { + "json-buffer": "3.0.1" + } + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmmirror.com/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.7", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", + "dev": true, + "requires": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmmirror.com/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "requires": { + "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" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "postcss": { + "version": "8.4.38", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "dev": true, + "requires": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.2.0" + } + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "react": { + "version": "18.3.1", + "resolved": "https://registry.npmmirror.com/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmmirror.com/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "requires": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + } + }, + "react-refresh": { + "version": "0.14.2", + "resolved": "https://registry.npmmirror.com/react-refresh/-/react-refresh-0.14.2.tgz", + "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "rollup": { + "version": "4.18.0", + "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.18.0.tgz", + "integrity": "sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==", + "dev": true, + "requires": { + "@rollup/rollup-android-arm-eabi": "4.18.0", + "@rollup/rollup-android-arm64": "4.18.0", + "@rollup/rollup-darwin-arm64": "4.18.0", + "@rollup/rollup-darwin-x64": "4.18.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.18.0", + "@rollup/rollup-linux-arm-musleabihf": "4.18.0", + "@rollup/rollup-linux-arm64-gnu": "4.18.0", + "@rollup/rollup-linux-arm64-musl": "4.18.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.18.0", + "@rollup/rollup-linux-riscv64-gnu": "4.18.0", + "@rollup/rollup-linux-s390x-gnu": "4.18.0", + "@rollup/rollup-linux-x64-gnu": "4.18.0", + "@rollup/rollup-linux-x64-musl": "4.18.0", + "@rollup/rollup-win32-arm64-msvc": "4.18.0", + "@rollup/rollup-win32-ia32-msvc": "4.18.0", + "@rollup/rollup-win32-x64-msvc": "4.18.0", + "@types/estree": "1.0.5", + "fsevents": "~2.3.2" + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmmirror.com/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "semver": { + "version": "7.6.2", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "ts-api-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "dev": true, + "requires": {} + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + }, + "typescript": { + "version": "5.4.5", + "resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", + "dev": true + }, + "update-browserslist-db": { + "version": "1.0.16", + "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", + "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==", + "dev": true, + "requires": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "vite": { + "version": "5.2.12", + "resolved": "https://registry.npmmirror.com/vite/-/vite-5.2.12.tgz", + "integrity": "sha512-/gC8GxzxMK5ntBwb48pR32GGhENnjtY30G4A0jemunsBkiEZFw60s8InGpN8gkhHEkjnRK1aSAxeQgwvFhUHAA==", + "dev": true, + "requires": { + "esbuild": "^0.20.1", + "fsevents": "~2.3.3", + "postcss": "^8.4.38", + "rollup": "^4.13.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmmirror.com/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + } + } +} diff --git a/members/dockershe/task1/web3-todo-list/package.json b/members/dockershe/task1/web3-todo-list/package.json new file mode 100644 index 0000000000..693cdd37a0 --- /dev/null +++ b/members/dockershe/task1/web3-todo-list/package.json @@ -0,0 +1,28 @@ +{ + "name": "web3-todo-list", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", + "preview": "vite preview" + }, + "dependencies": { + "react": "^18.2.0", + "react-dom": "^18.2.0" + }, + "devDependencies": { + "@types/react": "^18.2.66", + "@types/react-dom": "^18.2.22", + "@typescript-eslint/eslint-plugin": "^7.2.0", + "@typescript-eslint/parser": "^7.2.0", + "@vitejs/plugin-react": "^4.2.1", + "eslint": "^8.57.0", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.4.6", + "typescript": "^5.2.2", + "vite": "^5.2.0" + } +} diff --git a/members/dockershe/task1/web3-todo-list/public/delete.svg b/members/dockershe/task1/web3-todo-list/public/delete.svg new file mode 100644 index 0000000000..29d10021d5 --- /dev/null +++ b/members/dockershe/task1/web3-todo-list/public/delete.svg @@ -0,0 +1,3 @@ + + + diff --git a/members/dockershe/task1/web3-todo-list/public/finish.svg b/members/dockershe/task1/web3-todo-list/public/finish.svg new file mode 100644 index 0000000000..d7146e9485 --- /dev/null +++ b/members/dockershe/task1/web3-todo-list/public/finish.svg @@ -0,0 +1,3 @@ + + + diff --git a/members/dockershe/task1/web3-todo-list/public/todo.svg b/members/dockershe/task1/web3-todo-list/public/todo.svg new file mode 100644 index 0000000000..0cd720c30d --- /dev/null +++ b/members/dockershe/task1/web3-todo-list/public/todo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/members/dockershe/task1/web3-todo-list/src/App.css b/members/dockershe/task1/web3-todo-list/src/App.css new file mode 100644 index 0000000000..b9d355df2a --- /dev/null +++ b/members/dockershe/task1/web3-todo-list/src/App.css @@ -0,0 +1,42 @@ +#root { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +.logo { + height: 6em; + padding: 1.5em; + will-change: filter; + transition: filter 300ms; +} +.logo:hover { + filter: drop-shadow(0 0 2em #646cffaa); +} +.logo.react:hover { + filter: drop-shadow(0 0 2em #61dafbaa); +} + +@keyframes logo-spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} + +@media (prefers-reduced-motion: no-preference) { + a:nth-of-type(2) .logo { + animation: logo-spin infinite 20s linear; + } +} + +.card { + padding: 2em; +} + +.read-the-docs { + color: #888; +} diff --git a/members/dockershe/task1/web3-todo-list/src/App.tsx b/members/dockershe/task1/web3-todo-list/src/App.tsx new file mode 100644 index 0000000000..d85802efaa --- /dev/null +++ b/members/dockershe/task1/web3-todo-list/src/App.tsx @@ -0,0 +1,69 @@ +import { useState, useEffect } from 'react'; + +import viteLogo from '/todo.svg' +import './App.css' + +import AddToDo from './pages/AddToDo'; +import ToDoList from './pages//ToDoList'; + + + +function App() { + const [items, setItems] = useState<{ text: string; completed: boolean }[]>([]); + + // 在组件挂载时从本地存储中恢复待办事项 + useEffect(() => { + const storedItems = localStorage.getItem('todoItems'); + if (storedItems) { + setItems(JSON.parse(storedItems)); + } + }, []); + + useEffect(() => { + const timeoutId = setTimeout(() => { + localStorage.setItem('todoItems', JSON.stringify(items)); + }, 1000); // 增加一个延迟以确保在一次更新中只保存一次到本地存储 + + console.log('App items:', items); + + return () => clearTimeout(timeoutId); // 在组件卸载或下一次更新前清除延迟保存的操作 + }, [items]); + + + const handleAdd = (newTodo: { text: string; completed: boolean }) => { + setItems([...items, newTodo]); + }; + + const handleDelete = (index: number) => { + const newItems = items.slice(); // 创建一个新的项目数组 + newItems.splice(index, 1); // 从新的项目数组中删除指定索引的项目 + setItems(newItems); // 更新待办事项列表 + + // 更新本地存储中的待办事项列表 + localStorage.setItem('todoItems', JSON.stringify(newItems)); + }; + + return ( + <> +
+ + Vite logo + +
+ {/*

Vite + React

*/} +
+ + +
+ +
+ + +
+

+

+ + ) +} + +export default App diff --git a/members/dockershe/task1/web3-todo-list/src/assets/react.svg b/members/dockershe/task1/web3-todo-list/src/assets/react.svg new file mode 100644 index 0000000000..6c87de9bb3 --- /dev/null +++ b/members/dockershe/task1/web3-todo-list/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/members/dockershe/task1/web3-todo-list/src/index.css b/members/dockershe/task1/web3-todo-list/src/index.css new file mode 100644 index 0000000000..c798e280b2 --- /dev/null +++ b/members/dockershe/task1/web3-todo-list/src/index.css @@ -0,0 +1,68 @@ +/* :root { + font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} */ diff --git a/members/dockershe/task1/web3-todo-list/src/main.tsx b/members/dockershe/task1/web3-todo-list/src/main.tsx new file mode 100644 index 0000000000..b99d995a83 --- /dev/null +++ b/members/dockershe/task1/web3-todo-list/src/main.tsx @@ -0,0 +1,12 @@ +import React from 'react' +import ReactDOM from 'react-dom/client' +import App from './App.tsx' +import './index.css' +import './mycss.css' + + +ReactDOM.createRoot(document.getElementById('root')!).render( + + + , +) diff --git a/members/dockershe/task1/web3-todo-list/src/mycss.css b/members/dockershe/task1/web3-todo-list/src/mycss.css new file mode 100644 index 0000000000..0b34df410f --- /dev/null +++ b/members/dockershe/task1/web3-todo-list/src/mycss.css @@ -0,0 +1,1195 @@ +@charset"UTF-8";:root { + --body-bg: #e8f6ff; + --border-radius: 12px; + --border: 2px solid #33322E; + --box-shadow: 4px 4px 0 #33322E; + --box-shadow-reverse: -4px 4px 0 #33322E; + --padding: 20px 24px; + --btn-padding: 12px 24px; + --btn-small-padding: 10px 20px; + --font: "PingFang SC","Lantinghei SC","Microsoft YaHei","HanHei SC","Helvetica Neue","Open Sans",Arial,"Hiragino Sans GB",微软雅黑,STHeiti,"WenQuanYi Micro Hei",SimSun,sans-serif,HYWenHei-GEW!important; + --font-color: #33322E; + --font-size-base: 16px; + --placeholder: rgba(51,50,46,.535); + --font-color-complete: rgba(51,50,46,.535); + --bg-normal: #F9F3E5; + --bg-submit: #ffd6e9; + --bg-completed: #D0F4F0; + --bg-discard: #FFF0EE; + --bg-deleted: #ddd; + --bg-edit: #fbeef3; + --normal: #f5d99e; + --completed: #8CD4CB; + --deleted: #F6A89E; + --black: #33322E +} + +@media only screen and ( max-width: 768px) { + :root { + --font-size-base:16px; + --padding: 16px 20px; + --btn-padding: 12px 18px; + --btn-small-padding: 10px 15px + } +} + +* { + margin: 0; + padding: 0; + box-sizing: border-box; + transition: all .35s +} + +html { + scrollbar-width: none; + -ms-overflow-style: none; + font-family: var(--font); + background: #fff; + font-size: 16px; + background: var(--body-bg); + font-size: var(--font-size-base); + color: var(--font-color); + box-sizing: border-box +} + +html ::-webkit-scrollbar { + display: none; +} + +@media only screen and ( max-width: 768px) { + html { + font-family:"PingFang SC",miui,system-ui,-apple-system,BlinkMacSystemFont,Helvetica Neue,Helvetica,sans-serif + } +} + +::-webkit-input-placeholder { + color: var(--placeholder); + font-weight: 400 +} + +:-moz-placeholder { + color: var(--placeholder); + font-weight: 400 +} + +::-moz-placeholder { + color: var(--placeholder); + font-weight: 400 +} + +:-ms-input-placeholder { + color: var(--placeholder)!important; + font-weight: 400!important +} + +::-ms-input-placeholder { + color: var(--placeholder); + font-weight: 400 +} + +::-moz-placeholder { + color: var(--placeholder); + font-weight: 400 +} + +::placeholder { + color: var(--placeholder); + font-weight: 400 +} + +button { + border: 0; + padding: 0; + margin: 0; + background: none +} + +input { + border-radius: var(--border-radius); + border: var(--border); + padding: var(--btn-small-padding); + display: inline-block; + cursor: pointer; + background: #fff +} + +button:focus,input:focus { + outline: 0 +} + +button,a,input { + color: var(--font-color) +} + +ul,li { + list-style-type: none; + margin: 0; + padding: 0 +} + +h1 { + font-size: 36px; + text-align: center +} + +.btn { + border: var(--border); + border-radius: var(--border-radius); + padding: var(--btn-padding); + text-align: center; + display: block; + position: relative +} + +.btn-small { + padding: var(--btn-small-padding); + font-size: 14px; + border: 2px solid var(--black) +} + +.container { + max-width: 700px; + margin: 0 auto +} + +@media only screen and ( max-width: 992px) { + .container { + max-width:600px + } +} + +@media only screen and ( max-width: 768px) { + .container { + max-width:95% + } +} + +.todo-app { + margin: 0 auto +} + +.header { + margin: 0 auto 24px +} + +@media only screen and ( max-width: 768px) { + .header { + margin:0 auto 16px + } +} + +.main { + display: flex; + justify-content: space-between; + align-items: flex-start; + position: relative +} + +.bg-pattern { + position: fixed; + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: -1; + width: 100%; + height: 100vh; + background-color: #FFF7DC; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'%3E%3Cdefs%3E%3Cpattern id='p' width='100' height='100' patternUnits='userSpaceOnUse' patternTransform='scale(.25)'%3E%3Ccircle data-color='outline' fill='none' stroke='%23828D99' stroke-width='25' cx='50' cy='50' r='.5'%3E%3C/circle%3E%3C/pattern%3E%3C/defs%3E%3Crect fill='url(%23p)' width='100%25' height='100%25'%3E%3C/rect%3E%3C/svg%3E"); + background-size: cover; + background-position: center center; + background-repeat: repeat; + opacity: .08 +} + +.todo-wrapper { + width: 100%; + margin: 40px auto +} + +@media only screen and ( max-width: 768px) { + .todo-wrapper { + margin:28px auto + } +} + +.todo-list-box { + position: relative; + background: #fff; + box-shadow: var(--box-shadow); + border: var(--border); + border-radius: var(--border-radius); + margin: 0; + padding-top: 0; + transition: all .5s ease; + max-width: 100%; + width: 100%; + overflow: hidden +} + +.todo-list { + padding: 32px 36px 36px; + min-height: 381px; + transition: all .5s ease +} + +@media only screen and ( max-width: 768px) { + .todo-list { + padding:20px 16px 24px; + min-height: 280px; + min-height: calc(100vh - 272px) + } +} + +@media only screen and (max-width: 350px) { + .todo-list { + min-height:320px + } +} + +.title { + position: relative; + font-weight: 800; + -webkit-text-stroke: 2px var(--black); + color: var(--bg-normal); + text-shadow: 4px 4px 0 var(--font-color); + letter-spacing: 2px; + font-size: 44px; + margin: 0 auto 12px; + width: 200px +} + +.title img { + display: inline-block; + width: auto; + height: 52px; + padding: 0 +} + +.ani-vector { + position: absolute; + left: -60px; + top: 4px; + display: flex; + justify-content: center; + align-items: center +} + +@media only screen and ( max-width: 768px) { + .ani-vector { + top:24px + } +} + +.ani-vector span { + transform: rotateZ(45deg); + margin: 0 7px; + width: 10px; + height: 10px; + border: 2px solid var(--black); + background-color: var(--bg-submit); + display: inline-block; + border-radius: 1px; + animation: zooming 8s ease-in-out infinite +} + +.ani-vector span:nth-child(2) { + animation-delay: 2s +} + +.todo-list li { + position: relative; + border: var(--border); + border-radius: var(--border-radius); + box-shadow: var(--box-shadow); + width: 100%; + transition: all .5s ease; + display: block; + margin-bottom: 16px +} + +.drag-enter-active { + opacity: 0; + transition: all .5s ease +} + +.drag-enter-to { + opacity: 1; + transform: translateY(0); + transition: all .5s +} + +.drag-leave { + opacity: 0; + transform: translateY(18px) +} + +.drag-leave-active { + position: absolute; + transition: all .35s ease +} + +.drag-move { + transition: all .65s ease +} + +.todo-list li:last-child { + margin-bottom: 0 +} + +.todo-list li:hover { + box-shadow: none +} + +.bar-message { + position: relative; + display: block; + display: flex; + align-items: center; + justify-self: flex-start; + border-bottom: var(--border) +} + +@media only screen and ( max-width: 768px) { + .bar-message .btn-allFinish { + display:none + } + + .bar-message .bar-message-text { + width: 100%; + text-align: center + } +} + +.bar-bottom { + border: 0; + border-top: var(--border) +} + +.add-todo { + border: var(--border) +} + +.add-content-wrapper { + position: relative +} + +@media only screen and ( max-width: 768px) { + .add-content-wrapper { + position:fixed; + bottom: 0; + left: 0; + right: 0; + max-width: 95%; + margin: 0 auto; + z-index: 99; + padding: 40px 0 20px; + background-image: -ms-linear-gradient(90deg,rgb(234,246,252)0,rgba(234,246,252,0)100%) + } +} + +.tips { + margin-top: 8px; + padding-left: 12px; + transition: all .2s +} + +.empty-tips { + text-align: left; + max-width: 480px; + width: 90%; + margin: 20px auto; + position: absolute; + top: 15%; + left: 8%; + font-size: 16px; + color: #606060; + line-height: 1.6; + letter-spacing: 1px +} + +@media only screen and ( max-width: 768px) { + .empty-tips { + margin-top:0; + left: 6%; + font-size: 17px + } +} + +@media only screen and (max-width: 350px) { + .empty-tips { + left:6%; + font-size: 14px + } +} + +.empty-tips li { + margin: 2px 0 10px +} + +.edit-todo-wrapper { + position: relative; + box-sizing: border-box; + width: 100% +} + +.edit-todo { + padding: var(--padding); + width: 100%; + position: relative; + box-sizing: border-box; + display: block; + line-height: 1.3; + overflow-wrap: break-word; + padding-left: 56px; + padding-right: 56px; + transition: all .25s; + border: 0 +} + +.submit-btn { + position: relative; + box-sizing: border-box; + height: 60px; + line-height: 60px; + width: 96px; + padding: 0; + text-align: center; + position: absolute; + right: 2px; + top: 2px; + border: 0; + border-left: var(--border); + border-radius: 10px; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + cursor: pointer; + background: #f4d799; + background: var(--bg-submit); + transition: all .25s; + font-size: 18px +} + +@media only screen and ( max-width: 768px) { + .submit-btn { + margin:40px 0 + } +} + +.submit-btn:hover { + box-shadow: none +} + +.add-content { + width: 100%; + padding: 0; + font-size: 18px; + cursor: text; + border: var(--border); + border-radius: var(--border-radius); + height: 64px; + line-height: 64px; + text-indent: 12px; + padding-right: 118px; + box-shadow: var(--box-shadow) +} + +@media only screen and ( max-width: 768px) { + .add-content { + padding-right:108px + } +} + +.add-content:focus { + box-shadow: none +} + +.add-content:hover { + box-shadow: none +} + +.todo-content { + padding: var(--padding); + background: var(--bg-normal); + border-radius: var(--border-radius); + width: 100%; + position: relative; + box-sizing: border-box; + display: block; + line-height: 1.5; + overflow-wrap: break-word; + padding-left: 56px; + padding-right: 56px; + cursor: pointer; + min-height: 60px +} + +.todo-btn { + position: absolute; + background: none; + display: block; + cursor: pointer; + border: var(--border); + transition: all .2s; + background: #fff +} + +.todo-btn:hover { + box-shadow: var(--box-shadow); + transform: translate(-2px,-2px) +} + +.btn-edit-submit { + display: flex; + align-items: center; + justify-content: center; + background: var(--bg-submit); + right: 12px; + top: 16px; + height: 30px; + width: 30px; + border-radius: var(--border-radius); + font-size: 13px +} + +.btn-delete { + background: #fff; + right: 12px; + top: 16px; + height: 30px; + width: 30px; + border-radius: var(--border-radius); + font-size: 13px; + display: flex; + align-items: center; + justify-content: center +} + +.btn-delete:hover { + background: var(--deleted) +} + +.btn-delete img { + display: block; + width: 16px; + height: 16px +} + +.btn-finish { + left: 14px; + top: 16px; + width: 30px; + height: 30px; + border-radius: 20px +} + +.btn-finish:hover { + background: var(--completed); + box-shadow: var(--box-shadow-reverse); + transform: translate(2px,-2px) +} + +.btn-unfinish img { + position: relative; + left: 4px; + top: 2px; + width: 26px; + height: auto +} + +.btn-unfinish { + left: 14px; + top: 16px; + width: 30px; + height: 30px; + border-radius: 20px; + background: var(--completed) +} + +.btn-unfinish:hover { + box-shadow: var(--box-shadow-reverse); + transform: translate(2px,-2px) +} + +.btn-restore { + background: #fff; + right: 12px; + top: 16px; + height: 30px; + width: 30px; + border-radius: var(--border-radius); + border: var(--border); + font-size: 13px; + display: flex; + align-items: center; + justify-content: center +} + +.btn-restore img { + display: block; + width: 16px; + height: auto +} + +.btn-allFinish { + display: inline-block; + background: var(--completed); + border: 0; + border-radius: 0; + border-top-left-radius: var(--border-radius); + border-right: var(--border); + margin: 0; + min-width: 24% +} + +.bar-message-text { + display: inline-block; + text-align: center; + font-weight: 600; + padding: var(--btn-padding); + padding-left: 12px; + padding-right: 12px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden +} + +.wechat { + position: fixed; + left: 0; + top: 0; + margin: 0 +} + +.wechat .wechat-ico { + position: relative; + z-index: 999; + margin: 10px; + cursor: pointer; + transition: all .3s +} + +.wechat .wechat-ico img { + width: auto; + height: 40px; + display: block +} + +.wechat .wechat-ico:hover { + transform: translateY(-2px) +} + +.qrcode { + display: block; + position: absolute; + top: 44px; + left: 44px; + z-index: 999; + transition: .25s; + border-radius: 8px; + -webkit-border-radius: 8px; + -moz-border-radius: 8px; + box-shadow: var(--box-shadow); + border: 2px solid var(--black); + padding: 0 4px; + background-color: #fff +} + +.qrcode .author { + font-size: 13px; + font-style: normal; + margin: 10px 0 0; + text-align: center +} + +.qrcode .author strong { + font-size: 14px; + font-weight: bold +} + +.qrcode p { + font-size: 12px; + font-style: normal; + line-height: 1.5; + padding: 2px; + text-align: center; + margin: -8px auto 8px +} + +.qrcode p span { + opacity: .75 +} + +.qrcode img { + width: 148px; + height: 148px; + border-radius: 8px; + -webkit-border-radius: 8px; + -moz-border-radius: 8px +} + +@media only screen and ( max-width: 768px) { + .qrcode img { + width:160px; + height: 160px + } +} + +.side-bar { + position: absolute; + left: calc(100% + 28px); + top: 0; + display: flex; + justify-content: flex-start; + align-items: flex-start; + flex-direction: column; + border: var(--border); + background: #fff; + border-radius: var(--border-radius); + box-shadow: var(--box-shadow); + text-align: center; + transition: all .3s; + overflow: hidden; + z-index: 999 +} + +@media only screen and ( max-width: 768px) { + .side-bar { + position:fixed!important; + top: unset; + bottom: 108px; + left: unset; + right: -2px; + box-shadow: none; + border-top-right-radius: 0; + border-bottom-right-radius: 0 + } +} + +.side-bar:hover { + box-shadow: unset!important +} + +.side-shortcut { + display: block; + width: 100% +} + +.shortcut-switch { + overflow: hidden; + cursor: pointer; + width: 100% +} + +@media only screen and ( max-width: 768px) { + .shortcut-switch { + font-size:14px + } + + .shortcut-switch .shortcut-name { + display: none!important + } +} + +.shortcut-switch span { + padding: 10px 14px; + display: block +} + +.shortcut-title { + background: var(--completed); + text-align: center; + box-sizing: border-box; + border-bottom: var(--border); + width: 100%; + font-weight: bold +} + +span.shortcut-name { + display: none +} + +.todo-footer-box { + position: relative; + height: 100% +} + +@media only screen and ( max-width: 768px) { + .fold { + border-radius:0; + box-shadow: none; + overflow: hidden; + padding: 0 + } + + .fold .shortcut-switch span { + border: 0; + padding: 12px 16px + } +} + +.fold~.todo-footer-box { + display: none +} + +.fold .shortcut-title { + background: var(--deleted) +} + +.fold span.shortcut-name { + display: block; + writing-mode: vertical-lr +} + +.todo-func-list { + display: flex; + flex-direction: column; + justify-content: flex-start; + align-items: flex-start; + width: 100%; + padding-left: 0; + padding-right: 0; + font-size: 14px; + padding: 0 +} + +.todo-func-list li { + cursor: pointer; + margin: 0 auto; + transition: all .25s; + width: 100% +} + +@media only screen and ( max-width: 768px) { + .todo-func-list li { + margin:0; + display: inline-block + } +} + +.todo-func-list li input { + transition: all .25s; + width: 100%; + border-radius: 0; + border: 0; + box-shadow: unset; + border-top: 1px solid var(--black); + transform: unset!important +} + +.todo-func-list.filter li:first-child input { + border: 0 +} + +.todo-func-list li:first-child { + min-width: 60px; + font-weight: 400; + border: 0 +} + +@media only screen and ( max-width: 768px) { + .todo-func-list li:first-child { + display:block + } +} + +.todo-func-list li:last-child { + border: 0; + margin-right: 0 +} + +.filter { + width: 100% +} + +.completed { + background: var(--bg-completed); + color: var(--font-color-complete); + text-decoration: line-through +} + +.deleted { + background: var(--bg-deleted) +} + +.empty { + animation-duration: 1s; + animation-fill-mode: both; + animation-name: headShake; + animation-timing-function: ease-in-out +} + +.selected { + box-shadow: var(--box-shadow); + transform: translate(-2px,-2px) +} + +.action-showAll:hover,.action-showAll.selected { + background: var(--bg-submit) +} + +.action-progress:hover,.action-progress.selected { + background: var(--normal) +} + +.action-completed:hover,.action-completed.selected,.completed-all:hover { + background: var(--completed) +} + +.action-progress:hover,.action-progress.selected { + background: var(--normal) +} + +.action-deleted:hover,.action-deleted.selected,.completed-clear:hover,.clear-all:hover { + background: var(--deleted) +} + +#panda { + position: absolute; + width: 200px; + height: 200px; + right: -72px; + bottom: -2px +} + +.pendulums { + position: absolute; + width: 50px; + height: 72px; + right: -56px; + bottom: -2px; + perspective: 640px +} + +.pendulum { + position: absolute; + width: 50px; + height: 70px; + right: 44%; + bottom: 0; + left: 50%; + transform: translateZ(-300px)translateX(-50%) +} + +.pendulum:after { + content: ""; + width: 8px; + height: 8px; + background-color: var(--bg-submit); + position: absolute; + top: 2px; + left: 0; + right: 0; + margin: 0 auto; + transform: rotate(45deg); + border: 3px solid var(--black) +} + +.pendulum.shadow { + display: none; + top: 263%; + left: -65%; + bottom: 0; + transform-origin: 50% 0; + transform: translateX(-50%)scaleY(-1)scaleZ(2)rotateY(-30deg)rotateX(-75deg)translateZ(300px) +} + +.pendulum .bar { + position: absolute; + left: 50%; + transform: translateX(-50%); + top: -5px; + display: block; + width: 26px; + height: 30px; + background: #d0f4f0; + border: 3px solid #33322E; + border-radius: 15px; + border-top-left-radius: 2px; + border-top-right-radius: 2px +} + +.pendulum .string { + position: absolute; + left: 50%; + transform: translateX(-50%); + width: 3px; + height: 72px; + background: var(--black) +} + +.pendulum .weight { + position: absolute; + left: 50%; + transform: translateX(-50%); + bottom: 14px; + width: 26px; + height: 26px; + border-radius: 50%; + background: #f8d966; + border: 3px solid #33322E +} + +.pendulum .motion { + position: absolute; + height: 90px; + width: 50px; + transform-origin: 50% 10px; + animation: swing 1800ms infinite ease-in-out +} + +.pendulum.shadow .bar,.pendulum.shadow .string,.pendulum.shadow .weight { + background: #3d3a34 +} + +@keyframes swing { + 0% { + transform: rotate(-45deg) + } + + 50% { + transform: rotate(45deg) + } + + 100% { + transform: rotate(-45deg) + } +} + +.animated { + animation-duration: .5s; + animation-fill-mode: both; + animation-timing-function: ease-in-out +} + +.tips-enter-active { + transition: all .75s ease +} + +.tips-leave-active { + transition: all .35s cubic-bezier(1,.5,.8,1) +} + +.tips-enter,.tips-leave-to { + transform: translateX(8px); + opacity: 0 +} + +@keyframes headShake { + 0% { + transform: translateX(0) + } + + 6.5% { + transform: translateX(-6px)rotateY(-9deg) + } + + 18.5% { + transform: translateX(5px)rotateY(7deg) + } + + 31.5% { + transform: translateX(-3px)rotateY(-5deg) + } + + 43.5% { + transform: translateX(2px)rotateY(3deg) + } + + 50% { + transform: translateX(0) + } +} + +.zooming { + animation: zooming 1.5s ease-in-out infinite +} + +@keyframes zooming { + 0% { + transform: scale(1)rotateZ(45deg) + } + + 20% { + transform: scale(1)rotateZ(45deg) + } + + 30% { + transform: scale(1)rotateZ(135deg) + } + + 70% { + transform: scale(1)rotateZ(135deg) + } + + 80% { + transform: scale(1)rotateZ(45deg) + } + + 100% { + transform: scale(1)rotateZ(45deg) + } +} + +.popIn { + animation-name: popIn +} + +@keyframes popIn { + 0% { + transform: scale3d(0,0,0); + opacity: 0 + } + + 20% { + opacity: 1 + } + + 40% { + animation-timing-function: cubic-bezier(.47,0,.745,.715); + transform: scale3d(1.08,1.08,1.08) + } + + 60% { + animation-timing-function: cubic-bezier(.42,0,.58,1); + transform: scale3d(1,1,1) + } + + 80% { + animation-timing-function: cubic-bezier(.42,0,.58,1); + transform: scale3d(1.03,1.03,1.03) + } + + 100% { + animation-timing-function: cubic-bezier(.25,.46,.45,.94); + transform: scale3d(1,1,1) + } +} + +.popOut { + animation-name: popOut; + animation-duration: .5s +} + +@keyframes popOut { + 0% { + animation-timing-function: cubic-bezier(.25,.46,.45,.94); + transform: scale3d(1,1,1) + } + + 60% { + animation-timing-function: cubic-bezier(.42,0,.58,1); + transform: scale3d(1.08,1.08,1.08) + } + + 80% { + opacity: 1; + animation-timing-function: cubic-bezier(.42,0,.58,1) + } + + 100% { + opacity: 0; + animation-timing-function: cubic-bezier(.47,0,.745,.715); + transform: scale3d(.3,.3,.3) + } +} diff --git a/members/dockershe/task1/web3-todo-list/src/pages/AddToDo.tsx b/members/dockershe/task1/web3-todo-list/src/pages/AddToDo.tsx new file mode 100644 index 0000000000..78230a6bb3 --- /dev/null +++ b/members/dockershe/task1/web3-todo-list/src/pages/AddToDo.tsx @@ -0,0 +1,32 @@ +// AddToDo.tsx +import React, { useState } from 'react'; + +interface AddToDoProps { + onAddToDo: (newTodo: { text: string; completed: boolean }) => void; +} + + +const AddToDo: React.FC = ({ onAddToDo }) => { + const [todo, setTodo] = useState(''); + + const handleAddToDo = () => { + if (todo.trim() !== '') { + onAddToDo({ text: todo, completed: false }); // 将新的待办事项作为对象传递给 onAddToDo + setTodo(''); // 清空输入框 + } + }; + + const styles = { + color: 'red' + }; + + return ( +
+ setTodo(e.target.value)} /> +
💡请输入内容!
+ +
+ ); +}; + +export default AddToDo; \ No newline at end of file diff --git a/members/dockershe/task1/web3-todo-list/src/pages/Header.tsx b/members/dockershe/task1/web3-todo-list/src/pages/Header.tsx new file mode 100644 index 0000000000..a749d8f0e7 --- /dev/null +++ b/members/dockershe/task1/web3-todo-list/src/pages/Header.tsx @@ -0,0 +1,18 @@ +import React from 'react'; + +const Header = () => { +// const handleAllFinish = () => { +// // 处理全部标为完成的逻辑 +// }; + + return ( +
+ {/* */} +
+ Don't try so hard, the best things come when you least expect them to. 不要着急,最好的总会在最不经意的时候出现。 🤏🤏 +
+
+ ); +}; + +export default Header; \ No newline at end of file diff --git a/members/dockershe/task1/web3-todo-list/src/pages/ToDoList.tsx b/members/dockershe/task1/web3-todo-list/src/pages/ToDoList.tsx new file mode 100644 index 0000000000..98efd17ba6 --- /dev/null +++ b/members/dockershe/task1/web3-todo-list/src/pages/ToDoList.tsx @@ -0,0 +1,71 @@ +import React, { useState, useEffect } from 'react'; +import Header from './Header'; + +interface TodoItem { + text: string; + completed: boolean; +} + + +interface ToDoListProps { + items: TodoItem[]; + setItems: React.Dispatch>; // 添加 setItems 作为 prop + onDelete: (index: number) => void; + +} + +const ToDoList: React.FC = ({ items, setItems, onDelete }) => { + + useEffect(() => { + console.log('ToDoList received items:', items); + }, [items]); + + + const handleItemClick = (index: number) => { + const newItems = [...items]; + newItems[index] = { ...newItems[index], completed: !newItems[index].completed }; + setItems(newItems); // 更新待办事项列表 + }; + + const handleDeleteClick = (index: number) => { + onDelete(index); // 只传递要删除的项目的索引 + }; + + return ( +
+ {/*
    + {items.map((item, index) => ( +
  • {item}
  • + ))} +
*/} +
+
    + {items.map((item, index) => ( +
  • + +
    + {item.text} +
    + +
    handleItemClick(index)} + > + +
    +
    handleDeleteClick(index)}> + +
    +
  • + ))} +
+
+ + ); +} + +export default ToDoList; diff --git a/members/dockershe/task1/web3-todo-list/src/vite-env.d.ts b/members/dockershe/task1/web3-todo-list/src/vite-env.d.ts new file mode 100644 index 0000000000..11f02fe2a0 --- /dev/null +++ b/members/dockershe/task1/web3-todo-list/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/members/dockershe/task1/web3-todo-list/tsconfig.json b/members/dockershe/task1/web3-todo-list/tsconfig.json new file mode 100644 index 0000000000..a7fc6fbf23 --- /dev/null +++ b/members/dockershe/task1/web3-todo-list/tsconfig.json @@ -0,0 +1,25 @@ +{ + "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/members/dockershe/task1/web3-todo-list/tsconfig.node.json b/members/dockershe/task1/web3-todo-list/tsconfig.node.json new file mode 100644 index 0000000000..97ede7ee6f --- /dev/null +++ b/members/dockershe/task1/web3-todo-list/tsconfig.node.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "composite": true, + "skipLibCheck": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowSyntheticDefaultImports": true, + "strict": true + }, + "include": ["vite.config.ts"] +} diff --git a/members/dockershe/task1/web3-todo-list/vite.config.ts b/members/dockershe/task1/web3-todo-list/vite.config.ts new file mode 100644 index 0000000000..5a33944a9b --- /dev/null +++ b/members/dockershe/task1/web3-todo-list/vite.config.ts @@ -0,0 +1,7 @@ +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [react()], +}) From 8c421300c7ce4fe3f90f5e04267b0b542bcd9b38 Mon Sep 17 00:00:00 2001 From: dockershe Date: Wed, 5 Jun 2024 10:10:08 +0800 Subject: [PATCH 03/18] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=8A=A5=E5=90=8D?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- members/dockershe/readme.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 members/dockershe/readme.md diff --git a/members/dockershe/readme.md b/members/dockershe/readme.md new file mode 100644 index 0000000000..36fa04c59f --- /dev/null +++ b/members/dockershe/readme.md @@ -0,0 +1,13 @@ +# Web3 前端训练营报名 +## 个人信息 + +* Github ID: dockershe + +* Wechat ID: xiaoaojianghu_she + +* Openbuild Username: docker + +* ERC20 钱包地址: 0x2fef3de4e0b225b6b3aa644397e298b09388c303 + +### 个人介绍 +docker, 区块链技术爱好者! From 49fa3bd63a029b9f27170570a0967be81d11f31b Mon Sep 17 00:00:00 2001 From: dockershe Date: Wed, 5 Jun 2024 11:17:16 +0800 Subject: [PATCH 04/18] fix chatid --- members/dockershe/readme.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/members/dockershe/readme.md b/members/dockershe/readme.md index 36fa04c59f..e491a178f8 100644 --- a/members/dockershe/readme.md +++ b/members/dockershe/readme.md @@ -3,8 +3,6 @@ * Github ID: dockershe -* Wechat ID: xiaoaojianghu_she - * Openbuild Username: docker * ERC20 钱包地址: 0x2fef3de4e0b225b6b3aa644397e298b09388c303 From 631b5ceb66406c93b1ff9dd4409a693e750d7eb5 Mon Sep 17 00:00:00 2001 From: dockershe Date: Wed, 5 Jun 2024 13:07:12 +0800 Subject: [PATCH 05/18] task2 --- members/dockershe/task2/bind-wallet.jpg | Bin 0 -> 106072 bytes members/dockershe/task2/readme.md | 132 ++++++++++++++++++++++++ 2 files changed, 132 insertions(+) create mode 100644 members/dockershe/task2/bind-wallet.jpg create mode 100644 members/dockershe/task2/readme.md diff --git a/members/dockershe/task2/bind-wallet.jpg b/members/dockershe/task2/bind-wallet.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4f060078d5468ecdd050078a87063fd485524b87 GIT binary patch literal 106072 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

e8{CoO2ElD*%4! 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 cizO>EV58V&p15z4?L1NdjJ3c literal 0 HcmV?d00001 diff --git a/members/dockershe/task2/readme.md b/members/dockershe/task2/readme.md new file mode 100644 index 0000000000..9adc0afcdb --- /dev/null +++ b/members/dockershe/task2/readme.md @@ -0,0 +1,132 @@ +# Task2 Blockchain Basic + +本任务分为简答题、分析题和选择题,以此为模板,在下方填写你的答案即可。 + +选择题,请在你选中的项目中,将 `[ ]` 改为 `[x]` 即可 + + + +## [单选题] 如果你莫名奇妙收到了一个 NFT,那么 + +- [ ] 天上掉米,我应该马上点开他的链接 +- [x] 这可能是在对我进行诈骗! + + + +## [单选题] 群里大哥给我发的网站,说能赚大米,我应该 + +- [ ] 赶紧冲啊,待会米被人抢了 +- [x] 谨慎判断,不在不信任的网站链接钱包 + +## [单选题] 下列说法正确的是 + +- [x] 一个私钥对应一个地址 +- [ ] 一个私钥对应多个地址 +- [ ] 多个私钥对应一个地址 +- [ ] 多个私钥对应多个地址 + + ## [单选题] 下列哪个是以太坊虚拟机的简称 + +- [ ] CLR +- [x] EVM +- [ ] JVM + +## [单选题] 以下哪个是以太坊上正确的地址格式? + +- [ ] 1A4BHoT2sXFuHsyL6bnTcD1m6AP9C5uyT1 +- [ ] TEEuMMSc6zPJD36gfjBAR2GmqT6Tu1Rcut +- [ ] 0x997fd71a4cf5d214009619808176b947aec122890a7fcee02e78e329596c94ba +- [x] 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 + +## [多选题] 有一天某个大哥说要按市场价的 80% 出油给你,有可能 + +- [x] 他在洗米 +- [ ] 他良心发现 +- [x] 要给我黒米 +- [x] 给我下套呢 + +## [多选题] 以下哪些是以太坊的二层扩容方案? + +- [ ] Lightning Network(闪电网络) +- [x] Optimsitic Rollup +- [x] Zk Rollup + +## [简答题] 简述区块链的网络结构 + +``` +节点:区块链网络中的参与者,可以是矿工节点、全节点、轻节点等。它们通过互相通信来维护整个区块链网络的运行。 + +区块:包含交易记录和元数据的数据块,按时间顺序链接在一起,形成一个不可篡改的链条。每个区块都包含了前一个区块的哈希值,从而形成了区块链的结构。 + +共识算法:区块链网络通过共识算法来达成对交易和区块的确认和验证。常见的共识算法包括工作量证明(PoW)、权益证明(PoS)、权益证明股权(DPoS)等。 + +网络协议:区块链网络使用特定的网络协议来进行节点间的通信和数据传输,例如比特币网络使用的是Bitcoin协议,以太坊网络使用的是以太坊协议等。 + +智能合约:一些区块链网络支持智能合约,允许在区块链上编写和执行可编程的合约代码,从而实现复杂的逻辑和应用。 +``` + + + +## [简答题] 智能合约是什么,有何作用? + +``` +智能合约是一种在区块链上运行的自动执行的计算机程序。它的主要作用如下: + +自动执行合约条款: +智能合约可以根据预先设定的条件自动执行合约条款,无需人工干预。这可以提高合约执行的效率和可靠性。 + +减少交易成本: +智能合约可以消除中介机构,直接在区块链上完成交易,从而降低交易成本。 + +提高交易透明度: +智能合约的代码和执行过程都是公开透明的,可以增强交易的可信度。 + +扩展区块链应用: +智能合约可以赋予区块链更多功能,扩展区块链在金融、供应链、物联网等领域的应用。 + +实现去中心化: +智能合约可以在无需中心化管理的情况下自动执行业务逻辑,实现去中心化。 +``` + + + +## [简答题] 怎么理解大家常说的 `EVM` 这个词汇? + +``` +EVM是以太坊虚拟机(Ethereum Virtual Machine)的缩写。它是以太坊网络中的核心组件,负责执行智能合约的字节码并维护整个区块链网络的状态。 +``` + + + +## [分析题] 你对去中心化的理解 + +``` +分散化的网络架构: +去中心化系统没有单一的中心节点或服务器,而是由许多分散的节点组成一个对等网络。每个节点都具有同等的地位和功能,共同维护整个网络的运转。 + +分散式的决策机制: +在去中心化系统中,没有单一的权威机构来制定规则和做出决策。相反,网络参与者通过共识算法,如投票或利益相关方表决等,共同参与决策过程。这种分散式的决策机制增强了系统的民主性和抗审查性。 + +透明公开的运营: +去中心化系统通常具有开放透明的特点。系统的运行规则、交易记录、资产分配等都是公开的,可供任何人查询和验证。这增强了系统的公信力和信任度。 + +抗审查和抗审查: +由于没有中心化的控制点,去中心化系统更难被个人或机构所控制或审查。这使得它们更加抗审查和抗审查,提高了用户的隐私和自由。 + +提高系统的可靠性和容错性: +去中心化架构使得系统不会因为单个节点故障而瘫痪。即使部分节点出现问题,整个网络仍然能够保持运转,提高了系统的可靠性和容错性。 +``` + + + +## [分析题] 比较区块链与传统数据库,你的看法? + +``` +区块链相对于传统数据库具有更高的去中心化、安全性、透明度和可追溯性。但同时,区块链的存储和计算成本也更高,对性能和扩展性要求更高。 +``` + + + +## 操作题 + +安装一个 WEB3 钱包,创建账户后与 [openbuild.xyz](https://openbuild.xyz/profile) 进行绑定,截图后文件命名为 `./bind-wallet.jpg`. From e0ceb936798b7885fc8db9a7667b41d616289c60 Mon Sep 17 00:00:00 2001 From: fl Date: Wed, 5 Jun 2024 13:32:42 +0800 Subject: [PATCH 06/18] complate Task 1 --- members/flatcc/task1/.eslintrc.cjs | 21 + members/flatcc/task1/.gitignore | 24 + members/flatcc/task1/README.md | 8 + members/flatcc/task1/index.html | 12 + members/flatcc/task1/package-lock.json | 4293 +++++++++++++++++ members/flatcc/task1/package.json | 26 + members/flatcc/task1/public/vite.svg | 1 + members/flatcc/task1/src/App.css | 56 + members/flatcc/task1/src/App.jsx | 55 + .../flatcc/task1/src/components/AddToDo.jsx | 30 + .../flatcc/task1/src/components/Header.jsx | 7 + .../flatcc/task1/src/components/ToDoItem.jsx | 17 + .../flatcc/task1/src/components/ToDoList.jsx | 21 + members/flatcc/task1/src/index.css | 68 + members/flatcc/task1/src/main.jsx | 10 + members/flatcc/task1/vite.config.js | 7 + 16 files changed, 4656 insertions(+) create mode 100644 members/flatcc/task1/.eslintrc.cjs create mode 100644 members/flatcc/task1/.gitignore create mode 100644 members/flatcc/task1/README.md create mode 100644 members/flatcc/task1/index.html create mode 100644 members/flatcc/task1/package-lock.json create mode 100644 members/flatcc/task1/package.json create mode 100644 members/flatcc/task1/public/vite.svg create mode 100644 members/flatcc/task1/src/App.css create mode 100644 members/flatcc/task1/src/App.jsx create mode 100644 members/flatcc/task1/src/components/AddToDo.jsx create mode 100644 members/flatcc/task1/src/components/Header.jsx create mode 100644 members/flatcc/task1/src/components/ToDoItem.jsx create mode 100644 members/flatcc/task1/src/components/ToDoList.jsx create mode 100644 members/flatcc/task1/src/index.css create mode 100644 members/flatcc/task1/src/main.jsx create mode 100644 members/flatcc/task1/vite.config.js diff --git a/members/flatcc/task1/.eslintrc.cjs b/members/flatcc/task1/.eslintrc.cjs new file mode 100644 index 0000000000..3e212e1d43 --- /dev/null +++ b/members/flatcc/task1/.eslintrc.cjs @@ -0,0 +1,21 @@ +module.exports = { + root: true, + env: { browser: true, es2020: true }, + extends: [ + 'eslint:recommended', + 'plugin:react/recommended', + 'plugin:react/jsx-runtime', + 'plugin:react-hooks/recommended', + ], + ignorePatterns: ['dist', '.eslintrc.cjs'], + parserOptions: { ecmaVersion: 'latest', sourceType: 'module' }, + settings: { react: { version: '18.2' } }, + plugins: ['react-refresh'], + rules: { + 'react/jsx-no-target-blank': 'off', + 'react-refresh/only-export-components': [ + 'warn', + { allowConstantExport: true }, + ], + }, +} diff --git a/members/flatcc/task1/.gitignore b/members/flatcc/task1/.gitignore new file mode 100644 index 0000000000..a547bf36d8 --- /dev/null +++ b/members/flatcc/task1/.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/members/flatcc/task1/README.md b/members/flatcc/task1/README.md new file mode 100644 index 0000000000..f768e33fc9 --- /dev/null +++ b/members/flatcc/task1/README.md @@ -0,0 +1,8 @@ +# 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/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh +- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh diff --git a/members/flatcc/task1/index.html b/members/flatcc/task1/index.html new file mode 100644 index 0000000000..1be2d18979 --- /dev/null +++ b/members/flatcc/task1/index.html @@ -0,0 +1,12 @@ + + + + + + 待办事项 + + +

+ + + diff --git a/members/flatcc/task1/package-lock.json b/members/flatcc/task1/package-lock.json new file mode 100644 index 0000000000..d2da72e424 --- /dev/null +++ b/members/flatcc/task1/package-lock.json @@ -0,0 +1,4293 @@ +{ + "name": "task1", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "task1", + "version": "0.0.0", + "dependencies": { + "react": "^18.2.0", + "react-dom": "^18.2.0" + }, + "devDependencies": { + "@types/react": "^18.2.66", + "@types/react-dom": "^18.2.22", + "@vitejs/plugin-react": "^4.2.1", + "eslint": "^8.57.0", + "eslint-plugin-react": "^7.34.1", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.4.6", + "vite": "^5.2.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.6", + "resolved": "https://mirrors.cloud.tencent.com/npm/@babel/code-frame/-/code-frame-7.24.6.tgz", + "integrity": "sha512-ZJhac6FkEd1yhG2AHOmfcXG4ceoLltoCVJjN5XsWN9BifBQr+cHJbWi0h68HZuSORq+3WtJ2z0hwF2NG1b5kcA==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.24.6", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.24.6", + "resolved": "https://mirrors.cloud.tencent.com/npm/@babel/compat-data/-/compat-data-7.24.6.tgz", + "integrity": "sha512-aC2DGhBq5eEdyXWqrDInSqQjO0k8xtPRf5YylULqx8MCd6jBtzqfta/3ETMRpuKIc5hyswfO80ObyA1MvkCcUQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.24.6", + "resolved": "https://mirrors.cloud.tencent.com/npm/@babel/core/-/core-7.24.6.tgz", + "integrity": "sha512-qAHSfAdVyFmIvl0VHELib8xar7ONuSHrE2hLnsaWkYNTI68dmi1x8GYDhJjMI/e7XWal9QBlZkwbOnkcw7Z8gQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.6", + "@babel/generator": "^7.24.6", + "@babel/helper-compilation-targets": "^7.24.6", + "@babel/helper-module-transforms": "^7.24.6", + "@babel/helpers": "^7.24.6", + "@babel/parser": "^7.24.6", + "@babel/template": "^7.24.6", + "@babel/traverse": "^7.24.6", + "@babel/types": "^7.24.6", + "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.24.6", + "resolved": "https://mirrors.cloud.tencent.com/npm/@babel/generator/-/generator-7.24.6.tgz", + "integrity": "sha512-S7m4eNa6YAPJRHmKsLHIDJhNAGNKoWNiWefz1MBbpnt8g9lvMDl1hir4P9bo/57bQEmuwEhnRU/AMWsD0G/Fbg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.6", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.24.6", + "resolved": "https://mirrors.cloud.tencent.com/npm/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.6.tgz", + "integrity": "sha512-VZQ57UsDGlX/5fFA7GkVPplZhHsVc+vuErWgdOiysI9Ksnw0Pbbd6pnPiR/mmJyKHgyIW0c7KT32gmhiF+cirg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.24.6", + "@babel/helper-validator-option": "^7.24.6", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.24.6", + "resolved": "https://mirrors.cloud.tencent.com/npm/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.6.tgz", + "integrity": "sha512-Y50Cg3k0LKLMjxdPjIl40SdJgMB85iXn27Vk/qbHZCFx/o5XO3PSnpi675h1KEmmDb6OFArfd5SCQEQ5Q4H88g==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.24.6", + "resolved": "https://mirrors.cloud.tencent.com/npm/@babel/helper-function-name/-/helper-function-name-7.24.6.tgz", + "integrity": "sha512-xpeLqeeRkbxhnYimfr2PC+iA0Q7ljX/d1eZ9/inYbmfG2jpl8Lu3DyXvpOAnrS5kxkfOWJjioIMQsaMBXFI05w==", + "dev": true, + "dependencies": { + "@babel/template": "^7.24.6", + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.24.6", + "resolved": "https://mirrors.cloud.tencent.com/npm/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.6.tgz", + "integrity": "sha512-SF/EMrC3OD7dSta1bLJIlrsVxwtd0UpjRJqLno6125epQMJ/kyFmpTT4pbvPbdQHzCHg+biQ7Syo8lnDtbR+uA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.6", + "resolved": "https://mirrors.cloud.tencent.com/npm/@babel/helper-module-imports/-/helper-module-imports-7.24.6.tgz", + "integrity": "sha512-a26dmxFJBF62rRO9mmpgrfTLsAuyHk4e1hKTUkD/fcMfynt8gvEKwQPQDVxWhca8dHoDck+55DFt42zV0QMw5g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.24.6", + "resolved": "https://mirrors.cloud.tencent.com/npm/@babel/helper-module-transforms/-/helper-module-transforms-7.24.6.tgz", + "integrity": "sha512-Y/YMPm83mV2HJTbX1Qh2sjgjqcacvOlhbzdCCsSlblOKjSYmQqEbO6rUniWQyRo9ncyfjT8hnUjlG06RXDEmcA==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.24.6", + "@babel/helper-module-imports": "^7.24.6", + "@babel/helper-simple-access": "^7.24.6", + "@babel/helper-split-export-declaration": "^7.24.6", + "@babel/helper-validator-identifier": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.6", + "resolved": "https://mirrors.cloud.tencent.com/npm/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.6.tgz", + "integrity": "sha512-MZG/JcWfxybKwsA9N9PmtF2lOSFSEMVCpIRrbxccZFLJPrJciJdG/UhSh5W96GEteJI2ARqm5UAHxISwRDLSNg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.24.6", + "resolved": "https://mirrors.cloud.tencent.com/npm/@babel/helper-simple-access/-/helper-simple-access-7.24.6.tgz", + "integrity": "sha512-nZzcMMD4ZhmB35MOOzQuiGO5RzL6tJbsT37Zx8M5L/i9KSrukGXWTjLe1knIbb/RmxoJE9GON9soq0c0VEMM5g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.24.6", + "resolved": "https://mirrors.cloud.tencent.com/npm/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.6.tgz", + "integrity": "sha512-CvLSkwXGWnYlF9+J3iZUvwgAxKiYzK3BWuo+mLzD/MDGOZDj7Gq8+hqaOkMxmJwmlv0iu86uH5fdADd9Hxkymw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.6", + "resolved": "https://mirrors.cloud.tencent.com/npm/@babel/helper-string-parser/-/helper-string-parser-7.24.6.tgz", + "integrity": "sha512-WdJjwMEkmBicq5T9fm/cHND3+UlFa2Yj8ALLgmoSQAJZysYbBjw+azChSGPN4DSPLXOcooGRvDwZWMcF/mLO2Q==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.6", + "resolved": "https://mirrors.cloud.tencent.com/npm/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.6.tgz", + "integrity": "sha512-4yA7s865JHaqUdRbnaxarZREuPTHrjpDT+pXoAZ1yhyo6uFnIEpS8VMu16siFOHDpZNKYv5BObhsB//ycbICyw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.24.6", + "resolved": "https://mirrors.cloud.tencent.com/npm/@babel/helper-validator-option/-/helper-validator-option-7.24.6.tgz", + "integrity": "sha512-Jktc8KkF3zIkePb48QO+IapbXlSapOW9S+ogZZkcO6bABgYAxtZcjZ/O005111YLf+j4M84uEgwYoidDkXbCkQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.24.6", + "resolved": "https://mirrors.cloud.tencent.com/npm/@babel/helpers/-/helpers-7.24.6.tgz", + "integrity": "sha512-V2PI+NqnyFu1i0GyTd/O/cTpxzQCYioSkUIRmgo7gFEHKKCg5w46+r/A6WeUR1+P3TeQ49dspGPNd/E3n9AnnA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.24.6", + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.6", + "resolved": "https://mirrors.cloud.tencent.com/npm/@babel/highlight/-/highlight-7.24.6.tgz", + "integrity": "sha512-2YnuOp4HAk2BsBrJJvYCbItHx0zWscI1C3zgWkz+wDyD9I7GIVrfnLyrR4Y1VR+7p+chAEcrgRQYZAGIKMV7vQ==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.6", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.24.6", + "resolved": "https://mirrors.cloud.tencent.com/npm/@babel/parser/-/parser-7.24.6.tgz", + "integrity": "sha512-eNZXdfU35nJC2h24RznROuOpO94h6x8sg9ju0tT9biNtLZ2vuP8SduLqqV+/8+cebSLV9SJEAN5Z3zQbJG/M+Q==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.24.6", + "resolved": "https://mirrors.cloud.tencent.com/npm/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.6.tgz", + "integrity": "sha512-FfZfHXtQ5jYPQsCRyLpOv2GeLIIJhs8aydpNh39vRDjhD411XcfWDni5i7OjP/Rs8GAtTn7sWFFELJSHqkIxYg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.24.6", + "resolved": "https://mirrors.cloud.tencent.com/npm/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.6.tgz", + "integrity": "sha512-BQTBCXmFRreU3oTUXcGKuPOfXAGb1liNY4AvvFKsOBAJ89RKcTsIrSsnMYkj59fNa66OFKnSa4AJZfy5Y4B9WA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.24.6", + "resolved": "https://mirrors.cloud.tencent.com/npm/@babel/template/-/template-7.24.6.tgz", + "integrity": "sha512-3vgazJlLwNXi9jhrR1ef8qiB65L1RK90+lEQwv4OxveHnqC3BfmnHdgySwRLzf6akhlOYenT+b7AfWq+a//AHw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.6", + "@babel/parser": "^7.24.6", + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.24.6", + "resolved": "https://mirrors.cloud.tencent.com/npm/@babel/traverse/-/traverse-7.24.6.tgz", + "integrity": "sha512-OsNjaJwT9Zn8ozxcfoBc+RaHdj3gFmCmYoQLUII1o6ZrUwku0BMg80FoOTPx+Gi6XhcQxAYE4xyjPTo4SxEQqw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.6", + "@babel/generator": "^7.24.6", + "@babel/helper-environment-visitor": "^7.24.6", + "@babel/helper-function-name": "^7.24.6", + "@babel/helper-hoist-variables": "^7.24.6", + "@babel/helper-split-export-declaration": "^7.24.6", + "@babel/parser": "^7.24.6", + "@babel/types": "^7.24.6", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.24.6", + "resolved": "https://mirrors.cloud.tencent.com/npm/@babel/types/-/types-7.24.6.tgz", + "integrity": "sha512-WaMsgi6Q8zMgMth93GvWPXkhAIEobfsIkLTacoVZoK1J0CevIPGYY2Vo5YvJGqyHqXM6P4ppOYGsIRU8MM9pFQ==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.24.6", + "@babel/helper-validator-identifier": "^7.24.6", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.20.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", + "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.20.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/android-arm/-/android-arm-0.20.2.tgz", + "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.20.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", + "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.20.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/android-x64/-/android-x64-0.20.2.tgz", + "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.20.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", + "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.20.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", + "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.20.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", + "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.20.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", + "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.20.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", + "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.20.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", + "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.20.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", + "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.20.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", + "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.20.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", + "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.20.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", + "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.20.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", + "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.20.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", + "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.20.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", + "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.20.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", + "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.20.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", + "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.20.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", + "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.20.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", + "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.20.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", + "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.20.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", + "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.10.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/@eslint-community/regexpp/-/regexpp-4.10.1.tgz", + "integrity": "sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://mirrors.cloud.tencent.com/npm/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://mirrors.cloud.tencent.com/npm/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://mirrors.cloud.tencent.com/npm/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "dev": true + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://mirrors.cloud.tencent.com/npm/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://mirrors.cloud.tencent.com/npm/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://mirrors.cloud.tencent.com/npm/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://mirrors.cloud.tencent.com/npm/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://mirrors.cloud.tencent.com/npm/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://mirrors.cloud.tencent.com/npm/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.18.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz", + "integrity": "sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.18.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz", + "integrity": "sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.18.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz", + "integrity": "sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.18.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz", + "integrity": "sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.18.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz", + "integrity": "sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.18.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz", + "integrity": "sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.18.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz", + "integrity": "sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.18.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz", + "integrity": "sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.18.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz", + "integrity": "sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.18.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz", + "integrity": "sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.18.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz", + "integrity": "sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.18.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz", + "integrity": "sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.18.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz", + "integrity": "sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.18.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz", + "integrity": "sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.18.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz", + "integrity": "sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.18.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz", + "integrity": "sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://mirrors.cloud.tencent.com/npm/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://mirrors.cloud.tencent.com/npm/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://mirrors.cloud.tencent.com/npm/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.6", + "resolved": "https://mirrors.cloud.tencent.com/npm/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://mirrors.cloud.tencent.com/npm/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "node_modules/@types/prop-types": { + "version": "15.7.12", + "resolved": "https://mirrors.cloud.tencent.com/npm/@types/prop-types/-/prop-types-15.7.12.tgz", + "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", + "dev": true + }, + "node_modules/@types/react": { + "version": "18.3.3", + "resolved": "https://mirrors.cloud.tencent.com/npm/@types/react/-/react-18.3.3.tgz", + "integrity": "sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.3.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/@types/react-dom/-/react-dom-18.3.0.tgz", + "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.3.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/@vitejs/plugin-react/-/plugin-react-4.3.0.tgz", + "integrity": "sha512-KcEbMsn4Dpk+LIbHMj7gDPRKaTMStxxWRkRmxsg/jVdFdJCZWt1SchZcf0M4t8lIKdwwMsEyzhrcOXRrDPtOBw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.24.5", + "@babel/plugin-transform-react-jsx-self": "^7.24.5", + "@babel/plugin-transform-react-jsx-source": "^7.24.1", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.14.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0" + } + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://mirrors.cloud.tencent.com/npm/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://mirrors.cloud.tencent.com/npm/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.8", + "resolved": "https://mirrors.cloud.tencent.com/npm/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://mirrors.cloud.tencent.com/npm/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.toreversed": { + "version": "1.1.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz", + "integrity": "sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://mirrors.cloud.tencent.com/npm/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://mirrors.cloud.tencent.com/npm/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://mirrors.cloud.tencent.com/npm/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://mirrors.cloud.tencent.com/npm/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/browserslist": { + "version": "4.23.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://mirrors.cloud.tencent.com/npm/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001627", + "resolved": "https://mirrors.cloud.tencent.com/npm/caniuse-lite/-/caniuse-lite-1.0.30001627.tgz", + "integrity": "sha512-4zgNiB8nTyV/tHhwZrFs88ryjls/lHiqFhrxCW4qSTeuRByBVnPYpDInchOIySWknznucaf31Z4KYqjfbrecVw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://mirrors.cloud.tencent.com/npm/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://mirrors.cloud.tencent.com/npm/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://mirrors.cloud.tencent.com/npm/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://mirrors.cloud.tencent.com/npm/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true + }, + "node_modules/data-view-buffer": { + "version": "1.0.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/debug": { + "version": "4.3.5", + "resolved": "https://mirrors.cloud.tencent.com/npm/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://mirrors.cloud.tencent.com/npm/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://mirrors.cloud.tencent.com/npm/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.789", + "resolved": "https://mirrors.cloud.tencent.com/npm/electron-to-chromium/-/electron-to-chromium-1.4.789.tgz", + "integrity": "sha512-0VbyiaXoT++Fi2vHGo2ThOeS6X3vgRCWrjPeO2FeIAWL6ItiSJ9BqlH8LfCXe3X1IdcG+S0iLoNaxQWhfZoGzQ==", + "dev": true + }, + "node_modules/es-abstract": { + "version": "1.23.3", + "resolved": "https://mirrors.cloud.tencent.com/npm/es-abstract/-/es-abstract-1.23.3.tgz", + "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.15" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.0.19", + "resolved": "https://mirrors.cloud.tencent.com/npm/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz", + "integrity": "sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "iterator.prototype": "^1.1.2", + "safe-array-concat": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.3", + "resolved": "https://mirrors.cloud.tencent.com/npm/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/esbuild": { + "version": "0.20.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/esbuild/-/esbuild-0.20.2.tgz", + "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.20.2", + "@esbuild/android-arm": "0.20.2", + "@esbuild/android-arm64": "0.20.2", + "@esbuild/android-x64": "0.20.2", + "@esbuild/darwin-arm64": "0.20.2", + "@esbuild/darwin-x64": "0.20.2", + "@esbuild/freebsd-arm64": "0.20.2", + "@esbuild/freebsd-x64": "0.20.2", + "@esbuild/linux-arm": "0.20.2", + "@esbuild/linux-arm64": "0.20.2", + "@esbuild/linux-ia32": "0.20.2", + "@esbuild/linux-loong64": "0.20.2", + "@esbuild/linux-mips64el": "0.20.2", + "@esbuild/linux-ppc64": "0.20.2", + "@esbuild/linux-riscv64": "0.20.2", + "@esbuild/linux-s390x": "0.20.2", + "@esbuild/linux-x64": "0.20.2", + "@esbuild/netbsd-x64": "0.20.2", + "@esbuild/openbsd-x64": "0.20.2", + "@esbuild/sunos-x64": "0.20.2", + "@esbuild/win32-arm64": "0.20.2", + "@esbuild/win32-ia32": "0.20.2", + "@esbuild/win32-x64": "0.20.2" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://mirrors.cloud.tencent.com/npm/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "8.57.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.34.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/eslint-plugin-react/-/eslint-plugin-react-7.34.2.tgz", + "integrity": "sha512-2HCmrU+/JNigDN6tg55cRDKCQWicYAPB38JGSFDQt95jDm8rrvSUo7YPkOIm5l6ts1j1zCvysNcasvfTMQzUOw==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.toreversed": "^1.1.2", + "array.prototype.tosorted": "^1.1.3", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.19", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.8", + "object.fromentries": "^2.0.8", + "object.hasown": "^1.1.4", + "object.values": "^1.2.0", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.11" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react-refresh": { + "version": "0.4.7", + "resolved": "https://mirrors.cloud.tencent.com/npm/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.7.tgz", + "integrity": "sha512-yrj+KInFmwuQS2UQcg1SF83ha1tuHC1jMQbRNyuWtlEzzKRDgAl7L4Yp4NlDUZTZNlWvHEzOtJhMi40R7JxcSw==", + "dev": true, + "peerDependencies": { + "eslint": ">=7" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://mirrors.cloud.tencent.com/npm/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://mirrors.cloud.tencent.com/npm/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://mirrors.cloud.tencent.com/npm/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://mirrors.cloud.tencent.com/npm/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://mirrors.cloud.tencent.com/npm/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://mirrors.cloud.tencent.com/npm/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://mirrors.cloud.tencent.com/npm/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://mirrors.cloud.tencent.com/npm/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://mirrors.cloud.tencent.com/npm/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://mirrors.cloud.tencent.com/npm/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://mirrors.cloud.tencent.com/npm/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://mirrors.cloud.tencent.com/npm/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://mirrors.cloud.tencent.com/npm/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://mirrors.cloud.tencent.com/npm/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://mirrors.cloud.tencent.com/npm/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://mirrors.cloud.tencent.com/npm/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://mirrors.cloud.tencent.com/npm/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/internal-slot": { + "version": "1.0.7", + "resolved": "https://mirrors.cloud.tencent.com/npm/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.4", + "resolved": "https://mirrors.cloud.tencent.com/npm/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://mirrors.cloud.tencent.com/npm/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://mirrors.cloud.tencent.com/npm/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "dev": true, + "dependencies": { + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://mirrors.cloud.tencent.com/npm/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://mirrors.cloud.tencent.com/npm/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://mirrors.cloud.tencent.com/npm/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://mirrors.cloud.tencent.com/npm/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://mirrors.cloud.tencent.com/npm/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://mirrors.cloud.tencent.com/npm/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://mirrors.cloud.tencent.com/npm/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://mirrors.cloud.tencent.com/npm/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://mirrors.cloud.tencent.com/npm/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.3", + "resolved": "https://mirrors.cloud.tencent.com/npm/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://mirrors.cloud.tencent.com/npm/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://mirrors.cloud.tencent.com/npm/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.13", + "resolved": "https://mirrors.cloud.tencent.com/npm/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "dev": true, + "dependencies": { + "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.3", + "resolved": "https://mirrors.cloud.tencent.com/npm/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://mirrors.cloud.tencent.com/npm/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/iterator.prototype": { + "version": "1.1.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://mirrors.cloud.tencent.com/npm/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://mirrors.cloud.tencent.com/npm/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://mirrors.cloud.tencent.com/npm/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/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://mirrors.cloud.tencent.com/npm/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://mirrors.cloud.tencent.com/npm/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://mirrors.cloud.tencent.com/npm/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://mirrors.cloud.tencent.com/npm/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.8", + "resolved": "https://mirrors.cloud.tencent.com/npm/object.entries/-/object.entries-1.1.8.tgz", + "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://mirrors.cloud.tencent.com/npm/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.hasown": { + "version": "1.1.4", + "resolved": "https://mirrors.cloud.tencent.com/npm/object.hasown/-/object.hasown-1.1.4.tgz", + "integrity": "sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.2.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://mirrors.cloud.tencent.com/npm/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "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://mirrors.cloud.tencent.com/npm/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://mirrors.cloud.tencent.com/npm/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true + }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.4.38", + "resolved": "https://mirrors.cloud.tencent.com/npm/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "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" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://mirrors.cloud.tencent.com/npm/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "node_modules/react-refresh": { + "version": "0.14.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/react-refresh/-/react-refresh-0.14.2.tgz", + "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.6", + "resolved": "https://mirrors.cloud.tencent.com/npm/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", + "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.1", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://mirrors.cloud.tencent.com/npm/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://mirrors.cloud.tencent.com/npm/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "4.18.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/rollup/-/rollup-4.18.0.tgz", + "integrity": "sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.18.0", + "@rollup/rollup-android-arm64": "4.18.0", + "@rollup/rollup-darwin-arm64": "4.18.0", + "@rollup/rollup-darwin-x64": "4.18.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.18.0", + "@rollup/rollup-linux-arm-musleabihf": "4.18.0", + "@rollup/rollup-linux-arm64-gnu": "4.18.0", + "@rollup/rollup-linux-arm64-musl": "4.18.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.18.0", + "@rollup/rollup-linux-riscv64-gnu": "4.18.0", + "@rollup/rollup-linux-s390x-gnu": "4.18.0", + "@rollup/rollup-linux-x64-gnu": "4.18.0", + "@rollup/rollup-linux-x64-musl": "4.18.0", + "@rollup/rollup-win32-arm64-msvc": "4.18.0", + "@rollup/rollup-win32-ia32-msvc": "4.18.0", + "@rollup/rollup-win32-x64-msvc": "4.18.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.0.3", + "resolved": "https://mirrors.cloud.tencent.com/npm/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-regex": "^1.1.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://mirrors.cloud.tencent.com/npm/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.11", + "resolved": "https://mirrors.cloud.tencent.com/npm/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", + "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "regexp.prototype.flags": "^1.5.2", + "set-function-name": "^2.0.2", + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.9", + "resolved": "https://mirrors.cloud.tencent.com/npm/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.8", + "resolved": "https://mirrors.cloud.tencent.com/npm/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://mirrors.cloud.tencent.com/npm/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.6", + "resolved": "https://mirrors.cloud.tencent.com/npm/typed-array-length/-/typed-array-length-1.0.6.tgz", + "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.16", + "resolved": "https://mirrors.cloud.tencent.com/npm/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", + "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/vite": { + "version": "5.2.12", + "resolved": "https://mirrors.cloud.tencent.com/npm/vite/-/vite-5.2.12.tgz", + "integrity": "sha512-/gC8GxzxMK5ntBwb48pR32GGhENnjtY30G4A0jemunsBkiEZFw60s8InGpN8gkhHEkjnRK1aSAxeQgwvFhUHAA==", + "dev": true, + "dependencies": { + "esbuild": "^0.20.1", + "postcss": "^8.4.38", + "rollup": "^4.13.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.1.3", + "resolved": "https://mirrors.cloud.tencent.com/npm/which-builtin-type/-/which-builtin-type-1.1.3.tgz", + "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "dev": true, + "dependencies": { + "function.prototype.name": "^1.1.5", + "has-tostringtag": "^1.0.0", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.15", + "resolved": "https://mirrors.cloud.tencent.com/npm/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://mirrors.cloud.tencent.com/npm/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://mirrors.cloud.tencent.com/npm/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://mirrors.cloud.tencent.com/npm/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://mirrors.cloud.tencent.com/npm/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/members/flatcc/task1/package.json b/members/flatcc/task1/package.json new file mode 100644 index 0000000000..f36e81bc79 --- /dev/null +++ b/members/flatcc/task1/package.json @@ -0,0 +1,26 @@ +{ + "name": "task1", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "lint": "eslint . --ext js,jsx --report-unused-disable-directives --max-warnings 0", + "preview": "vite preview" + }, + "dependencies": { + "react": "^18.2.0", + "react-dom": "^18.2.0" + }, + "devDependencies": { + "@types/react": "^18.2.66", + "@types/react-dom": "^18.2.22", + "@vitejs/plugin-react": "^4.2.1", + "eslint": "^8.57.0", + "eslint-plugin-react": "^7.34.1", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.4.6", + "vite": "^5.2.0" + } +} diff --git a/members/flatcc/task1/public/vite.svg b/members/flatcc/task1/public/vite.svg new file mode 100644 index 0000000000..e7b8dfb1b2 --- /dev/null +++ b/members/flatcc/task1/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/members/flatcc/task1/src/App.css b/members/flatcc/task1/src/App.css new file mode 100644 index 0000000000..0e01b3fe90 --- /dev/null +++ b/members/flatcc/task1/src/App.css @@ -0,0 +1,56 @@ +#root { + margin: 0 auto; + text-align: center; + width: 40%; +} + +header { + text-align: center; + margin-bottom: 20px; +} + +header h1 { + font-size: 2em; + color: #333; + font-family: 'Courier New', Courier, monospace; +} + +form { + display: flex; + justify-content: space-around; +} + +form div { + margin-right: 10px; +} + +input[type="text"] { + flex: 1; + padding: 10px; + border: 2px solid #090808; + border-radius: 8px 0 0 8px; + margin-right: -1px; +} + +ul { + list-style: none; + padding: 0; +} + +li { + display: flex; + align-items: center; + justify-content: space-between; + padding: 2px; + border-radius: 10px; + margin-bottom: 10px; + background-color: #eaf3f3; + font-weight: 600; + font-family: 'Courier New', Courier, monospace; +} + +li.completed { + text-decoration: line-through; + color: #777; + background-color: #dadbdc; +} \ No newline at end of file diff --git a/members/flatcc/task1/src/App.jsx b/members/flatcc/task1/src/App.jsx new file mode 100644 index 0000000000..7f569d33a8 --- /dev/null +++ b/members/flatcc/task1/src/App.jsx @@ -0,0 +1,55 @@ +import { useState, useEffect } from 'react' +import './App.css' +import { Header } from './components/Header' +import { AddToDo } from './components/AddToDo' +import { ToDoList } from './components/ToDoList' + + +function App() { + const [todos, setTodos] = useState( () => { + const localValue = localStorage.getItem("TodoLists") + if (localValue == null) return [] + return JSON.parse(localValue) + }) + + useEffect(() => { + localStorage.setItem("TodoLists", JSON.stringify(todos)) + }, [todos]) + + function addTodo(title) { + setTodos(currentTodos => { + return [ + ...currentTodos, + { id: crypto.randomUUID(), title, completed: false }, + ] + }) + } + + function toggleTodo(id, completed) { + setTodos(currentTodos => { + return currentTodos.map(todo => { + if (todo.id === id) { + return { ...todo, completed } + } + + return todo + }) + }) + } + + function deleteTodo(id) { + setTodos(currentTodos => { + return currentTodos.filter(todo => todo.id !== id) + }) + } + + return ( + <> +
+ + + + ) +} + +export default App diff --git a/members/flatcc/task1/src/components/AddToDo.jsx b/members/flatcc/task1/src/components/AddToDo.jsx new file mode 100644 index 0000000000..4856314684 --- /dev/null +++ b/members/flatcc/task1/src/components/AddToDo.jsx @@ -0,0 +1,30 @@ +import { useState } from "react" + +function AddToDo({ onSubmit }) { + const [newItem, setNewItem] = useState("") + + function handleSubmit(e) { + e.preventDefault() + if (newItem === "") return + + onSubmit(newItem) + + setNewItem("") + } + + return ( +
+
+ setNewItem(e.target.value)} + type="text" + id="item" + /> +
+ +
+ ) +} + +export {AddToDo}; \ No newline at end of file diff --git a/members/flatcc/task1/src/components/Header.jsx b/members/flatcc/task1/src/components/Header.jsx new file mode 100644 index 0000000000..98385767c2 --- /dev/null +++ b/members/flatcc/task1/src/components/Header.jsx @@ -0,0 +1,7 @@ +export function Header() { + return( + <> +

Todo List

+ + ) +} \ No newline at end of file diff --git a/members/flatcc/task1/src/components/ToDoItem.jsx b/members/flatcc/task1/src/components/ToDoItem.jsx new file mode 100644 index 0000000000..737477ddea --- /dev/null +++ b/members/flatcc/task1/src/components/ToDoItem.jsx @@ -0,0 +1,17 @@ +function ToDoItem({ completed, id, title, toggleTodo, deleteTodo }) { + return ( +
  • + toggleTodo(id, e.target.checked)} + /> + {title} + +
  • + ) + } + + export {ToDoItem}; \ No newline at end of file diff --git a/members/flatcc/task1/src/components/ToDoList.jsx b/members/flatcc/task1/src/components/ToDoList.jsx new file mode 100644 index 0000000000..d620618732 --- /dev/null +++ b/members/flatcc/task1/src/components/ToDoList.jsx @@ -0,0 +1,21 @@ +import { ToDoItem } from "./ToDoItem" + +function ToDoList({ todos, toggleTodo, deleteTodo }) { + return ( +
      + {todos.length === 0 && "No Todos"} + {todos.map(todo => { + return ( + + ) + })} +
    + ) +} + +export {ToDoList}; \ No newline at end of file diff --git a/members/flatcc/task1/src/index.css b/members/flatcc/task1/src/index.css new file mode 100644 index 0000000000..6119ad9a8f --- /dev/null +++ b/members/flatcc/task1/src/index.css @@ -0,0 +1,68 @@ +:root { + font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} diff --git a/members/flatcc/task1/src/main.jsx b/members/flatcc/task1/src/main.jsx new file mode 100644 index 0000000000..0291fe5b29 --- /dev/null +++ b/members/flatcc/task1/src/main.jsx @@ -0,0 +1,10 @@ +import React from 'react' +import ReactDOM from 'react-dom/client' +import App from './App.jsx' +import './index.css' + +ReactDOM.createRoot(document.getElementById('root')).render( + + + , +) \ No newline at end of file diff --git a/members/flatcc/task1/vite.config.js b/members/flatcc/task1/vite.config.js new file mode 100644 index 0000000000..5a33944a9b --- /dev/null +++ b/members/flatcc/task1/vite.config.js @@ -0,0 +1,7 @@ +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [react()], +}) From 5d79261379ce90af6c36d4dfec8f9f7478595bfc Mon Sep 17 00:00:00 2001 From: fl Date: Wed, 5 Jun 2024 13:49:35 +0800 Subject: [PATCH 07/18] Modify Task1 readme.md --- members/flatcc/task1/README.md | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/members/flatcc/task1/README.md b/members/flatcc/task1/README.md index f768e33fc9..1cbfc78d05 100644 --- a/members/flatcc/task1/README.md +++ b/members/flatcc/task1/README.md @@ -1,8 +1,3 @@ -# React + Vite +# task1 -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/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh -- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh +完成Todo List \ No newline at end of file From 4f92efb328b85d97682b51b09af45ec0ba127d8f Mon Sep 17 00:00:00 2001 From: wanna-wl <2304302348@qq.com> Date: Wed, 5 Jun 2024 13:58:18 +0800 Subject: [PATCH 08/18] =?UTF-8?q?=E6=8A=A5=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- members/wanna-wl/readme.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 members/wanna-wl/readme.md diff --git a/members/wanna-wl/readme.md b/members/wanna-wl/readme.md new file mode 100644 index 0000000000..2637790571 --- /dev/null +++ b/members/wanna-wl/readme.md @@ -0,0 +1,19 @@ +# Web3 前端训练营报名 + +## 个人信息 + +* Github ID:wanna-wl + +* Wechat ID:wanna2018777 + +* Openbuild Username:wanna2018777 + +* ERC20 钱包地址: 0x44c449edFc2532acfdaEE5110B9fBf0FC8a24b1f + +### 个人介绍 + +区块链工程专业学生 + +## 任务提交 + +`建议所有的作业结果在个人的 Github 下单独建立仓库放置,在此 readme 里只当相关链接或简介描述即可` From 881ec09fc58ce0b48d7694f23058a807bccaa115 Mon Sep 17 00:00:00 2001 From: fl Date: Wed, 5 Jun 2024 14:38:05 +0800 Subject: [PATCH 09/18] Complete Task 2 --- members/flatcc/task2/bind-wallet.jpg | Bin 0 -> 147487 bytes members/flatcc/task2/readme.md | 83 +++++++++++++++++++++++++++ 2 files changed, 83 insertions(+) create mode 100755 members/flatcc/task2/bind-wallet.jpg create mode 100644 members/flatcc/task2/readme.md diff --git a/members/flatcc/task2/bind-wallet.jpg b/members/flatcc/task2/bind-wallet.jpg new file mode 100755 index 0000000000000000000000000000000000000000..9ef589740c4bffda7ecb77ca00e8b1757219a4cf GIT binary patch literal 147487 zcmeEv1z1$=y7n4o=nm-)K}zX{L8L_xl@96d?g0d)Q&1#EX{Ec7F6ol)?nd&T@7wwB zZ=ZekzpwwC^X+pvUN{%5HEX@^yPo&S`?=@#`|Uh{rywIQ1AssP07Co&Zf^h*Src0m zM+0XQV_HKG+Gn;F_6APQCbv_-D*yu(6%7>y0}Txg69WSihZGM78ykn}4lzC{0}T@+ zJqoljOk4znfr*KOjYEltM=8QW&m!{w z{JQ-L;G-dPqJIQ~@Bt)z5EvhH+Y0)G7(6oQ*B9`|7YGRqK}JDEL&w0x1CT&qFcJie zj0}Mw&h$YX10eXw1aw@ID1=W9Q0X0rxcy^3qA@%yZn~p7xX;LA=oo;GK}0YgxKnGXob4e@KwcUlADZYeRaEksAEq_ky6n>Nh*adiN-va2t@5Rn0#J@4T zYbWvD-pBFN0ycgfzR)c|>RvI|bYZQYNIay2ZhSauMC%mbbA*2#t-PiJY zZ}6c9v(Z5moHhm%wgmEXHi;+I()do60|aRw?#_;Y`kV643sv6eOt?GFQn;;hdAO=R ztPfGirjddY_|&#H9)pJ(_r)5|Ljm!bCH)J~hWNlvBw*WpAb*j$l7J!Pe-2&jLTi^{G&DL9bk%OMW?aMmeb*Q*WZ1-BP`FQOe zR&LaCzoXPA6De>fFNgym0#ray-fflrrnj7kW+KH zHMgRf!nf^9KVA>hcpoap}>g$z6&5azE~JmUWlz{F}R`r@J_0L88X;7 zfNOjUN{M^Lp-*xP49NTKb>9L(fL76Y| z_8klQ6r;7Hk--Q#@cj?Q2Aq1ZOdiw`=z>;O)V`3up5|WQ`%(gH05!^+vt+a*V#l~F z)O<0#a`Ig+1|cf#jbKMT;F?D1w+zm@1;z&vH&+6b_myv?tr{;bB`(n5xU#=q_((tE z7C7Y4@Ef1I={5(6quv6Yl{vrs*2w}MS_dZ`tYa^nM;{jYS?7sKzI9{)%`(=Hd>Z3b z;!&#CmZ!o&pl5b;?&lFCqN>A?-W6aEgt11oX+OV~nLZlCb^ZY~1Zu+IF9Q-4ujZlx^ScSMW zgq!<44)@50Zcnt*MM7ygORFMUP^~nuvXr+2U48k-r|(nluE! zgk$NeD?13JS$(lGR8U3s7v5iiGKhu5pVGwf0nQ^omBQ~=FY?V8%DBD!oX(iq?9czH zpie~WAUtvh<((^h{+lfG#)jlkRoz5okCg2#uWb4;=A+cZrqv zqJk&Su30U{!jCt78bt2p2ZqLZ_te}14C(n%EG*#AgSqhF$gvu|G(S5#9~a?_lCC44 zB=K$8m5Tvn_j2tXJA8M&zB#?PXJrinD4K6nm?pEqkzYfBtrHGA#lcbSr;Pz40y6}H zkZWY%Q7XgW%FxQl;z<7N5GVD^TYxpz9(24M3bgP0Mdn>e+p4ZEj!}%IEJdPyUx{}X z6#oR{E2w)0|32#zxusSfx+KU|7D#(}p#r%GuFTv}VLUtA*Y04RHnSJ-5i>{9m3US> zYI8Ga;Bx1iX8ZXREjdvBcWhvnv7Dg=<${WFnk9O2JpBqsO#AeC^YZ3HIU>v#OFa_p zV#@WhT!(y4-3@a|nA5r<@5gDdyoDBZA6pR*ciGwTKOP&H_r3)#IaJ-m({bNqzsdUi z%#*}c9M4@<+mDmQmd@LO{+s+&6j5JbSDn@Tmwr_JPjWXt89yHMq3}e0mNkM>C+_>T zac|ZZB&G(mtSW|E9h!j^qYaODDwxH+>X>V!- zLYCgXBxrHLAh9wdGX)n+`|PbjDM!~jFws_x%LaFupuWc?5axZd8)s1FNAH&dE}BEL z7ec%flnYv_@;emDrP|b(8>y0>@%BnnmMf%ZW|s|rmvQI)sBD* z80e}LN*!V4V&`K+)tlGF%U!S>gCm6j9MVLl9pVp3Y{jSbnuE>ePt#0X7VhaS_MxZk zunWi&6t|=1z|q9n-NniB^6koO=pqK9^F9sD?QsehJ-tW*UeAZlOv&eK=}0qLHYnP- zFkl}=z8qo+U&C7!_Cz5Ty_VGX|{a%SP7lxjU4z(xP^vLwr_0(op zuz(xjxZI<@Tv_k)bvLqQEW~^5_xFy9Ypsj~+W=3F>yw5LMtnO{+X0aK48RlMlnB&o zPJ_=Yfxi`~Fw9V8#?rr9XP^!~=-+@+o^{at05%#=j{S}ap@dh2w?K^6-c3XQO#lmc za2*_Y5Y;9o(vpa4U_vrg`0O>Pn9^(@b?v(fD#k59cJ-uBleXk}|IA^?wG))cTmJw@ znPlDdRGpsb-JA2V>g1*Pi$dJFs@KEb`XyagtZ0Z(1PNl)|^h{kTbe#PN; z>^Oi-L(yg;@Wz{u`lC?5NUuYKBv%+sjo=S|h*RV-NJi0yMEQU?PU3Z8#LRZ-o6PX( z4{6hBb-soQOXKt~kOf@lyjD-R4RP^gB~r=Lu|S5G+oYy2;cE;rZYqiHp@N{^n(7}n z1Ewu53=WJp2p4@pq{^BXTWxotq7C_ExcV5>1;^UK>2D(u_L(`F*a+v#;;EUITNvXf zeNKyIUj@gugXm6kzUL3ixkEDfIQ0>XK=ACC}`1 zhaKt7JqjXFn#JM{(uD(rJo&DS;0y1py{vg2C^`4sWRn|mMk#B*J$eYPT8ECWGsy54 z7YV66^E&_Foz}OKcZ^)}Q40nmDo7J^lXH3bR@~im(XA_fLBZS-Poc#BX(+{&dEn{~ z>BmZnw_>z@k%-+yRilDjFQGlmr`p_pK{nxg_{FI^XIq}0-=`d1=LGNtoN?w zN^}@!6}RII`o@lVL8gD-eYmU0#0IpK9uA(M7HP&$w+F~XRXrORfb4FO^HgJe=9b@PL5dmYEza_@xUOI@OKGqd z(pjVFgWaubEH5e(P=Cg*67Ib-oEi^QCXP+|q|eNJD~7(C-Wf24NvN_Q8JjrcWV5!= zUW5VxN)LzF&hw~UwBN^DjW%UkQR%Vf1R@3 zz7E6<&J51VeHt3B{z!OsQCsoNE^TxNyEU1H3(BiWH<`C|jk0+hJZT)04wY>y3|z{9Fu%Cld2;eK4k5zNHL?t@wm~vUQlCL3>6Z0 zjBumToBNld2sL%5G++bGLsL`U1A84GsXWah%YePtMGsT)MzSj^{maof3m(b7C>igrz4QBd5RH)TqH#6*3N=7`r9xZ2|p$fO356W$G%`$G#?Sgf%~7`1Owf|oO7FwyZY|NV*u&ip73GpI@~f1*Qs*0Y9aqkiM%eC~7W$_2 z%R-{jNyXphULbv6Xm}unm5LH856n@nt6Z+pbo-}z?7PYnc9`d$=}k)eWuyM^hf>!s z&S7jc+#Om`{O+biq`a(vj>6x8dV~ZMrTOZ1-)hN+RqlI$8HP{O`~Ygn#1;E~9X4+w zfAFDZh8YI~9uZ+Q9Q>6g1@Jg)ZG4?DOA*1R%j{kfb1IKXHT#VEotVAPI{4E$*P>>j z4W~0(E@t`Xke7@{rGgCmj0n|ewL}uaJap{N`$hh-qdws(cQOsT3rz?wsNb7wUoXll zo61X%OVo}oa+d5JE2WE3YNG6UTuvQ*%iP7k>)a#hOGAz}%ty18sxmq+5Bl45SYoDdbHH)CyV&YMGj5+6;=p zLF-}R1@&aNN)V@`kgs$xT(;u>z=u*5`Zuu6Ok2iS%+elakU;2lKSN&51R5dSfPpJS z;)ni8`7NNQdJC-Ig^9Y&pIt>cAOhLCv`!V&Mita=;;abAVM^^5D0IFzwL;-2BnJnjWc3;{#uTFHB9VvlA#+YJ=zZ(_*UW_5$N^x zm;5)Xa~k{3iNn$zA8ZdqZT;%N(K0?PpaCm4*Vghzf4c?d+^9~S8zm@qqIy-T6yq$Y zKBiyI!B+lCQ3X=u9&j^(p?%KqGzh)#`!@`pb1{HsKU)8X63G=Ec~ru3!sDjkew~P8 z;9$|`ITkLeB@Ab3;TBk2N6KGKU*u3D%P*V5?#WViY|x&aLFl-S#|!d|kt3kN^$TNR z{uryQsaV5`aQe8BrCf<;y@2lDONE1J+U5@LS*D$A-vZq*c5{hCpa}6SoNt~3R^+YZ zd?oU%q9qE8f(GFx8Ajh#kdY7W%;dMCf7wtn!ESjoWbhzHirT+OuouuCIT4xCj;|~k zGOcsfZ997v;jyl921h$iaaEl9QMNU8x1=rz63o5Oa&L(?6zGp?C!E#Qo!FQZtyCv2 zCH?NNx;Oa(k1Vrhd~s;yhkl zZT>CBcVDTQ=?hz`5ffdc0E3@1g{hTE12YJN%m8_(P+SGNvWuPHF^BR*Y z6p9a|x)Res)JG~7aPooJ(8etL{#5`O(_|d0G-(f4GYlEfk7_-8V3|;%RS?G%JImk6 zbR?B)ClwhCyKkwLa+2RY^?ieTmWOlkvRS5KLhKg60K(+PlWuO7lxj<@*rr@?21&5U zlWPGRqcZun9|*~&WZ~x; zjNC`%1+ktdq4Q$)K7DC_D%m==*TPWvLShL@^g8T*_HcW;8N8PduC%?Xl1;j1z8BRD zr!qG=NjD*vEAyG|%+PH6AIVhXNU*+B%uRdq^; z&5QO;Yk7T8mNlRl_k9R6NH&)jq^C?UrzumZl^VvBABRV7z~V&843tC$9>FoSDjL{r zck*mFv`!B<6gvotRES&*l_jAB8%Yt@qb*H7newLHwShnU2kZT*ep!#<-$alnt%%Vw)rw38mP9hPAVlUEN}$LQS-eEW=>sr)Q0?^)WqXAti=pi30mtrDY{j<9 z<$P~od^Vmb+9Cb&3;8K~MIP6`{rRw!j;lV}2xa(Z$GLR9^KRtY z8IOzy6{lNP;NpDY*2;``b>n9I#`T&lxfqV7-Z~jR)_#MHV!`fEB@~ZN=2wS^qza+L zh2Dy0HtAEADqp7amsqvi(>!Ht1E)U1kxNHiCTt14OVd`U&e-&D1wz?7er}W~V z{bnSXpj&m(u(y|=#2Y|5iI}a(WU;DRourm^5Z?b@? zCm)3^KFMZ`%n8e;Gc|&t$litVI`4S6ysb&V~>1S)+Ny%g=R{Oq7vi__b*;J_Z_YaS?3fw#Vs36|Tq7W;uk z!B-!6rvQr>`jciD@mkwB|Jag>53${LiR^`ZwC$uPe_s_Gv*s*>Zs23d`vr@o+ISfZ zYN*)3EbN|+dxHnGwR z-<}j}NZ}ammMQQj1tzv)JwaQ0P~2frX^y^v$tNGP#UkbsS3f1Q zHzniCj8=Ep-Ej=l&OWEe2{=|1lBMv+p|Shhs|mzaaV{-S#PvLl3W-2N>ssAbuF8V1 zniy5fR9ickNL}Gz^X*bP~bt z@bkxyW)w=|HoK2WgMgs+<-NPlmlB_{cy;N0LE1_P za|l10+tArx)|$R1uW41DE-7vFNtitLbKh(|#(j8heAIlFaEP6=SpYxjm%3)F#U*3h z_2%@5Y&K+LeV&ymID2{v@C;bx>?@E*hGlP7^1G2llQ9)1_QLi|zR%WCd%D5V%KLFF zeCY!O%h{Zmk@tc<4Z?Bav)7%zdh!Y zuA)=6mIwE@&{+Oco3GA&%6gtB2WQG62z8_*v0X8yEw52!8skw0$D{b+{*evFktse+tB^Jw^(O|5cx zfh)b@jD35%cbG9&egjJWml*rc1x2iQkw;q;5J#Lb20>mzK4#)i+x-G{MUCX?+Wiz= zP7E$vjnisMB5A4PEr!H&!%1~%i?$o;dNli|8A&#~>9#d_Ayr?f@%-GxK-ZQ-#U~T4 z+LY`bnR#;y>&|ZE1u0hONnTs-OJJrX738N|)XWDG9ro_A?#I1cVH(;MtBKjkH?z$! z{u}gl0tP*+;k$PdxA%=*mWd_ci0H(#zT?VE@n+%XIp_#CX!ldefy@Ud5lE;=JbOn` zzZP)u2Jb7LBQEU#D&c|cDW)B`A1lKnk(*v7JC}C(7cU!gUtv=Hz+|R5aHY+(yJIHB zUP9`J3UXoOgHAplL|#2%fID!C_7*r<2i;KbS6(qoV3%!CSe@@=6xGCcRSURm%nb~H z5aycm=q9kpZyr%>CI<%hZ-J)Ed=kCVkvWav7ZveBlIY0wrAa{A((9|R8nv*p~$<}VJVsM!MURn!>b&dvJQC@=wWVZTmUxm%z> z)sGL36E@#?6>{V^KI}&arMfDX6;&b{%!{dNVF(WpYXiJn7T?*}h`z{a%U-ZqsxqMN z3rwAh0K9GrN;he63j9@VnTNXAHrqv)j^McD=bAa%7PCSXUb)1)Z>ed&*$d#e0Y2#L z#Z8z>Y@cNUop>k#7Vs*EQhVhRTXrdO+s-9vk?^jsL<-=8yyW+Tpxo{P0UkTV4QxCV z%f9xKzh(g!o-g8_q9l7^rr!eaBt%pdm%HD#7$Cqg*m?Xz8gP~%;Qdj4AIVbXYi7nH zf*`8qBIaWhm}uaFYo*;M_ipA|mq?0tlPIq18PT$v$bb(P8UyVzIdGU3$tV^X+bxNt z38Fpw3dht3&nUkxC+eK$Y+{%)hvO>!a~h88N*57FCFCOFsQ#-QBr!sbVTOV2n7y6R z1PFvoMwSQ^wS=O%SEi&&F_fV4WP|A&L?B)Ri+ZUXP|DdD6G#|r@mb8x4Amqww2NA` zj;Q*IkhM6KkwQ*yoeQCn#!`;-N`mwt-C@FUviQJlSd>(^QfFv^n=NL%EstUe4mS_Cl zsQP9w=9RVmcUCx_1Q<%zKu}>`R#E&xzpALZJSIWgyPZGzgd$i@ybR>H+1EbTJj;;O zuWEJno}xb{G+9vJAo7(8%4$5Y?@|PgD#k@@0m1bhv#N9TY(*?n{SuuYd*tB>k_>B6 z9f;uE*|Q^**DDHphQcdnmwIt#Oi*Q|i&X~gbPq~-{f(e&e@U`R#wBvhIl(mC_|r=8 zwwJLAO4~_(#MoQr$tzu+$;a=k>+~N;NG1X0xfV6gOTSBBe;(5c$^*2&l>jTkj<^s9 zDE45v$ngPXjab{URy>>C8s;l#-fLPLYll8_aMo|+PB0C_&%}02eC|}4=ThOZ$AVM% z{X*L^AgOwor1e7J6b+_Nb|5eT1zMs$xC&maBaOxnTBM4PCj1z?UnxsC)wu?0&Vhip zr2&%Cw$JCcfTA{urf&;Ylmk6w5H^e`O;17#5EXK9Q99b)?Y};OV(q701z$Zzy}AYbq@d{Y ziaqAe>Lm&8LyK&=FFu)q{MqFeVchvUX7&4XVfj1$+~vn@&t0tf<*uM`Y$}!(rwmD9 z_mV|Md{}2YU6Fq$ZJ{Ob;qpF|nzXpsM=s1xz$df+-JQxq$L#EUKqm1bIIh5AOiEoz z3$ufzv%A6Ah-~KV4k81g`&fjIKk+3cLR_IXOdH;3=&lQ8}|eJA8Sf0Kl<7w<{B4OP~_ zv;&Y--kQp~{X5GE!?N7?xGabqN6#ZTc9(&qEmI}aWnkO<-+!5q@;&5?a{_mam{ovj%9F&uq6E9&`qn1hFLv!a(aQ-G%W zZs{&F*t&aubY5w-N#3G&(Rr z;xNScBwD3h3STv?2}GM65`nzhzjB+;hX>}i+yWm}klZhCpcQF|awP5%FEFEKzJ2AF zIjvLEMwC$UsGtMvD%oz1)KH%@IdeYVGIl!5o{v>RhCvzBNlJDyKY&~dNGupxzNQQl zY6zphWJUDAP7P7wETNp(i3h0<|_#dL?DS3 zg=da$<+|RziaF)fFuCA+Y=fwKrF}9de>J|OaX=Z<>qR?;cX6#W}mtAI|sZWOFegM2{$S@a`f0~7d&e{G2V-?rD#wxw5dNIoAJR3 zR>t~XVu1B#wzgE$OUCEV8dMdeK57Yxz^Le(DDKko3JF@3Ecq zn+7uuhm7KP@7}AJy|q5j8E&b)%${7SvwBEs``B7v)QfHIK+Vrzto)VQn!}H|k<NN9UASn$$nTMI4Oh*vYPa|FR-z^=-qZOy;|50FKirbDqBFhdaTU z_Rf|eY(>(If>?4RTJq}|9D_t%ocTN?{~lM5n}D?3IR3-NF4<~0uGKzG;BYhfJ^u;g zy5zm87*Dez>Sh?#QXyJ)SeZo0mppZqigQL=*cs~g0o0I*S@-mX*`fu*gfXd>4pu^< zufDImLV@uSU-t7a8WsF%UD(BmD;!o79JdwaL2M;$;3cP7tAeXC?0?Q00Lx<94 zOZ>`2jOLPnmh%a$Qg<(9e3?Uhx7a)KH()6K6+y6ubHrms!uH1-5#2JrTEO;|A^N`W zXVj~UM#QAa&mToLh*dJlQ9r7ez2pVe9&~AzV>4LBUFHhoBCu@|!*!B{8^o(~PeyEa z3^}SY9z*-{0Zl&=_lga2lra|)oCnY4rV+V3eo?CZIrVWDG+RDQc^lr7mqVi6FEXfM z)E*~rTtBo=68Fug!i^?jq5|!=02ZGT_l?yx`ONONvEd~>S?qnAdN~9Lj_I_KK>yQ5 zs&BS^qqDZH>lOb1YNj{;xs^w@CH|J@^22-dtFzP5a?Ix+h7nbJx1|?m`=)t0neV3f z0Ww4?KWYIxzg162CKesvx0jjy70w7~Q(R)dHI;RLYGUdw37233RRj?i!D$#)2cNJ%@rCN4!k4lUS*$Pm$nLMT&+R8|uG5?RtenS*8@$51 z^Mp{717kfeRZviaopH(C-C8R?@?I-U-eZ1|+!{VuvX;{3$c0!Z-@llYf3#m1l1K{- z+|43PLfXe<$*{!G;8=U-(#N=nDwW^7uwM|M^ZH3iWf_0;q!d+kpP|OrXQ_40aE#Mg zn!)Y0qn)xIjZ7*kLm(#do`U zXp`pt_?^#*RXpcU;pl&9nzD%9SY{GO-Vo*PsLiX~qdQrWMiorPx_`fda!;3eZ1F)B%jVJ{mpRe@$h8<3njcsJ$nMzEBc(s_Y8yv@RgYUx!i=BLL z4&;>HX41*^9_mrZ%TytWw}7+OlcXfm2%BtUxuRCQSV222AW{Nny;#TRlNjruNuLy& zIxQma9X7+=@)Vj_VLy$$u}W+0!vd5HTRV^3GqJ#~seDR~+&>26_ze`9ti;_(DoHIt zm%eMJPcsRbG3{9!piw%^&UW$ZFQ?Cnx99TD%sUskw zN#Z#B$T*9Nf`U~U6uKVj{F5^{CUJsV1s)m)$5H^@AcIOe!k7K)V3uc(7n}ME#y&YQIq{ILyfPH6V_(K!b_04xzvY5AQQy*sb1 zfsQ2QAf*YFt-COFdK*zE31{_e|2b8WJS5$hkt*IvVQfY`o7Z-}` z3!wUhxgJo9do+~QpuNGnWm>I<#l#iyHS#qgQclUYaPw?v%wlMkD9tCGmRpWWdJ@Vt z9)*B{{Z6s(ztIN&>^MgSTDmpGn?s3Nl~EJ)`}nG|{6J(5)ndmY^Fs&;uDu)J zS34QFdH5M8h1#vIk>Ml!Bs5Xoj%aYIi8R&%L`w*RyYT|rx?PNWb`E%v#-J)8tZYPO z;yFmm;(o$Ix&Y#EXAU}4L{`yclu2xhl4vj&s};po=8K_g7vh*Dueb}t=Pm(}Hf%K{u#uaq{ zN4J^WsPy^7GJIJ}A%y5^!Mv8YP9<%&^U%Tab0!QQfF!!vK#HXZP!kMY1MC4Rc{p0c z%19zEavgr@Bh+`_&ViU@97F|*t<<>$HL53;nPn^aXxkjA_iv#rpgVubwx+d2{h)C! zyx6+N27Is`GA+hqJrdQ3ha1l_f;4W7RUrG?O*S-%c32LyH>4vhS3!V0BF^X5FihcB zB$vxR*Oep!-DyZOF>lMyn}?-l2_kI3FZ26H?#9n!|CY;xp;eHGl5e&Age&l^!Kf0d zI0H7;BO%jg=GYAkQ)Mh)!C7nx^4Ymt!z(KaB6Q_y>)e@G zF+EQ+2y&fSkL0dVh6&^1x?5`hP+i@?(2BJ8?79WU;3q|7-e35H!)C7fj)Bj2WB^h? z#Ya_b5EJ_Cj80UN%odWc^86zDYYY^v$#iVO-9+14V$o9tnUu22Gr>`zy-VlEW7&&# znr3DA+7^^tIJvKwDUW8W00)77HFlGLAxb&ss&g$zj{-4bU=mzVVuGOsUCqLkm$e` z!`oE^&^%r`Adr=KbqPtY#(Egz+UbsvihJ($aiw_z{Z;R-Q%sV`8U`8H`xNW}Q5HC6 zBLC@`a6KY?+fsel6pa3rv=xr65L#oBZ)x^u? z@a4+^l!)JKWvUMTpQ!mgZ^3l z{pb48&ky`2zxn%FR%~ZY6001B**N)KzPl-dnq}u*KQ!`9H_}~nPq&B%n*H{jfgb-;TQ#}Zj^-qjI8^iAmdL|H3C_2s&mF&sF}oIA^}-)KU=gD; z2N0c%HZN<#84q3q%dWJS4jK3GU1N()dct+aBfz!FZH+Vw@hT+9ApBv&XPQ&Q=~WqxP|GG4xFh7nj{YQGs0GQ?sam5Rl<#?=B` z%2Vo-Vjx~_jvb6~CwE~qy!bjSn(FpySSSvi8&I$$MK9&I>evSllaCRVo#3S><<)WD zVtE=#r}Li2oFfou+AUTjiC6|C1*o1t!oQ_f{$nWe^X;EYb^P=_eoFbzz4CLf{B0fn zr%e2miJvmT@^cA(cS}G&i$IwTfa($5n{Y4!Y)}eCIlBc+Vc2^&y#U4BbrK-Zc*zUc z`JI{rKTrL)UIA=EaUnz-$C?Bj4({`lgrX+j1i)~G5N-I>P8S$}=-M$6;L*R%0vx3c z{5i<$LJLIu>RWeq21gzE@6Jaec{ey3 zUrjH0+)D7cdpIIDSK|?s824$ z_TyKl@OeDBK1Ap2uuGVY>goj=F?5XQ9nXwR^})pD(fdV_cAV$)2&yHZ9*T!KW#m0Z?<~MZ8r_!m?w(-(FfT~# zPjw)EO~_Nx{ABtB!BaR!jZ7{|d1h126kFc2faiiu^Dzjh4au(o4fty>pfczZ=HsTM zefh#ABxL{{1?NR*+K3AB#lL`T1wF_zW<2Ea-+~hSw`=78ZVT|g<9>LLG}}}f(ePr0*ID_L?XaJJ?;WGQq(L6E`#?7 zNVYWawDQ3AQz};Ij|!z6U405U0Zt+=LlCVe;KvHg6b+YeS>~){Ha}T{1Fyj zMeEHG85;PA9(K3Ej%fXY$I8jFc)E^-DYd8bg;ITU(Hg_Z07^ox2VYxC=4eHwU8Yt) zsS{&P<`gY{Lhim7H3+?!pX!c9L>6|LLQsYVi@!{g#IvO=>Icq`mymZSQtCrn*+`v-}GlUHQBSS>~nw38t89Oqf{ z_~dS8`jk~oR#wbpp7jnyCA>3Tf`@vB#~(^$eI@Vmd86Y6qJjEThq4>i{`WKv7#Qy8 z(RJDeXf+(@j<&~qoNjZV{(zGqS5@acU4(}V7Il;XiK?LF$0zPvjE`gIw|stBL=x~K zLW&JgW^!l9wggP0zUb+mqj0EMfOX5$74*%)_NbK$P%<}P+A+Tc%Kg!{jKS+d)db$R zDJa9$^2{`aM1a1Y`ve`%&JH`-8_PA6i?I63YI{*~GRT#;&Qn_+>^0rKYrW*gBoDJ3wDp-dz+7 zBT4nc00I?LQ>RZ?9yu1Zr(;y_`X~YNi}iQ+)P@Z%(Ur@!beLKd>6)vb4Wv#$22jM)v)vQ* zMtQBigt2+Cd11CD$-TOqfNf5E-PqWJ-bwdSqY3dmzOd%f2@052v}4$2$H2myO{d8R ztTwdx(_QlPt+bkD?fBXnCkz6Z=T>BslT(+IeV>EU3>NBD{V;USpFOJ#6>*lq)9c{e z>F`})a%jg9K>*e5IO^2DnBM~5-S}NA7GK~idzbEZyRp9OQ?3UTKbw=dUW}#XeAj5o z(Vm?ApkMNB!4>C0w;Y40A&eq@ojmG_u_hriS6jQq&d0pyje+&{+FMbl4nI%8HqK=s(6wm#~ z9q;=b>kd?H;UNyTt$saFcbZ6t^8wH&cl#(*#q3RXrLn9irlqqvX6C~_M4MFhsUHdF zD`$K&i`wo>!4c6Lej|zsBaz}MUJz&Yg4YKd9w~D1F0(;KteEbpM?IC;{f3?cNPcGL zfzJ=r;=brjPEBe}c)-4v+S$EFn|^}ojfDXW4mf|vmrx(uwMBZfXZxyXp+sQ^i~#z7 zuaaUa%c<8yqj?J$pIgZ#D(|Nhy!8#MH{|O6JV7e7hhW2t$lCCnd%c~g7$#jjvheC{ zz)B{5vCcu=9Z>{l&i5MfZ^AyGWi!9)QN62%2}z?~ha(t`^8qvSRO%YtXQ~ZVWv?Gs z)>YzR3ewm!*CqozQ=ve%S>}1ca0~82&JG7shBAi!`*Rkjz)~uE2LuNG7HAgA@iTTe zoU-;cea~y>aI_Do;)o%*Bd+!3YU>V6gK{6@H5sk_Xstk-hGXGe4S=(UY>f}{D?TG# zCx|cyMee#0LmbXkP+la&d~x^cD=8n$J5iK*n-L%zFSAa%W@YlkUKv4f?wnDh2q7t& zk`iJp(Ka(Y`nuM@757Ki{Wnn%s8;elgY6{E1* z+3GFu)kC5ghI=mOytmhT3&0K$%{d6ltc|(354Qkl`4_$+i3Pgh#zuh~aMukH;MXjb z?dNNEg&KFo0w6r2*H3P)=FV}M&s7jj>i^2kUWBO(%#U#Lp{2jIwSAaZ;z3{%5RPbz zviko$TBOmG>-vl0O3sIPIO`LB?+{*<#aL3j{GDZbV|ij})h7brXrJ}pf}8)A2J5$W z|L*j+h_u>N7Nq}uM3Mi0WR@ZAT1o|kdJzOi|DW44ztv;`ckh#$ZuKAiPbBtS3Ay=w zcg>M3|Al19zpgiay9U3f=keELVW_$VROS=_gvlJaKLlg^9cf`Cw0Cs|QF?wUfcSrs zlkFdIaX+4_6*PIMw$Z)UKiw{Z;Gc9{bld=HC# zD^|2SDKE(EY28i#@LKJ}s)u5&tplRtiOR%{>Lgj6%V&Z_P)s(57o;|)5xS*PR~~{+ z{2ASQzoUvq0VuTjvZ=1-Fw>F2_GqihaM`wF*ak5FKHHX~DeZ>iD#s0?jBNcAk@7!~ zcH1FSneFOcK zl-LHYB+>dzbIMMGvE)dBgdH5*E`zu(S{B1sJ%i}oLk-)0p=oo_o@L@JZ7BN0H;IYO zUQ$OeRYw5}5`_&n*^bMdB>7~m&MjN4{7X2Bj1YpXzcQoyj9e_aB&DAb?VFE05{%3G z*b237RO+DvQJ~o#snH6evz@y)OzYg{U94gw<1J7!0^+@~{aB#a!uMfD+8W;|T)Bu- zM!wxc{225lL)PWa`^a^?7vE{kW*@pj&Jd(M3f(dzrq$J@2^Zf#|1iAgS|&(&RZYft z6w?c^_EJtZL=VXAK@x_dHIie35WIExoN;C@Um#@>OTnY1>;Y;bb0t`aMofkXrjgw} z*M5Is_1J2> zH@s|DmH0;E@@3SjG$5e;V~;l{?%JRh2lbMcasbkR;N^(%JiDnT2hw>#Up4 z!FK-5a`qJBDQ>h*nM16c#Hr$HFRg9Rgzvl^q_kIi@ZvyFV zU$iynrZnZ`la?2tI|%pbkMLL0AbzJr39{1;&AH36Aca zO>lI3p`}7CAZPN$he?jyH*W?j3rGXl2;e$b0WX&Z=reelb-o-tbZ5u}?oZHO z+D-BMA~=W+D~+$G*GM_+al-rlXz#a%1g& zt@1WIf}`8=hKYnsx~j`l?D0Bs+g{8cL5V*Gi@2+?BwDh3MfAx&s~fboTRpNRkg*Qn z;>m$H3nCc*9}Mp_v|3MKHhX?4Hu{ljjwGUcx3AAmn9=Dje{igfBPzUW5yq}FCGBQ? zdQ`B!Olpv9>`MfqRRKshhG6uUj1uOtOJ;kF&~QhOr)dXp4Eco}VZm0*I0zWzJ9w81 z@iivqQV_L)ya%5;$gx;+=2iYda`o2`3S}X@Q&uv005bABGQz(nMI`HR^RXcw(7pw7 z^fP~L3I5aQKxqZ~w}6?2YIhyt>%(e8e026DI`-jMVPW^TF@5;2J*Rwk5qSy^jYH*u z44(%i6sHQ7JQXyDZ|^&)A3BaJqoA7B_krbKMx3;qcw^Nu&Dr&v$8>r2(aaxt^?z zIrCTd{P;*#DPJO}Y-Qh&Jhd@;e2*8T)r1p8 z^do)rUnrtKP-n74+RDE-10kuuy9vRcdDsk7IEk+5p#h+Geh8ivZkD zlV0eOS|D(ORrjAEcEK0oJilbZGDH9f|Ek`lgIN^7F?K(z1k4(m8)F75{9O_F9An|X zygSo(EICk{lA3*akn`1J>S>>IL7Jc%l>11l6tU` z?+*=g$&h{jmt`$H0GD&s^L*r$?+e!ak|`I6!XuB_I)88Z`#YR|SujApI-^Spo(^tB z*^kc8^VIkCLdaJqbaTHikADqZjrR9-!q2~Dngx&RKDey6Xvo79dOgh?4S<-w7;s4W zAk~43GBf|t5c_{#8h@sn@&EBGKks$_|5(&tDUFkF`TMZ-zgD#WV9$PHaK=Bio`3s$ z|65&=h^Zq5kPNy6#PU?D0nz_O>GdB-+R4fMJM7ud8_}M~-%lieKlV-p-Tgg`1&j;t zp~Rv&t@gc5?vezQqKU`lX&FL*k3q(pS6xwXVFYcI;-qxx_3^QxAt(BWtc)K?FKLQE%nh^Eh7`&Z7g*JwUkfSp z%QCxr7oQ46!7aR0e5nxyQ;^U$Sh)tW)S6JNHIPI4tBeDN@C9)62YdEIK^?3E& zi=Y?^?!}AX$UYm$g`(5Jm5LcRrJ=;-$?_3O2(Eab_jga4{8n23M34VZysRH9KO*8w zgVNO$4NlyjRjpW~Fd@KwSrcDbeq)hWgHQSSCSjPZJ;P0KuC(C|&R3JhQoUDKik-@; zE9*CrQb1lxEZ8r;a$bp33~p0$0r_x;`5qc(W0;$p>+Z>(8a{&%{;0TyNt!{>#q~Mc zQE3lqB=PIjG+kRm&=NXLYDnVVRkuf;BI15R;RhD~xO$b+CtB6r_;A-7KV7)uS~%5T z1!#3UvTxvO+2%F(?Z&=OPikY*iFnWn4uDtCyM|wstU#qLxJiuO{fLGcAe(29;8eZN z?=1_CU~2(eL@svP^nd_Oy!b!atP}U{f6e9kwIHG`y4HFFSA0DE83Qpb?S8(B2t<0J zINI*wBJmkg&6K-?zncY@zL z#`BBR>A4*&zU7?*B^z&9|LmZQM+wvACVI=E1lI)w?aRt5Db~-@%Z`D>mjeOM(YT=s z@v^K3R4=S5tB5RJ1S=jdY@>1G$SCGo-X^=@Q@wb} z8{w(WQ6a$4iQfOWywyL}`@h&_9Ks9PGZi6=Dtj6PEHp8jbKvyn|HsntFRS|huwHQT z3%`!@`~#~dWW&e|r!;`-7+9nRr#$`cNRbnn`EzXf&s*|4k)WSQf_`2Q%8zTtCj#`l z3(${Ir6&w)mO=DkujWV zdtv@&tl*`{=Mh4hX~3P1pXoZoXeXC7Y1!yo}d1jwn>dU{GRyFQep$YNL9YYWX0vjK}b z0H?$nj2Mm?G`ZUgX%JJqAu|HkxiznjYeV z=;mNFsrfo*mUp(7T$5H0$CjhjSk>;MHb&IAbH^!Q-sUes6tpdX#qUz@Ay;nQty_2r zQL1(YXQeLQiM{nTh#8y|RZV>8@D@|G1IehfXa0KGSLUHr+sfCr8^?f~7R>d#AVV~7 zRK#d@3gq58Wm#MttxF_CsK;&%GMj8vV~piEj)5duVeFCWG0@NfuK09%ef8Gd8|2tq zIHnwcH71eIVP&?#X1_bB$H3$~RR0QQi0gS)<^s?Ao#?O4O^0{|hx5>G5o0IK4gAEC za);VhG6{*r^p1!|l)!%y1P0HL4;;2kw6C%$4R$vIwy!tEgoyZ@1S0!<3?!;!~L!GqaebQst^zkcpE&-bP5RFl{V+hG~s_c&5g89t{{ zCc95TE^QePbe+WO|KoTa`T`Sv46u@99|J~lVCSv@AjfbFG~WYdq@NR{=o>^y+5JRm zK*`9*CMp2@-ze8ZP7#B!#35~n+0`L@h3 z5p{casf2D5&B&MbcM$$T20(@LdSq<@3t64>X%EZi;EZozQbuDvRJ*HVcz*NMB}kvp z#q(H3`t`#MXzw9U3g^9vEIvu)RtE1U2W2ynvo=tZzbn1aUNE;Y;beztr!#Fs=Bn4z z3Yqt@AdCNpxI=DeVTZ^K8QB#1v?1wAEyuz3o|#~5AtdGhS|%pujdZLsz3IWa<`FFi zV0TD-4BX82KL^eLn1}Ywe?L%R84d7=a&o~etuS&PA0=moCUxunK#4J!(!`uYg>~^yyk`h^fo(LghJB5}^*nUV>xmV< zb5B%4A@g^Y{lEdewfPwN*EdFMJQ-&uyx4D2ke9MEfRnua5zIVB$3WAU>b39Bq~gVl zy&TSrtvb7}g}?IC#{NIA;b&;CciKPW?sPC+eL&X%S)apRCg#GHiDLtMAl-j=;D4mO zhs-6>u1v?&7H@HLu$Ivu3^Q6BPYftTJvcUjO83 z-{8&Zy(i3b)c;TwqxLJGMz(U(dqnmOw`Yp)r$S#zu6QbXtQt@>|rU82}L)pHi(HZ%g zgRN1NOzhkgbMUS5SdNnJ;*|Wb+9S}Q2cTrF>!h9@GzBh;(mzv-pFOk6hRZGY6-|^& z$jTw%CGE@tvn(B2j@7~GsT6y#Ik?IuJEys@!z(+ifl7UZY9!7{&?~ErM z2&neo{flF8+v_D((byDQc^kAC#DHH7f>{To!rR2lKL&E$e&LQa z0(oF3!`AD@iREvz3GLg`$PW1=!dXG8!u2uYluwiXJQm*?H!mQ^%u%vSO`|N8>rH`e zDdtZqYb~!_NzEbgCqR?1)gA+sMcIb+9zPV`(P^!b+58 z#yj{XRdmOVuB5%Fs@*-bfoe`5!-}fOmZ*ylipF1QpV`O=KEu;Sijei~fZ0xJo?ZAr z)s5}XP;qG@tFJ5!>L6W0FzICaS@k%bElGE_Z}Pm7xw zExghIc$rjf2pDZp#c;m#CXQC%!3(?g-jT#N4^3iTyJ;+iJw0&g1*j#H8hwR?*~5Nig}6k-yZw6c?=vH1GZkSlhuz!oycqt{OhT3=wI}S^PI&8 z630XVUp&As&Gi^y76MHXNQ&dnGLGCQ7eO9uYtA6(3n5LIrb+%+6Z&G0lkBS-{hr;y z-5&P!=Z3aA$?<#T%xd>-84l)JMc_I079gnHs>1@#6+I=sB<(v;u;rI%h{bgVm36k4 zQ~jW4h)AdREtc_>XwHcgCk3nsI?Vb0)0iMr*69eg1_zvvOW=e%dr6nhLzeE*qwsos*u zZeF6&f=fgn$EC*alMoy>{Dnm4BqRPSR`I{B{n?~m$9bGeiB|nc0l}r-^}MP*x=Q%m zovfJ#R0?@+s==bQ4dco(&`U+BGlOPD|W(5Z);H%4MaoeV; z^dwjfKtKZO8eAL_`FR^ibUV>0I$Lc~E}#N{8vwyh%dhUI4HGq?$#HCO8vf()iK4yC zt!{E$=D(Z#oG8f-h&a8Z9&_&gBJCAZWXlt=u^cHk5eU0ZgVbuEZj^lEwR^OO+>q_x zG~JJeUGl5znB5(-D}!RLX4yF)3b>6D{y^`= z%1klZ>Ym~Fjrc9_I)RpEw>=H;8StxWn;fGcj8FHn_fqxCZX|BvQugpr-^W(UULUY{#58}Eb@6C z_7aN6e(aPVJo97YXMyFV1ixHr-XwQ4N!FF_i3kD8NK5ExwIb} z17-k~V}QZ>yk8ZLsAEG;Ff$0MAmM6Y67H?Md7ggna-i_@@yE9)4!(h|2lgyRZF291 zhQ}ZF_?+aGR}QK}6Fj3QswZzP(!;<3ACu){A!F z=O(1Nd5-=j2qUTSQ+VAvvEnj!SdFXVjQ=$X#~j41%1oL0}3Hq z+2KWVk9RN*hmEm|2X|=)rl%8CLBgkP&Yy@IJ-@|P6t{cMACOj{^dKXRy9I!GI&wH#Bn0H;c z4+*28I0h~vXbkr1NJ*9i^8$x&7%^8|fI{V#Iyzt)X$$KM2FArnju$B_%|-VK@Bf42{iSWk){K9(vuaxpz3wgE7pgT#s-1ExPf?302Wu<+MAC{r*=S<_SL`Nj*W z{lS-yu|p<;-mZXQM^*|Y33d_nz)u~@EioL(CA-_pSPHdLe9M4l^~)%vVeIOS7Cq&( zV~Qw<+gY|jCIu^-YBE1~_E>h9i>AFZ*Fj-b?l6$L_7t=6mt9vSmGa>_X z*754evDZ(P%}ZHO05uyHb#h(`ySE%>6k?HJ}|+BjSot`fOuK$`E({^JgzJ z-SG~X_Zu+R!{3c9O~>BnhCalAATZX}C+&tc#{jwrkd>pr*!ir*k{}K zycL-PyR+2*==aKTdbwWt5dGzovpc&oIlWCuCbMhQ!EF?O>r^e;ZBm?TJ)gQ~8H`?Br zW+X(`;h<#I#|P2tcf#a0D*VTyCsERiz?NqC=b%g7MpItp=loA490M!}2IbmftBsw< zCSm#b2Y28{;3bihC^*Vh*4e{#iQ4%*2ga28HK|G)32Av{cZPHOT_UG70N+=jTNl1Z z+J%z4{^1yS@~G*^-3d&d&F6x#Y;$-jvOm8AUo#?r%@A|_+AVv6@@lK$&sV9=`B;w) zqGT4Z99~1$6Pm0fm1Nn9iiwa~8i1NW0M8Y1yuSCyg?pw82nOT5!B%jsj$3lQmHQu@ zMn@7|*AUEzL*Zi}+CL3h!G#U81GXZ=;hPeJU^??Ya{d!HRDay*pw)f>hHXbMmHd)b ze=+H_Pw9?4*Z>s(7|?Cu0lvhMHC3F8wWAY7yy&jR9E9E!n+U|r?`-E5xF6Eh-)6wD z@(M;{B3w={*5*x>l_ZYmK9VI2v{Zx26n7i*E{D=_*Jg$RvX1~~W*YdklGDL{Bv@*Q z^5UV=q?=!?V_S(zV7?7zGWZZ@Ovy#Q-LJZ=0lL|8dhF4v(}{(U?XicwXKSSpSCh;i zW2Nzt20$O0^c1Es`KpZ;CD;cXpV!(4^_y(8rhx@N!=m+Zlz=A(#}#llB=4kq3v7VB)T;5VHBK{m`!k zyZ_zv1>HLard2>yu+#~E2AKJo-!{bqs_15*{*s^%GDXK8pK4G^`Z_oqGcrSP*7c}6 zfr#lVnxy2L`ef4KR$uk{nPXr>1c*d#C|$PnDti5nfNeRu84N*fp!AySxxvXjD{rKz zQY$!>E;uAu5Rrhfaz}a2OZ>dFVcY(5&vVYCSY+&>N%1yF>mtw0i}PC)M(++Vr0y;n zM&6YKsiO?M>Ke-V*&=nT!gcO}$!ZCv0Y9+1W6U-smgjUn=dARr+MV! zbVQs1ee>7bH+!h)Fd^%>ArkJe5uL63_a>@N>>BMWo}JWz;T8YGrfFG%I+gY z@QQ68I5MTsjQh@_E?@#@RuA1Lc(WZZGFJ9=O0$KrmQ6<>2O9umOf6q5F}vX-x_hNZ z{c(G{y9;X}K(6O|Kl>u=;L!V_+?ZMaks*mjajFkqWl?Mvx~;n9s`t%8m*=Y@>gC!%X5FFuV! z6CBZ}61i?8A0#q+uut?@cdtRf{C}U@3vy%DHkDziLIQc%xx?2e3Da;kIof>YZ47*y z3XL-~fgHNPBF@CwOGj&=-H8vFMZB7ajLLMplaXF8p404p%|qTo#u0HdVk25J8@S`; zsS(&dF;ZaL*O}H6@A*6@Q(PpR$rWsfB{F>o)pR;Fyh=tNCGDRcAa226Et>}#`=q*O zAsU_yNDHk&>-bR>D9_$Yn!}3-DmfBG`UQixUcGs~!`2u@;5x<+?meY=4P;g_0^lnk zSKE5NDtrRyV=cP1TNJAuLdp_mUjo_^g^7GjgfYHlC%>Ef(U$juJAL8TW56Dko(9<4 zCK9=?zo|;IqpONm_P$H+UvL<^=?JrhrAsSu<5Z0%Pv+vxzgNyOu=PodBD`_$TG7VP z&^DS>t@xE=_N`LHr7t0iq()@%|EYxfuj<#C`EU;N+Vr%Sm(k$UZ$@32ml!PFTb#FP zz}S>t9#fNI+L*W4Jm_}})PJN3OS0(Ef*CtZ`s1%C$iEvXm95-?ZE}e~D35{AO4&E{ zT}De(51`W8TFXdCE8qo>kWoqG-e50TPgcQsJW1S>u?ofr^VN8TFS55oTd(S#FS$y7 z;TRy#aY4$#p$LZbhE_UbcthYJ%cekwREa}fAagTl1d`Wd8j5{%3+4|Vw%~e_Fwrth zD7c+V{E8;EvL&++63##f-AKF$cDJvOg^cnR_3s$^@)BMy?vpQIO~@*1bY8^A0}L_3 zDXPvnMs~~TpNhj8vj-}WJJqiMFq=wKsNW+aj-Pyr%9oJv4$}EO=^_;vwbmMJdD+*; zmOt0-Y*hQ4f_W0gyaAS<=0^nd-}k-iThlC$nB=7WET;C2Y@h=V6et6DkeQI3cwWlA z&DwM!@lKx({P3zT`mq;B5JRuy1?THZ*;r9>hCj01u*ZJ#TgVBi-pb|Gtv2DKVImNt zO{#$r+a;dxrh+gJQQZcuWz~Z{*A)a~PIlJK`FOXIz3vNI^}^BK76YW(U>!+AdwUTi zjNRhzcIH)$ypjOMvtYh2=`d!6_vkBp+d>PL z%Q~2?AA}zTD1+tv1u(HhAEU2>-Q|49tn&N03+WPI9b{aJ=`H`GoI$&5VO536AqNo; z1HQ}0lTI1=H(vKYITkKu%-~u*5gZQci0Fa%*iIA&rzPr!h|atk;ARd+6KO~{4l-ru z6i422<9cBsP!%xIq(utO3oB1daY$Y09vk^EaL%|**+>hQ4*pmq+Xo`{(x38Uqgs|< z%Z|xw6ra(+pb3xR%Nw_0Sf6uFpbvw$A*|WuHb$k2AN`ij+pLAbdPaFwwgQX__G(O} zv1FmGUpGJWd06+`w1Wyt>936z_rF`v``>a({@XTxZs!=lwUJ|wYwzJBO~jX(AIKtG zTSCwtSl6x**~Zzr@THczNnVp))e3ku5A`%&UyYkozi9t~{!s zy+4u7y}dT@tpoo{B1PBj^+B(I8+7V4J-FAMUfgvd@wWli`yaWjof>R)O82hd^k113 zn@TW8v2VZvx7W_zY_flQA)G28yrAjg8xI84Vd=UnMRC^`T3Ayzy(6pk{015T z&hUwFarwkud-f-yTWc?US8=BkWu?BS46w{LQl^io4GKbTq-%f4V4lXi2aEj9!ku2H zNn#h*?$e>}B=Rs$P(|yatQY!pF_xf%uaLIzav^7%2Qh1$!uL9m&}Hr~M=)OgZ$=_C^6tnWuN+N)Q6tF#ew7u^^=<)k z=O!{icp5lwRt7fdZ*IoY&8cYdrQk3`_7fZ|)ehAT@-+n=iaMkXkN9V*P=t@05haZK z5>29HIJas{xO~5kxbaSAvz@uj6%`NcY2pvITa6#_4=!>A+GN*OItuC@&;fG+tbQ_b zoNPMXYMie_i=rZMKf2B3f$4*N6E#8tetOadFvwoM14 zO*k@>;(Z$}3Oxr&br2Lg?Kt-Dm-L-&4>*=%gIR98FlQHv2oixTCj$9p-G^jv22Bv_ znsgs9(==8sdDH&HfWlNeK_u1uYnoRUl_ebGx92t8%x7k#q4(+fWry9YPqbQBeOwVt)nHI>jk!b3 zeqR(j>r}|*?aV)QFCiY-f)jWt*Iy6d?^<q-G-}KAiiK2Zma?LF!q3)=ujYXi%42PH zC^|6-&|nvX2p;LBmk%p8PKDZANm6~BnLe0W1)G&+qq$Q8*+bX~>A3auXimWp+|cKk z$XlLoy~Jkw8b{TGzji#HGKv8!K;8mDGR%|ePUN=T?XOLmC_D+;R>&X-kSf(5hG2-S z2ZvJXuDccYQFR%8xg7?6C;{3|0hwhYUypqJ?$9u8czC`fN`bOVxS}4R1)e0+Hw2T$ z2J=M2&TJZI(d)Xo{o!_;qw%p(=m&qP4%o|*pq-~NEe_|G;px%fJ!INjUu~NNXOD{Q zX;lj4Og2y9T7fg$W-Fc6Gwe#p7k$nu6MuPF7`wLlE~rdr0Gp%+Y)L1b!o;b)+$-0c zzFI|lCaF0Du(Ofl=w&}8a&&2;!b$1-)^y0=t+(9hE(&$9)_HX&yu$GY*#qf~u!{_U z`~jF!uh@tSO5cD7rFHYIHWXCg4=d^A4Sdsr1&?814e=MgRTsSR51NVZS!32xX4_~0 zE?IB9H9gm!{Y>W07(X}8?xXegdY_TcFGH{Am2e4&Ho=%$dca%4N2*k~j*Y^9X;~UV z*0W>o6SJyuQg{B9g7aU1Q2*_^^GWsozuwHB7hLu)elk}$S@pDhZ}n32F)(kBfYl}K zpAktqm>xTz*MgnUivL7tz2C|Y{AUCT^5swojDTU+kAWQZV<0&jU?xFMBf5}FG01rb z1f%H54f|)d^=CTb-{x6h!W;D1%Z!HDG68I0A>bzoN)Z%npvVCM*U3eI+iw=_oE!(} zE&quv|A}|=CqBGCO!5@nLU!A7lAlJ%)8eB}>*^LODxN~$1wg#1YED!V#l8a(~OrfIxDT#bWP{C zFp$aQm#TD7-R45UbW|&N^V0nBhlUm19plcZu!krPM^q8)WZGua@(lCyvlNy122bCZ z3|E&fQDiFOODj_~3h`I_JlM)VR~8}dIaI79!#Dz$%97sP;XE)+zWt>3dj$t4H9jp& zXtP>Hk!?7ES)gg0Ss+W>|mP)NJ6-FlSB1{xE zKq9rF(E0U#uQAzIOvjGRAO<12{F$SfFsxlQ{P^FXEZ1+{jMS+VuZb)_2kBaPl=y}~ky-U}oN?qr^4 z4e*9<6F+Opv8@s(?>GPa-km6wlI>i?HvZ% zE^>`o-zj=*iy=;Y^)Pp9VV_=(zvsi)L`VMo6OkpdU2Go&fQ?BWE_|lWKp&aD zrm(gFU1a^+;XU!aFB@*9*j``5y~urbc=(Q{2AZ2oCZJGkddMs~MCEgj=vz@Fp8dw~ z&}sV$iRnPEI!CP`*C)RBiLJHU;-j%e{I7b|g>pmT(=QjQ*9MWIIWLfvO@~TkSlsGb zxAN6uw{`y}<+u1HnTCtbw&g|Pg*qc_Mem+m zF%Y++<#vI<7`jJ9N-hnyE}LPrm+JW@HQY7QQh2K5onHnX^|u@{3&{BM)M4z42GRpO z=OZ?TmFXqt(J?w)mS0tk2ew-9>>~qBSbAq>9W+;jFUmbQpE8fr(`!_i%&fdusLL#R z6Rx+%ijA5QAXG^Cswk5FMTN{1%dy3DDQxp>{Gj8e15J%6<=qYUnJ|O7NBpzV63d4R z%zh8-9$nmc;^R(vanG)Z|I1r@^{eyQQ+%3r2W=5|+`ReL+-(^Hn)wjc%FX-va`Ss{ zRm+;<%Jf4*X9r3qC6aD#m;_I>H1XL^7xi{Q?_D$j(4cC33D$eSO6! zFaPI`5dJJq(XVK?Yd!A1#)6H}Yu;9q5-G-C#vTEBnq;;4uZ_Qs7{H|UW+G?Wd$jNy zK!gR|@TINF)8}7k;WU$;V>SSY>siMQU+A~;mU4Qt^;1BI8gY(U*khV#Z*Gelj z^U@{cDcgKQF9)gvA$|dMO_z6)!-r1-9)y%NxMaAg)i-Keu zL-&a?EFzs8b|(<_fjWZw;mb(jF~vQk3TK>X?9kCM(9P9b**V!#z0&N?Q`i?QS9_uU z5v1u04VQGmk`Cjmz3Oq@azm${tQ1>nmw6N3;z-TX!f!_5yEf@lRG+$H(l+k>*~ZPQKoMw6y#&0_JD%pY3v2ka?y6(z(KhF^^%^+*kT?0#9sEo!s#z@qmBW8mBWTB&n7!2m%AkxX{|~z${7QSXFs_*#$BIf*S=9a zD*<>;Uo#wiNVn925ydK`ul7U-Afw)Z;srEgLLOlLxo1cgPcC$IxI6D(4 zU&ov^4$;szUe6x((5b3^#n#OJ5W7r+870_9(rI1KT>Bbvb$ffYTF8mgR>&ajLq&=K zX^HJxS;`|p>&HjaAD5ccp6**FX(a7T>y@QARuLS^Tl?~@#!SBA98`T%sLfGyD{nfu zi4B%Qs-QXkaxpQ?l!02Qh+R&MJU7l7y|`t}gezdziSi#e5j? zy=x_x#Clit@+w}|492G0dZ&+STDZIPU+*6L*cJJlxEV3;a-Q|5fx7%KGk zD%6=UCxJd4JBWRTJcqhMr6i*)L@9Y_1N6AlM6pFHo-xS5d@Hp9uf1B4By5DJzM>G}Fi+xL&m?gfZ0vr21870x2X2E!kG6Mv-4Z zG7RZUb8lpApa#C*T8tI06g+KQajjJQTuKYLp--*6U5uj}8GUKZaPBfiuw~mBvUbK# zE0_-4!GPp|_{w;blo{#A5A#~ioD-S@nY@Dqb~LW9j@vd8@MRA-&3;Y`3zHi6(SjC^ zXk#5*9Hch6rvz(ho=#tEzqay66RSd{uXdVst?iu7@-!>i3^oy%&~GGUHreK5`%HS% zl}_YuQq6ij%Svf)hHug)l1WkUze318jV~{t^YCOZC<m_= zA|SW9NWbEwP*&`}AsI(}U-;t=n$Qizdr-=~cODd&wgH^Me-{QMnZpk#f$Mn{PNW*H z*4_@1!Lzn3@e(b8uoA|3h+9jrW2LF9$P*csY-;n;I){-Owh|v;;Y61HRkHLa1B3op z^l?yUxUW3|{J9}E5S&NjfZS8y42>Bopb$vK5d`HCFf;q5f^20}lcRih&C1iB{i+LF z=_N7$Q#)vwt&inyzwnsp)dJ%-oaoR;ii`l7Sn7A&WN2b0=AB_Q)qVyQQVNR_4^B^TRWM^@kS@?c@!x|-Ys|k zpclSwAr9Uw1nlr!x&GmiT@vOZ*xMC?hGNec^I`*vG!JQ7L6$Tvun~=b|JgCfNRW;t z0=Y{jGeA<0htz5ylUlaUF@P_O+|UJ(wWrgN?R{@S&xy7glL-=V;B{5cE$JQuHDP0i zdI0muGo0+hi9DR#ixd5Dq9;%6#fjbgqx}a6>HQ1cvqe2S_O>u(!+yU2A{8|5`(AfO zHr-IA{?wa&nE2;F{P2u{Ve9877({;lq2pz-{~I+Q8qjUJ7>KN4&ni9=?n@nt2`ic&I#|;XYiT4<*i*Dm0|XvN%tJWks?7 zRGoJ}9#!{y)E|B=XrB#W1bb3rtd9X>NBFki(_hFriM`21_?Ib_wKcBH(eT?!v!qTh zhX~nU&$wHWG|&4b(IF@_zd|bIVa6VrXvK92vxOasd9aNHXR7tVHzu6EvmNiB0uuj#64Z}H z;MeAE{rFSAi`arR(Vk#yv_{gAd+9OIx%nN8PaLfnA{Ny~sibjvHkq2|P7uZPa>VW3 zUG-0@>BZnB+8x1pD3$ny@l_Ad?K(&cT8>`%@v7equiZP69IUs1|@Y^b+O+IW>@z z3@UE)H0?DSD>gUJ+uXV+(Rt1I=GO<|a{-O)Wcvk8v=SsWt~;VzZprQ1f~#G!JaRXR z-3ZZNQ}8*Jn{MBFaG>9<%v0AeGLmS~&|{M)_KIkI|LTo%l3Hlu>Z`nOa!$Rv;iB&N z(sm*FslA%O3x?KV*3m^3-DtA+gt;;G+PayaPbV+w#K};+$U-+?(QZUOoYpUk(RCyb zvIwGO)Dg`ZmbiqH6d=1?J{DToia(y0ccyB11OJ?wJVbY@_^LDFjGcj1`lCvX*JHMV z*$LtWFQuQe?pyf1J@2vIJm`%kUNSv1*qSkByLYNDj!MCoPz5rDJxH9|*MeSfeCKDJ zDid>qIxng@>}twcz{^ZlmKz$oVI3qQR{nk+8<#qy=%1llHlwnB>yh{E-FA6Q2VOOG zOf>8^!Mwg>%10*>$`xsMDTc#K>c z1snR0MJtXBMg-Uj%k8CYZqr8#CR{w-&Ax}mw-q;C53?I(?@GDQCw9FSJ1A!E_g**l z+Da7S^h7nGZG8Kq$?D#fK9GUwnx>Rt`b^haAHd~bok0K;8?>&JH-_O#N&2Q*AKQIa?JLxD7iQUj3OeJ zG5a2l`vIkMAdShm;x*rFv3R3-4JrR1XKB}xy_dp=l1)W`$KMvo{_vRLpLcm_Ou$TW z6c;#UBUc$Du*|kN2AIJ4Z6NK@6Exxc57pf7Vs!uZ*CEkwyRIdpoopg+^Y z{R7t(-=zHEkka_w?Di=WerNmzCF2)E4?JEfDJC5TfGjJ<)cgGp0%r80O@G z{$VCsgT>y}Q!Axj#m9hWm8*X8`QpN1hk?FVip0HbPGDl;$pSc zig(P;-%?ocrlT zx%yK;@|#7E0P_BwEIyN4w!|~tCWad4SlCHhhz=ekazjLXbtWBj>J9Rrf zFVW=9sZ}csQ@am)PXXx&_xQM^JwK_l+k9(lL@WV!Dq(w-8|UHRXlORZ!1oy7R6mk< zm9LaXZb&4&xg)WJ(ZZ(=u2i0AHLNY6yZVydGwy8DjG@7$AeR!yi;dhkeJK-T^}2^@@_0Ih_uGT%J0}2hb-og44YX^yMD^CX?(+)7MmSkLg&1x ztYLenxOj-WbRR|aQ^m&rA5sQA-3StSu`e<2fLvamQKIjV zQ?+AY$LHqB*xp}F1HpvX*RYpg!Vi`}m`chtnj{{Sh>*!a`qZKG)*XA4kM77yZOp{; zQ*yw(UbxtB!ON2(l_;k)Is1p>Mm?J751ZLK4B?dt7DrKPw8GWZ@KTq?oX1_o1%aK; zl`ZDbo< z@=dFM&8ai5VAg?q46Mg`Ibj1C1&#qI+xHA3eB#3T*b$MGDHdNDD*~d1ZcbDm(706} z5=Da8T@Y4OP>0+WTtH%InK9qTGZI<{f)ppWy1;J|f^UG(B=UA*a8goT+A%P0iJStl zOB{*xAPYedNNDj9Bok`{(M{?yV6dt{5_b&Ti#i6vLFm!RL!9iyiA%&92wh*P@6B2IRmAP$*(LeF#H;THM@SIV2^`i4qsYfrvv+0MT(YU^|!E* z+a{l-P(B^7oBvx9c)t}Yh>~9GPICK(L+=&qTt-K;0+2ln!Ae1dF6qOlIVo zL|1~@Gs0O0?>)z9>hS5DhR#C>Po2I9kf_RLK=RZXHr~B&&SxXaVrhmeAV|R`Oj?Q! z&C-VRs(B&BjWAfpw~n6*L;eSMxcv!`D*vq^j{gi$5*ixcCqU&jdeEYUZ!E2%Qaf~Z zQ|$!D@UFV`$3=X?BeTDol#NkX+Arh15Z#%|&yD!jW&n%pRyq?S?T_^>b5 zGLHKCT}-*v19jV-%iUi>&wnZ`cl?&HF1e;%{H!vtzYZzPRb#MP;w`(ZFQxY-kMWYC z?dS|a2@Nx+a7?75WM;@7+rr-Br?|%EL!L>EvufD>k{(fYd)w+FE{Eu5iYZTn=c3EW z^O6Fi>NEQ!eTVWXOH6F*!v-E{PHqc+H)FYo5QE;CZ;}eDV-6pQuln`Ry6p}Qd&;p? zbw0e1Yfa%oOE^(77ZyN~vZnZSy&@1)_96KudgsIK30x36Q;wzE@`(St|Q?|Qe-$nxdu3r-#$M zQaPFs#<@fbD(5j3#uwnO>TU4nh{)p4ZWDJs`ig@LP?}Jlwd3%#Y4S{VE?%>AHDSz8 zsyWyxdi3Spy1n3Tl8d5~7$_+Jq zecc+&ih}5q7*#aUhiznrwwEb+#65WX$4U zlt{c7g=193hSbqE(M}oho+11KT$S&WloI=OiXN-+(djygY64jiQr)BC#?Te^gXg1! z{Y4cmRhM{Q@z36fNI75F?()!(MDB_;7t^roRYD2n?tlqdPOJfA@40{GGW8Mcr73sgN!fixnifbK!I~QBGl>s-3ehfwaT-MJXOY8hPZ^q!m=E)~1tTFjW6%g#-^`q&{R2GFhSa zpdmIi%dVU=jm^+x*iMt3V1D445pgPmMbVkPw~f5+$lizBFJrzA6pe@8U=Px_H47j5 zracvl&>VfuTod$v+WYFTDA#rUZx~7`DQQqZr8^~+25F>2L0TH583YBS8wG(;x}_UL zkPzwaZt1S!_qp~y*E#1pd+)XOIlmKYt@*d7i&sg`N&DJs7jVONi)X#1D1=f4gJ1%h*A5AN&gK46ngoGSF)S(z+-R0Ta6-CAPnzrW#Nz-Vbz#*ON z*9}^p##>UG5ZaqyxA?-YlP`sujA^rXF)Gw@*Gbs9%o`C;tnq0D^zmensC}m;FjhZC zr|@s%y)jgMG_XCHqZcPreY0^c0>3khB7T=Ap?{2{I^br>8~*$IL(<+-xcXsA6Da!A z+YSjHbtaE{FO2(S$DhYXU~dI!Pn14ceA&%~$?NgZQQ54FPNzvUXXBL6Ekvz+HzHvB zM;VFd*pq8)ns+f5`Cg#N+=FH)6W5)x2dZUvX%@r!1n4Zfro}6vC7#9EE#*BU!%Y*+|OGpFz>^h(eJcLKel2PFRKj#U( zmazX!Qvm+=wu&r0ij2~I6_mfW$ory^ssIN>02&YtbgWwdOa-C74g<8{m7g07`m>M} zB~U;TfTJ>9Lwy<5+xsuCLS~tesV8LW37LBOCG`ZQ>fQ|En!e122xp3UX!cYR0q$Z4 z!^+*h;Gpotj?-SqA~^IwN9;ZzoO)(`Z$%s<<_b`JcCiZV!PfFqlL2bwOWv4$IJDym z$Sm=3M!p)kYRJ=qw35BI&T;$OUBLAp6wlsvtjb7;6CioVKjIw_O3ECkp*NuZ)$f9< z{-%t~l9$0QhWt*}7A5b{F4@i9_a;*jc7web;I%sn7vq)A{`@aT*x!}+;ouXmC-T9z zWHzuZndUFo@Lp_)9bkd2&)_pZ@5~w0^jxC+fbCuZKQGyl*n+A`;Ng(N(8);C{880a4dOj zC6Us!GPVmJ&H~^JUf_6Cmfuj)iHCSvXk+ui)3Pa zDR%ZUg==9)1aH;?QXxikanF;f#V%#+?JU^>lNez;O&H+v?`k}BqrdlZ4oX064(yqQ zYhnO|Z>QAPGg9Ev0=mpxTfM!tR9hXDk!a4g)fTM?p0?j!{3Mvr?=f|v>M9E(>f>;B z5%yz%u7%+}MojEx+~5u2M8^Bm#p*HQ=;_vcI`y$R~dZ`|z6(>E58zy~cnd zxDq}-Ew^kR)sm4MA&x=cixGI@-*W%B#m3BlUnZ<8R=muf*=9QJo?mNQ?RP>-;801Rxq;} zRdcBJ#zXfN>F!^r*pMwONGFis!jLh1MIHM$Mkc?Gy^-##{2-+aKv$DRCAdF(07v^j zr9J!i(^Sx85TGuCYAP>1QSvWa+Q?Ja5l~_ zZq*KTJySvLGtyJE8ezVLpXo~2r0>!W$NVsKJ5kDr$rT2YaLfJ&0qqvZZ`lNZIZan6)NOlKsE4NB=aXUGW0d znP}MxK=sj;(_rAV;b%@9n!aNgXX5Sd4$EmZE$-h;T-JWsmMAl2)Y6L<56*A2<7`7u zrAm14jP=IX%7IJ^DBpx!&8||8t7x*hovCfs_Za7-+m-6;UA>+vs2*(rb_dpOh3VFw zNpf-;HDzxV$m|}42X2Uy41CtDxNRL0f+es;D|g#7DI-*_>KR%O{cJB9gBN3-!o1Om z%p+zhgzV_{>p53*(N~TPD1AF@MMr{WIxHz}CR_?;2~6fvRB{h4YI@Od=$enmzjdgmuB3Bfdar153)W_%&qv; z&T*}tWw}-|Inb!a!y5;%Y?`%L-g#2TpJ;4Y-b-yg?VFnf8TCZ(u`PpqRUiv64=O2^ zX0FD4&}Q!$3~cdIEX-o*QHd#3R+6V5bvU@Vvpkehn|!6e1At~hsI_Z)RGn2uo{^kC z5P-(kf+DCjXzCDYfwE`m5m1PrDX&L#S5&(3Km6JvE!#XBATm+NfU*fv^^bj`w{%Vk z$9S`j@>ScOC!omTyM~i_fTDb41t%2hjl0wzhxfGGSYm1=%#N8#Wvd0oQx}4PrA;1% ziB6G+>pUunR(bju0#D;7KA-hMZFrLMrtTjhZlowis7#L&gkZj zFJkKX5!L*NfI-M$(G+N8NcEI|P+7v9y#mxkvrcB=kgCceFBW&!wo)zMQ$EfDJ ztY_pv#*Qe-RGxD87dqv(7;)-yknx!t04|*@p>vcG{k{YX2x%;d4Z>dN^W|VFwaYtE zs_%wkIa{TLR8TAjq=*kMxMZ_89jcfq2{1{&0{oAvD}&ch>0QFUFJ82f5drOJ^=(J* zOZX-P^%=Zo2}23Q$N`VZF3UT0#(Na)i%)z3=*x{ZU7+_|gX}G{UvFqTC^*XjPA7iG zFh?#2M)@!Gmfu6bL%AIRN()O3HEv9T)ktv~{$GMM7a!EB z3ioo6o6F9X_xjKOfqk=9rmt|{n5+fxL0wa=QSp~aGWZhq?wb4 zrQSx6RJuB&rkQ^H6TIj6 zU4YasWU8nvjzzvO#-_}}%g^`zDBgu34smTV?={h^4l7`>4rTjZxN33;clyK|5y!Ci zz3A~VN1jE24Uasyt@?FmY9}91c87k5Me|~(x0fjgq+QsH^(=PvPplM~6(TegBDi#@ zj`71jqpy&HN_pzLu7Ty9MPx>DIALA=29Nricw}{`xxYm=hnf%p=giFDwg$Lr9>wqJ zE868^L<_{0GR3yq3q4c8xJ_?I6h;};zHa}m8I|TC1GIWqDb;ltB6E z3OP`jzm_n31>F2t7vFDMk)-*0;r)lvrexV>aPp=ibLH2mAB&YoncS&I#p2|eDk4)O z5eMfQT>A3eeUknxP3H8ouJgW(mgG{Gfz4L{zP_QJoNXzlCU2a4>CP39CCVRV`(BFKg) z4vat{qxR$-fl%^^lnQ+FP(Z{2CAG!dNn>X_Q1c3S6wLz@kUk%9MWvQm5~s%V^v>QG zPe^rPsdRO^0Z)-T0Ko9-4EouSLX>RhJ6|c}D5ud=REQHn^V#9F7efJbr97>#n`6~F z`+^o#027H@kslLOeOnwsANZ`IVqd`hY1o*@O%+)Md+br0F{bO;9G{{fu*{Rrv5W4nIsZwk(UImPynJlIGz7@&&U{Uw-$%6Z8Y zvKEbLX*b+3q1LYQt~zM-P(c&2u1#WoT~$^Ue=Q+BN>Gy~2#ztm&OaXe#rnKsD;)~S zjI4$ZBm&`{Ng6lQ~4-#Iue(zq*bgulYx4WEvM z=xu6=S)FT*-#M4wMA+^(x)yq@O#4z1A1;zK+61pZtC`g6*1_~j$#T_C1fmzT2Dh;@ zS5#`=eg|T_zPrBcrA!frqg4*OD9D6umNQrB(vOkJy?w5~VzKfP94K!%zwB8(?)fe~ zQA^O0-uU~Bngt5e&p`Sw;js`H9>*ZVM zO?QPi8kRxsy*v;xdN5E3AGQ-6VeYA>-^aSBf;P$nM${)B`z_NH_gzAyOWyVE-~Rl$ z8w|G1Px$8wQ|I2GZFYuqUf3^sMO^_kBHmrVi{E$V4f1AzS&qH#cCKE_HP_1LkQs0= zl00zw@wct@zl6EaH9T~k4wG2}zUjwI^OKwy*;Da|GDt5n3i-8c*v}|L1LFf&q4>Ww zZ0f%PXAikJL9(zA@j5}yoh@zd<9r`9wF*XltbA=keM36)2jp-zKBLPB6T z4=M@$A>Y!`4W=9AR~X|VcLijOs9=sY~2rl`smDup`5+Xp4`$0?JnzprfXc zCr>xU@o1cX4qg5=KJlB1pa0?w{$PKMR`5-y3B!~FSf*;u!wx|AC9wzf%x$SZ`rc~9-vx-y3icELKjWWYs#(Y%e|sgcIi;24@xJ-u-4)wH{y;7P@)Z2x3;{y) zWbxKTHsk==*norrBpM=_z~5#9$aO)k3sPI@_fXYES}M{~k(P?IR3xAO^YVF!z+x{7 zy5{QV%fH2)|$Xeb1+5z1zvib+hDF2zW>Hnqgj?1^jw`&w?$MbGEj;D)_XWuyN z+vy%h&v%(8LTY|$N_O>;i<=fjY6pfmy)1?Esmgd+U4;IK2u=gUckXsxxv~zc)%rZQ z;1T(n;GT}E+PXM}JM|@Y-f7jVz*%C_)EIF|Emhh{K#z8`8=YLiR>AIyp8nkqLJ?e{ z2#3f0i-)BQatqcsOg%j*&TF+v^AqePYVOb#33jx7;$>X(dCgl;lTaiqmoa9sYgHtA z?tXMCsy*2s)61}BS)0{4sPNe5HTrISEDow`1^MgP1OgTZ`kj}J_sCEQ#0q!{Pd(n$ zG9QpVYeU>r%B&VRM-?`|%*?ac)OnLRZhyVmYt(6KZSJ0}h%P*5P5ShvCxI;4 zQF`*w8BU&sQU9TWf#G)pU2Y=!JZ83GX{rZQLAlmBq7vmoC(Z?Y^N6{MuXbcFE`&7X z^>dfL8jQ|+30;2pu%YQ%6I$5k_6AEn-z~r^UR;DLi{`Z@ai@oJW}|4j+`iAQhgS_% zcya!i#S7!*!*sIUq!4(Niqi)g6)rmr3qGzA;%@jveZPe0o+UfCH zlS&jD{MHj3^Qn2us+n0El5-Tyy2@?)XE;+FqPiWngDv?Rd=Ey8Ve?6PA`i+=SlJG- zvIlvh#-&MH@f2GkG5RxvCOx&iL>UIM`q;`fxK3ZZ+n;~d5*0N_EV3G-sy~Iow4IP+ zyrENG)~lx*DK-`l5d^#@WHGXecviNAM2{|>GkC6V4Cdvy8R6*RMh9@s{^_m6-Z`!$_4=k0`m)7EwsZqT3d#B+t;rAfTd3=?EciDKgfwjJB zSG35EFEvN*dMCkGnpm;ECe`H0-IyK^#=JJeA5504LR9t0q{N?+(o^b>sGcadkyKWm zrwx=lKV-9)mtqQi8u2{bNj~LG({T;up_M}UyVUuLov@iWmn`L{qItZF^gINCQ4J0; zzTS*Yx(*6e>Dw4St!V}mtBp6d3V8)JrztiBhNs|meo9T~L; z2$C4>emxwHy5)9z04HxUYtm9X8W7n{4A)#6+#hXtmW9VExsw{i6LzmDO2>+XQ+IMS zP0GQB8909_);zc}UYH-7=5{Fgkd3Q!>zSU;)S4*i&UB8u4YQt(VTS|H0|g${YMX+H z=l+jf$XYK8_7P=wC;JlEJujkQt<<#rhZYBKdDf)n$X^lgMCCBwm4RqeLP9FQH(E?w-g@p>3Q=Yjj5Pi7dsl|m+cz36LiPVv?apjHA91p6hGLJTf zqnrQ>0Jb+%MX=;$=Jy`*JKfbVler`^6X}>srnz*rZ}@oMNKv@3U`%f}z@k4}BUegf zr8j2zCG=}zcx=brysY+Kd>#ejBxXB9Y21Yfd5R^k%a_dO_1|hTi>T9V=In^>bCy)T zzs!fE-VWaEpnh39v_@XJI#BsN%v7#0C+{LG8K(Yeq>M^JzTX9t&Ca~ciPFBEG%CXO z-CCEaDnH2*!t9f!oKf}+o?F&~i01ffcP?)3NnL+gVyk+Q84!IOnOSfh^AI@*<=zaWD)APppjStCX3Re4ab@W%- zJvu>`C&2R})lkZn{<5NNWu*eK);P2z}q4>ifqeVLmwwe>_# zSPJH0+w|h(K>YkTR`x}0kjXo-TG{|m^ofN-!iF>$Gn$@?m*A+nK>1g@&k?hRDNTF@k*zRl4^@@HYJp4!ka6!)g@U%lJ6&NJ%c29;*b^S^ zK@>E}fC8l@0csfW4d=(CD84tONMpaz8F7S?jC09kT0jmULN%urBw}&E?SUU*J>!b$)UFo?d#&5uuQNX%-dz4RyaREuA!_>T z`^ZP7%hH7r<4dDtey1q^qpS=7 z2V0T$Ti=H$?(*Q!LXX*ARHrdr1Frh7W!zle{i~!A-C@a}Q;?SSUuj_bL)abCeImE< z-*umo?%CYdFpaPR6iZSb`FcXc(L2Oez~;&Zuw{+@3P@=~oDu=gV-TJ+=Zh+k66Mn$ zuub#f++c>bDuAc9~}smNW>zY$+1G4DYU0PW>-c#eR38E*bw>!kG#*VJjlzccVY?D;W4|XYfDw za#VX*4vqT7DvCVNHS!*2UUn~v|6B7!z1vvpT@3~{nLKmb>->3LqYKZySlG(ldiiXe zs$1QG7lkaf1jTBL(WNrITHmSevtAYk!kbYwd-FM3i(CD#=W?KVGs!X2E!`7TQc`m@ z^Gc!Z$Dd|ozd?LQ`-XMFlZ_4o$(6IOJjbLB^nLgb3w~I^p8)BQGxf7@x>Lzro{8Eh z$4>RqLD$P@mjv_aHmh$1*JB%ajpx+3Pjr$$SdnNYrWD|`)GkyeJ(sYckY1(=6v5D4 z`>Oi-zQz)9o-P7i!%AK~(VONp$>p>2Ti7^1Y=7hmprV-*Ct+dBO!~f0^MW%RqaM(k zo-PA=crQU=fPndBjfwKz_eVq!P0#aKKWQC~$8s1J2XO3&%_#+h4{Z1A&wG9nh3l~W zeK1AMexd^XIKq23j%ad68@dNRL=QZQTe&y_^)+R{2PsLy2{(W2RV?F5JA{AnW&MLv zJTALK_5(NuJ5mnlSIEJ?l>>??%Hfcl^2aw4Y{9pUy)%{)06Fg>D$~n09(;v6E5}5Y zH#tHragC`zuB^OJQ?!8B%5|i;Z)7CJa>ccQbl9{ZMY80Mq4cfOkoKP8hWL1XJW~3l zf$zI30lACg(gsIKu9@w{(-KSEp)aeb#h?bxdFr`E7*5v)VyV)@Q$I6|)y16nsGjT_ zYFZ(PT%TzE7}&YYKRT-@rOzohO?9O7j{^11TD0!6rJKq}E1RCtdEi?)*@1E}+#YrN z*((h_?8h)wae`)7^yJ!2yQR}qS3jrldeM)*cM#J9Vk;|G!0pNt71WvMm0;Q@^#dGT ze#0SxVQXTf9MGx`P%c&21FzI>Z;F%Bm?xa4X2Y+|_1hJy)N$CVI3%wNg6_zoOhnF9 znr{*v^n zDwR_dxfx2J793QTZ1Hg=JUu?~y=|JeQ{D{48&NYy;>R)%Mz5cJ$I&H7JI|`P>=AXL z(s2TBoCh3K^p~ZFKR92*Jr#+_nlohMYOKf|AEU0IPAz?%vXn$~a$0)@z|IoC6*Uve z+IE(|{E#3{+CU4IM`0%Ldw1;s=F@ z0>M&N-yb<9L~^>{*!uHtI2{9&U1#Sqr3C&>xH|T!sbQnUhE8{4RF59s_1Y~*S5eF% zT9ZW{^`hr|1E(~*g{}_`@c6W^=h?{4?idy`8_UkW@~HE@0$BPr%pTeErkqiUzM0cA zV0^X5pK5=flajqxOHshl>fNf!7wPySP21tXCoKU2V`C&}-FhkIN{Z=kqh-Bi+Z(#@ zj>Xi)Z|JXSYI%B{@NagDnvwSO_M(dIL|7W_Z(IRU6c-jKJx4BC7a%aSMV$0P7fStD zengOMbimQ9-QLNUJj3_zfMdc+@*7to5W=ul-+O-3%+DAJHr1R$W4b`8(*GR){oi)- zzv)vWDb~L$GyQ!y_(kjFFN%wQOiu6{j>}Kl019p(X~VDOic#1P*_@6^S40DR=~3|` zoy4*J$Ufxn*A^hRTzDXaG=hFblNj`8y{Kh>TGROr)&>3wgv^i2sd7&M4sDM(&)Vk! z-0`mfXM~wA9UVIulg#D7X(AvT1PXY;xWzG|XpWVaEr2~b#M(s{KrIQI5_^Yy zF>=9>hvd&`7%(mi6mfv`?|bCm=7*4O8o7eMF(Uk3L^;UaMD8Zi^Zhwv5ahli_Zo5Q&CJG(@5y5)J=(G(=-gww5mus2MD{B^v!G z4=g=OVFVor#bcotnJ`m#*k_&fq6e4MY-wWS+5g?*HyMFjX>(+IpF-i<>Z+`%bu224 zL>FLKJecny`)HUX(m)!wf2W-ix)vpV)8cR5$3Z^%D}BMgyUP{-q5lSjqO*zxoT*zA zDTB>mFnIt@FMV~=IB%F&q~C!S+GCpK|5~=2{K0zLnF^ zl*g5^IY(76;QzeYB3<1dV$CohyWvL)Fw8dFS1+CHa}l#n5j`|4`@SA8JHSb--gm4m?M$A>4}VJMXywQb@kIj^#VJSL2%~*CiPKrBykS7?(}#Jz zZDZr47yUA$OjFZ-{L2TE*C@BBd`XEQynuw0yNxN$I~NC{YnN-34B#kgUN3{Wk(f>c ztMYSE0)uz?r%9P}xu)3voHt6REN%{#=V*Y16(uvo)19YQy_&92lsr zbH%4BsA^V;UTQp!MtXEPO`35JF!tfsKBQ2*y=cE9r!FuVO6p_mOChpUP$=5xL?l$> z9!?^b4A7GdyDF(ouamvSj-q@SMDrSu^3J!cF~5KrO-!82-2%H!$4(-o2I=v~ttw&! zS92KXd(q=SGCf8w8`(jZdu#o>JsMyt7UCsDnWAT{`QTD`4xA@@%wf=Sry@}>O@xe; z-mNt4P=@QBH)#lr=i!`miR7h&}XYf}JR{-IG;9(cxTUt?Fh8dynhQ@NNH1M_Fcp=K@~xb99$+0<_HtSv^`gtT z2I$zCf17CWT*#w&`W0|fQ)y~r0$X?UfA@#!R5de^nt^9_$hSF>SD7y%<0{ryF! z$tMU6$h>aRtMX0UUIQ!L=kdMqm{jj%J2sn+;Mf}!6a`90%*+grMhM>1KM5_~nD*sw zoHKB%Mfk?RW-LM5r)&Ur^=}CGuMV(SWV{Pu2VAzrDK`OU`wOvM{hjnaivb=-2Gb{< z?ZW=Uz9PzVO8&VP_a7hJ&q$gOjzO0)#+4Qc1D#@6=iO2xe-C zhN9kZ*LKlfW~paIoKy@W!{WlOjGDeYN_pVc&snrv2o58WN`Fbr7Vlga>0{MyF%AZ3 zd)=K3nF6=WFJDyOX2iPt56RH`#6k}0RMR}@s*QexC zlu`L%&kNZ(2aJcU=7n>L?Qw z?A%#<#^qy{8Aw~bMav)&yDNVAA>umwrBbrE4BqHj(p|#aJc3?UOJ}7dU%F z85#`u9qr+WezWdOxQ2~sFnR>W@}fG`?t%FZj{QZnWDh#gZ+l?qyR!L|0B#Fp^fqZg@$}Eom1N39phMwDoZ| zPF!hT!g0S$EWG*v)b#cx)k@imi@n4+?M2lMY~857{cPYM2p$U>4V_TKWr&S_*I-r_Q4Z_TnTyj$2|~d{jWaIdR{QTbxGFT37#!uh=C^ z|AXAE$U;1a(FkJ>3uxU=<=57}vLNS8>835In$2+SNoeJ#TW21<7~Zpul+6n_>+r{t zj7o_=n@?&}?hk~=LgrKWKtepC4U&gSgfnDg2D5QdDg@C$4?gJfvcCch(yxHpd*Geu zB7d4a0cFrf*j)i1SOHHkjIe9H0#0`N8#h3qg4^PhjbCU^snfu}HsYwmFP~N@1&Pt6LEwE&FcynD`bW2Vc90x0i)oEhxDU!!wf*nRi z*MKVqrgeysuI5kYUwQlPgr!9h_XUt?Kf@QN^eNaWY9>!Ai<%IL4V#|&B(@#%6>uu` z!mDIG4|9A>v-z16@k#|+(15AS?C(;bNP8xOX|${eyzrsfQF=Z1k-oSLeSvfz)Y#Y& zX}k{1fLHtlx?Jb%0$p+v-4;B_-Y=Fnpu`}y<$)E7S!Yj#qKn@dg;(n3bzffRM*l>d z_aS$F9Fw%bux^B$;({=_waK!X&#E@ukLpL-dQ)HoP(dApw44Oa8NM#mub;fDfb|Af z{|oxCXa?+yui(K6&5al?>q7NDo6lk?>%aj!uEk9RdEdeSt7)`sZ~WBl4*Em*b)UOC zni2Eq>fVI(s~j;c_Ol+I5e0yQnit-yj<@9_8VA<)$}3eW7>{SSAv!0ba+v{p)^D;@ z3iW|13}J{kSz_fE5oWES!g4Yfik9eQbvh=S&-Vs`fwc?Hxd|B7>PDuXB7I+8=~fI` z$C(Nm9*G-uXDi-f@3I*z1ixOi1O5I;}_NSMCg?wqm{(f)Scm(QlG3)(dP?3i!( z(^wPv&3JK9Gw5K7a=)*rO>GswYw2W^KTqhQw~_^P&FI=#dEl#qS{-z1Aq{L1TrO}! zM*hg64agYhKNIcc%vc`%_WJJ8I%E z`(}S}@)t8i!bUcv%9}s+hBUu_U>?S20)E~-BcClx@Qasb(S0sv5C_UTWNeflRmYM^(51s6Cw$=d^StJ=k0 z1Ez{|G`N#|Ydm^f-XEc00jDB`qW6csNMVd6VR$Gl8BG{q+52Y*Dv*Z-*`4-J+7i+% z{t(rDw$Z6I_&t;{55ZoGaj|#Y3@*O*{vOTa)qG9t1+gKNwJM z&t~5}-9Gfz+%h>%-L$#UQ<4duxyBv8HKYB*T-a=@9fHXh@8p4V(dpTc*p3OP1W625 zd~VffU0hnFo^U2z0l{!6;)Ve;!lzvMg0$-j_^JZA0x;R)t^hIJECjaM6)>L-b|JhX zk-q{`3)HUwbZ*$L1_1kll>zG+20xcSS>s7AAU22A-?*}&aRoGm&RjeOX#S+10nd+R zV7Ywo(ApA1MsLK+2PaDW+SA$Ux{%gp-sb zFJl!l4XqwQQqIm?qiT~2Rq)_g;#92v1Wq_1?!VFd!e6>@93RX^XS?3+h@7s~imb6jq*`{GnlRTWP}6RG{Zv@(3lqP`{Y^ zjT1ME#4cmPrkHhKT+L-d=W}mvu_ zSr6XKjNazH&8)d%Gu?BJAVl>w$JBJ73se#Vt=V1*lUu$H+H<9i5YQqzoC~fbm z#bb5-|7KPdnzVy=5ex!`k(St*;3_ozm&EqUz1`_I#NQ(yj_?Q2y&>NVP1Ukv(` zLH;Kc*nRqvB~45U6xexbD0scWfcH;(L{r#Q8&QfL7D`|maSSs4+^xNT$)H;c?bEOP z50L)UZ3ZEkY=Wq#IaNU~kGOCHTbM@ffUOGmkjeXh(6uxN_Jj2Ma2t|U^VN7@I*n2i zMttv6ux#WZ7X5N4lnb=&x?a3FYrJ&t{MiWBUDSN+V>)os_w7WlIkB*KPDIqRz~`vL z%lB45mmd?us@!_ZVZl19*LV2A9`6N4t`$jz?(6Ujhog{WzRk_LJwf~XgsMJPRt9ah zI#rSSs|01?XGLL!3vZ(zHgkQ>S>-#vuypRts@g{1(5eY|nJeY$a`dijE&Zjfw3yom z$AUJGyW0w>=4LlE^Ew8UTUvKa<7?-8a5IL}=CMX;wVXrs8b-XR75I&wh~$pJ%74mN1G+15Bhdo<6b1X`xl_k(g7kMcH9Od{eD=GI8-!uF8 zDntc_a}uLi9-{B9t~{8|QKHBZEo(%>h%97q?H5%CFMf2|%p;0K;KW*jskebQSmgSLTojp*~ySQb$w9^>G z6H)9I?yWX{wx~C$H>q@oIVBWNbvT#2C+<+PN7m^DkC$G~WGb=cINiEk`l$ZH{`&9F zm}Ngled1gL%`PXR{%-2SjC6GaovbtqS51;m2fKOZybaoPVG`^+9X})viRH%Eq7O%# z;`h8=TXi$vWm}i7ap(~1dAgb6^L&nItgU|}vRds@t==!^T-<2+VO?|F^fG&-kZss) z*P8zA{%rxV*8BUx_k5H&!m5jUb7mWF$hpsaL@<|(lg4+yR>rYO%n7G#s+EtPC# zPi{Kqyug~rFCv9bJZ_hdoL<4oF9gNhzdEy8@}H%=T%g|>PV>I|!P@m&eE+=BVX(|&lbNi&EQ~Ja zW62K3aRoD#R~u(5;Vzp@RA$yfST7!S(Xhd@Pu0a-g`=$)3$0weXOka9;caKFk%U zb`1FrUFf3m9@7;_$z;?JqZPdyaN|cvcF`c}7JfE|*=a49@gQg#_xbX;#s6=5OunQPHAi7>JzAUm$yi1?0dd_UZK9wj2Q}tYt`VtbI%ccp$6HNlKA(xhpLloC_+7b# zhj(@RS>F~~=&l6Y7X>-$-B8NVXPPcP7~|iEQ(ME8n?@4O*nQzccDC>YCBMGpTe7l| zl)LdgVhJAOd6k6$JVVndrXA&YB;yushOwh^0L%;TZsnTitggW2a- z0B&-4=9fKI=`UEL+)F*AQBEVMX1NM+qpGf2g2zKH1=jivpZd%y$|?s&WmsGK$gtX_ z9nj+;!S#Eqvop{Wcp>c+K1E#RSFGP1lv&sWTH1EH-0^hcMKl zrPBn{A>juftv#NR=O4MgsEN&_nUplKFe0Opn`CV5)^AX}{1P|lUIz{~k}Jn8#U6Bl5nI+UodlQ_-(1IED#lO#7Ak&zdOmq(oU8e&fbHn6=!I>qe(%s> z=P9oO6@}D|f}zQ~bIb2w#RBN4^w}9Q9&IN=j);e=_1f12u zT(6G`9V+jk()b+AS@PB1ijPwMPPdExp-#VdNKIjykZDidG5i z-ZYH3$cE~+A%t1MhS2Dry;OwAF!mpWu?{{g11_xGEt(CieVe+wa}gc270UJWK5$pM z3r49uxfwG-Hn;RjaZzSByKkM|#pbI|_*Q(pMHtVp28%s&r>zYk!?s(_9c4Si1DGaB z+a=Eh=wD>#7T~xJ>@&sG9gOzwsL(Yf%8Ko;r+%x<+2v+}U3)!yP-Q8sU$OGMD_dbH z^{DvklcGZxJ8msIo1$k=-OP@^c=)`v@sh|Q<6Vq;wL3Xp*8goOoNtjjjXEyPGNWB8 zF=mC=hdPffX5L`<<6u%XUL?A3W2D20M$hHUHk(-6c^J*>ClM$UD43$plVQ`m`9~31 z>)+Gr>S2;vJA0`ox}x{m1vsTHUYjZ!hQ@3oOa~FP2jBrp3Cz~_60@}E8#AS zPtfdrM;x14S%Z#Jr))A@c8jb+DC&P6V|v|z3;3G?`@(22I5UOQLc#yHvshtNcO zqdGOu+wz+J3NI8Fo&`^Q9XFV+#x8Ypzs>NOna7e{xQZrlN&RN^QrF1Svdcu(wd$}U z0}HL1w!oR@#AkBW)M=#A>&$kHIwhj2pYKtvug#2SUUVea$A%AlC7*t2ZXZug`^mN3 zd9so~kBqiknGBe{0>aGGUYM@O^>ta$DJQgPmbh_mLLcEb9tFf(EeY9fY*QWefs zcJ^(~Z&gi!Jxwj@t^%OBYX&2Frl-$5$ZDO=>&p*0>mJ*9XPtc9m;4m=iu#^K_tI*h zKqP{$XmHqh;rnIMn9xP#Mb|yH$D22gDtkWkx{VKc%hif<@{)XEyMKZrZ zzn3~%SpvuCR`?nn*;5MG4eH50l1{$qE^SBs-jXSy*gA!UWFftsuEP|+(&-)+oMq#i zk6&|k7)#&xDd#1$Znw8Wm@CirMWC;OTh;R(yuebh?)CgzD%e(PHe{y#n^OY+z{C9i zue4Ck_`((+E1#W#gTDHD#HsFp!uHBq15bx}l9KOx1#QtW$Zl?{-*MJ3NbYuQR@qg0 zV@{py3UA1MqDtwiIq>lfkv$grE&uRxTm9}$tB1kiA;#WnZTh<;{^iUH6WXk7TNqon z<@ldq-yo|ozjZL5X)QUtnl0u&V_cYlURq=^uGSF2TJSaV16C(Rd*G6aE61&al?~0! z%{0-($QX?!JoY^neO;?Wl3;chYaEes3Ii#^?%;cmqxn^RrRO228WK}VqONSZW#<;$ zEjK-i-Z*0#C&}&^ZT4~N)#bK*!{*X^@7zN4p;rsi$XxzRegq{N-tpKH@)WL9uONaJWQaH&8-BFa$PYb1$i;xtge z8=L;oog#~B!zS3HH2Tp}WAD+e%hcrXRQXQ^?DFNGq$gSDwU0e!U2@-7XE++?=R0-U z<(}9X3>H2=s2t2MCqq36kkSf%^u&)e)L)f~?%R1|OSRQ$V*$o`d`-nC9-((U+q4Sa z;tD*5R>k2Qn5Zc$Sx{aD`8TIx?Fsqh2N#{x_XgN`u`aLcX+L^n=~MFE6;jL>m7*-- zsTLkbxMqHat2JLNQT~ac)adkZR`L?&V8@X20?>#gS1$as*6w7}+o7 zDQ5&nx;beXp}F}rl^q1H?=3C*VJ5$byY1lr9yhR%!FtMX6Y-Q}yW<#SoA6z}Bv;sM zQnKhU;hllc!Nprpdg31Xh4T9i2Zgmo-!gzdUs{>w4xZk?co6pT43-fe|} z!)q5b<^{s2%-3Jp|G@<)I1|={JcOY-|+AlGeJsv%;1o8pK|S;Y0V$upM0e; z+tWFTiP4E4Mu>BQBU>n!lRg;gx-C2&zO#quaz(YIrdV#@h?3-a6|=rYIIL>@@%|mD z2d`ApMvZ+@peUHA)UCe22l49w6ix)(Absk4>xc(n%4Hi;N$bT{LAg&CdOv{rm6dP652VRES z3r)##S0`OCfB>`7P%Q8Y#vc6!&Ee`5@XePuAGYvi22stvM+6c1Cu$)7|KaX;XHCEB zC2(vYO**I38uSu$IjxFtQ0;?GS4I`r@; zbbQt)wEMTyXk4~!l8va(F)=p8u}a%!_9vPfkJn*fp9D^dC^(LG8XU>l2(~$ZJr2)z zk1vjPwlB|8e`%92k7!(}41{eDUIAc(1BI~n6(CY4bOrc;7t_HWiLr(4)6Kb=^Fy(p zO%~`qG_W2!+$&%PtayR_5qxgv2v0Xx#3gtq4Q#Ra6TGo>`R-8r-s0eawUo%Sii)U7 zZ)gPrR6%;@urT~t>i78dqo?N^)!l0}6QiEjfuaAKd0!B;{xK;2&jUB|BO%)xkf#pm zE|7i+>6($~ghWFm8Y0mUiH1ltM4}-Q4UuSwL_;JRBGC|uhDbC-q9GCuk!XlSLnIm^ R(GZD-NHqN2q2blo{{zs{^wR(U literal 0 HcmV?d00001 diff --git a/members/flatcc/task2/readme.md b/members/flatcc/task2/readme.md new file mode 100644 index 0000000000..757eef94d8 --- /dev/null +++ b/members/flatcc/task2/readme.md @@ -0,0 +1,83 @@ +# Task2 Blockchain Basic + +本任务分为简答题、分析题和选择题,以此为模板,在下方填写你的答案即可。 + +选择题,请在你选中的项目中,将 `[ ]` 改为 `[x]` 即可 + +## [单选题] 如果你莫名奇妙收到了一个 NFT,那么 + +- [ ] 天上掉米,我应该马上点开他的链接 +- [x] 这可能是在对我进行诈骗! + +## [单选题] 群里大哥给我发的网站,说能赚大米,我应该 + +- [ ] 赶紧冲啊,待会米被人抢了 +- [x] 谨慎判断,不在不信任的网站链接钱包 + +## [单选题] 下列说法正确的是 + +- [ ] 一个私钥对应一个地址 +- [x] 一个私钥对应多个地址 +- [ ] 多个私钥对应一个地址 +- [ ] 多个私钥对应多个地址 + +## [单选题] 下列哪个是以太坊虚拟机的简称 + +- [ ] CLR +- [x] EVM +- [ ] JVM + +## [单选题] 以下哪个是以太坊上正确的地址格式? + +- [ ] 1A4BHoT2sXFuHsyL6bnTcD1m6AP9C5uyT1 +- [ ] TEEuMMSc6zPJD36gfjBAR2GmqT6Tu1Rcut +- [ ] 0x997fd71a4cf5d214009619808176b947aec122890a7fcee02e78e329596c94ba +- [x] 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 + +## [多选题] 有一天某个大哥说要按市场价的 80% 出油给你,有可能 + +- [x] 他在洗米 +- [ ] 他良心发现 +- [x] 要给我黒米 +- [x] 给我下套呢 + +## [多选题] 以下哪些是以太坊的二层扩容方案? + +- [ ] Lightning Network(闪电网络) +- [x] Optimsitic Rollup +- [x] Zk Rollup + +## [简答题] 简述区块链的网络结构 + +``` +去中心化的分布式结构。 +``` + +## [简答题] 智能合约是什么,有何作用? + +``` +智能合约是部署在区块链上的程序,可被用户发起交易来调用。 +``` + +## [简答题] 怎么理解大家常说的 `EVM` 这个词汇? + +``` +以太坊虚拟机,用来运行合约。 +``` + +## [分析题] 你对去中心化的理解 + +``` +无单点控制、权利分散。 +``` + +## [分析题] 比较区块链与传统数据库,你的看法? + +``` +区块链:适合小数据量存储,公开数据存储,去中心化,人手一份数据库内容,一旦上链不可被篡改 +传统数据库:大容量存储,私有,中心化管理,容易被盗取篡改 +``` + +## 操作题 + +安装一个 WEB3 钱包,创建账户后与 [openbuild.xyz](https://openbuild.xyz/profile) 进行绑定,截图后文件命名为 `./bind-wallet.jpg`. From 5172077df554f8b6caf0a26a883f2f18fb427ed6 Mon Sep 17 00:00:00 2001 From: kangvcar Date: Wed, 5 Jun 2024 21:02:39 +0800 Subject: [PATCH 10/18] =?UTF-8?q?=E6=B3=A8=E5=86=8C=E6=8A=A5=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- members/kangvcar/readme.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 members/kangvcar/readme.md diff --git a/members/kangvcar/readme.md b/members/kangvcar/readme.md new file mode 100644 index 0000000000..d9f3c4f8e2 --- /dev/null +++ b/members/kangvcar/readme.md @@ -0,0 +1,13 @@ +# Web3 前端训练营报名 + +## 个人信息 + +- Github ID: kangvcar + +- Openbuild Username: kangvcar + +- ERC20 钱包地址: 0x06D2a406aa1194333123490EdB4B38b720458bfD + +### 个人介绍 + +嘿!Web2 前端开发者,Web3 新手,加入训练营结交志同道合的朋友,为 Web3 做贡献。让我们一起探索新的可能性! From a5e5b52598a02354e17c06b8a8f3946a7fbe11fe Mon Sep 17 00:00:00 2001 From: Winson Lee Date: Wed, 5 Jun 2024 21:35:49 +0800 Subject: [PATCH 11/18] Add register directory and readme, start web3 bootcamp --- members/Winson-030/readme.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 members/Winson-030/readme.md diff --git a/members/Winson-030/readme.md b/members/Winson-030/readme.md new file mode 100644 index 0000000000..f9fb1d0ce2 --- /dev/null +++ b/members/Winson-030/readme.md @@ -0,0 +1,15 @@ +# Web3 前端训练营报名 + +## 个人信息 + +* Github ID: Winson-030 + +* Wechat ID: wanchaikiller + +* Openbuild Username: winsonli + +* ERC20 钱包地址: 0x5f132668b81b0d49e5FA2Ef07989257c2cAB903E + +### 个人介绍 + +DevOps Engineer && Solution Architect,断断续续使用 react 写网站,参加训练营想了解更多 web3 的世界。 From 6e27abfcec8036f867b3de4d94e5ffe475d23598 Mon Sep 17 00:00:00 2001 From: renfengyi <447336761@qq.com> Date: Wed, 5 Jun 2024 23:01:24 +0800 Subject: [PATCH 12/18] feat: signup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 提交注册信息 --- members/renfengyi/readme.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 members/renfengyi/readme.md diff --git a/members/renfengyi/readme.md b/members/renfengyi/readme.md new file mode 100644 index 0000000000..23792101c1 --- /dev/null +++ b/members/renfengyi/readme.md @@ -0,0 +1,11 @@ +# Web3 前端训练营报名 + +## 个人信息 + +* Openbuild Username: 447336761 + +* ERC20 钱包地址: 0xf524d32fa72951a530a4055d28ea7659c0a49078 + +### 个人介绍 + +AIGC应用开发,Web2行业游戏开发. \ No newline at end of file From 829115bc0f4cbfeca4ab384225a73e9c46e4cb18 Mon Sep 17 00:00:00 2001 From: dockershe Date: Wed, 5 Jun 2024 23:15:02 +0800 Subject: [PATCH 13/18] =?UTF-8?q?task1=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?= =?UTF-8?q?=EF=BC=9A=E5=88=9D=E5=A7=8B=E5=8C=96=E7=9A=84=E6=97=B6=E5=80=99?= =?UTF-8?q?=E5=B0=B1=E4=BB=8ElocalStorage=20=E5=8F=96=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=EF=BC=8C=E5=8E=BB=E6=8E=89=E7=AC=AC=E4=B8=80=E4=B8=AAuseEffect?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dockershe/task1/web3-todo-list/README.md | 4 ++++ .../task1/web3-todo-list/src/App.tsx | 22 ++++++++----------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/members/dockershe/task1/web3-todo-list/README.md b/members/dockershe/task1/web3-todo-list/README.md index 550acf3fc4..5142f1ab5e 100644 --- a/members/dockershe/task1/web3-todo-list/README.md +++ b/members/dockershe/task1/web3-todo-list/README.md @@ -19,3 +19,7 @@ 5. 已完成的项目也需要被存储,我们将每个待办事项表示为一个对象,包含text和completed两个属性。在保存和恢复数据时,我们同时保存和恢复这个完成状态。 修改了items的类型为TodoItem[],并更新了handleItemClick函数以支持更新待办事项的完成状态 + +6. 和群友讨论,优化effect的使用 +初始化的时候就从localStorage 取数据,去掉第一个useEffect +这样做的好处是,可以确保初始化状态时只会执行一次从 localStorage 中取数据的逻辑,而不会在每次重新渲染组件时都执行。 \ No newline at end of file diff --git a/members/dockershe/task1/web3-todo-list/src/App.tsx b/members/dockershe/task1/web3-todo-list/src/App.tsx index d85802efaa..416b1bc789 100644 --- a/members/dockershe/task1/web3-todo-list/src/App.tsx +++ b/members/dockershe/task1/web3-todo-list/src/App.tsx @@ -9,27 +9,23 @@ import ToDoList from './pages//ToDoList'; function App() { - const [items, setItems] = useState<{ text: string; completed: boolean }[]>([]); - - // 在组件挂载时从本地存储中恢复待办事项 - useEffect(() => { + // const [items, setItems] = useState<{ text: string; completed: boolean }[]>([]); + const [items, setItems] = useState(() => { const storedItems = localStorage.getItem('todoItems'); - if (storedItems) { - setItems(JSON.parse(storedItems)); - } - }, []); + return storedItems ? JSON.parse(storedItems) : []; + }); - useEffect(() => { - const timeoutId = setTimeout(() => { - localStorage.setItem('todoItems', JSON.stringify(items)); - }, 1000); // 增加一个延迟以确保在一次更新中只保存一次到本地存储 + useEffect(() => { + localStorage.setItem('todoItems', JSON.stringify(items)); console.log('App items:', items); - return () => clearTimeout(timeoutId); // 在组件卸载或下一次更新前清除延迟保存的操作 + return () => {}; }, [items]); + + const handleAdd = (newTodo: { text: string; completed: boolean }) => { setItems([...items, newTodo]); }; From 9cd642e448da201dc1ee88c8a4ff26c6ccfb695d Mon Sep 17 00:00:00 2001 From: Majoson <42291113+majoson-chen@users.noreply.github.com> Date: Wed, 5 Jun 2024 23:21:23 +0800 Subject: [PATCH 14/18] Update README.md --- README.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index bde128fe82..9e447a2530 100644 --- a/README.md +++ b/README.md @@ -56,6 +56,9 @@ ### 任务提交 +> 在此之前,需要 `Fork` 本仓库(右上角),随后将 `Fork` 的仓库 `clone` 至本地,接下来的所有任务请在自己的仓库内完成。 +> 如果你不熟悉 git 的操作,可以下载一个 [GithubDesktop](https://desktop.github.com/),使用 GUI 完成任务 + 1. 复制 `members` 文件夹中的 `github_id` 文件夹,将新文件夹名称改为自己的github id,填写其中 `readme.md` 的信息,提交 PR ,完成注册报名 2. 任务代码必须全部开源公开,每个任务提交一次 PR @@ -64,6 +67,16 @@ 4. [任务提交示例](members/Beavnvvv) +### 任务提交规范 + +每完成一个任务,在你自己的仓库 `commit` 之后提交一个 `pull request`,只可以修改你自己的文件,不可修改其他人的文件。 + +`pr` 的标题必须为 `task[n]: user-name`,例如: `task0: Beavnvvv` + +报名的 pr,只允许填写基本信息,并且命名为: `init: [user-name]`,例如: `init: Beavnvvv` + +**请按要求提交你的pr,否则可能影响奖励的计算** + ## 奖励明细 请仔细阅读要求 | 任务 | 名称 | 奖励金额 | 说明 | @@ -96,4 +109,4 @@ ### 大牛学习心得 1. [Web3 DApp 最佳编程实践指南](https://guoyu.mirror.xyz/RD-xkpoxasAU7x5MIJmiCX4gll3Cs0pAd5iM258S1Ek) -2. [郭宇的 Web3 技术栈收藏](https://github.com/stars/guo-yu/lists/dapp-best-practice-stack) \ No newline at end of file +2. [郭宇的 Web3 技术栈收藏](https://github.com/stars/guo-yu/lists/dapp-best-practice-stack) From 13e0fd3ad187ec46d3eec7ff6ab61628404f1dce Mon Sep 17 00:00:00 2001 From: Winson Lee Date: Wed, 5 Jun 2024 23:21:48 +0800 Subject: [PATCH 15/18] Start task 1, initialize project --- .../Winson-030/task1/Todo-app/.eslintrc.cjs | 18 + members/Winson-030/task1/Todo-app/.gitignore | 24 + members/Winson-030/task1/Todo-app/README.md | 30 + members/Winson-030/task1/Todo-app/index.html | 13 + .../task1/Todo-app/package-lock.json | 3253 +++++++++++++++++ .../Winson-030/task1/Todo-app/package.json | 28 + .../Winson-030/task1/Todo-app/public/vite.svg | 1 + members/Winson-030/task1/Todo-app/src/App.css | 42 + members/Winson-030/task1/Todo-app/src/App.tsx | 35 + .../task1/Todo-app/src/assets/react.svg | 1 + .../Winson-030/task1/Todo-app/src/index.css | 68 + .../Winson-030/task1/Todo-app/src/main.tsx | 10 + .../task1/Todo-app/src/vite-env.d.ts | 1 + .../Winson-030/task1/Todo-app/tsconfig.json | 25 + .../task1/Todo-app/tsconfig.node.json | 11 + .../Winson-030/task1/Todo-app/vite.config.ts | 11 + 16 files changed, 3571 insertions(+) create mode 100644 members/Winson-030/task1/Todo-app/.eslintrc.cjs create mode 100644 members/Winson-030/task1/Todo-app/.gitignore create mode 100644 members/Winson-030/task1/Todo-app/README.md create mode 100644 members/Winson-030/task1/Todo-app/index.html create mode 100644 members/Winson-030/task1/Todo-app/package-lock.json create mode 100644 members/Winson-030/task1/Todo-app/package.json create mode 100644 members/Winson-030/task1/Todo-app/public/vite.svg create mode 100644 members/Winson-030/task1/Todo-app/src/App.css create mode 100644 members/Winson-030/task1/Todo-app/src/App.tsx create mode 100644 members/Winson-030/task1/Todo-app/src/assets/react.svg create mode 100644 members/Winson-030/task1/Todo-app/src/index.css create mode 100644 members/Winson-030/task1/Todo-app/src/main.tsx create mode 100644 members/Winson-030/task1/Todo-app/src/vite-env.d.ts create mode 100644 members/Winson-030/task1/Todo-app/tsconfig.json create mode 100644 members/Winson-030/task1/Todo-app/tsconfig.node.json create mode 100644 members/Winson-030/task1/Todo-app/vite.config.ts diff --git a/members/Winson-030/task1/Todo-app/.eslintrc.cjs b/members/Winson-030/task1/Todo-app/.eslintrc.cjs new file mode 100644 index 0000000000..d6c9537953 --- /dev/null +++ b/members/Winson-030/task1/Todo-app/.eslintrc.cjs @@ -0,0 +1,18 @@ +module.exports = { + root: true, + env: { browser: true, es2020: true }, + extends: [ + 'eslint:recommended', + 'plugin:@typescript-eslint/recommended', + 'plugin:react-hooks/recommended', + ], + ignorePatterns: ['dist', '.eslintrc.cjs'], + parser: '@typescript-eslint/parser', + plugins: ['react-refresh'], + rules: { + 'react-refresh/only-export-components': [ + 'warn', + { allowConstantExport: true }, + ], + }, +} diff --git a/members/Winson-030/task1/Todo-app/.gitignore b/members/Winson-030/task1/Todo-app/.gitignore new file mode 100644 index 0000000000..a547bf36d8 --- /dev/null +++ b/members/Winson-030/task1/Todo-app/.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/members/Winson-030/task1/Todo-app/README.md b/members/Winson-030/task1/Todo-app/README.md new file mode 100644 index 0000000000..0d6babeddb --- /dev/null +++ b/members/Winson-030/task1/Todo-app/README.md @@ -0,0 +1,30 @@ +# React + TypeScript + 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/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh +- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh + +## Expanding the ESLint configuration + +If you are developing a production application, we recommend updating the configuration to enable type aware lint rules: + +- Configure the top-level `parserOptions` property like this: + +```js +export default { + // other rules... + parserOptions: { + ecmaVersion: 'latest', + sourceType: 'module', + project: ['./tsconfig.json', './tsconfig.node.json'], + tsconfigRootDir: __dirname, + }, +} +``` + +- Replace `plugin:@typescript-eslint/recommended` to `plugin:@typescript-eslint/recommended-type-checked` or `plugin:@typescript-eslint/strict-type-checked` +- Optionally add `plugin:@typescript-eslint/stylistic-type-checked` +- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and add `plugin:react/recommended` & `plugin:react/jsx-runtime` to the `extends` list diff --git a/members/Winson-030/task1/Todo-app/index.html b/members/Winson-030/task1/Todo-app/index.html new file mode 100644 index 0000000000..e4b78eae12 --- /dev/null +++ b/members/Winson-030/task1/Todo-app/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite + React + TS + + +
    + + + diff --git a/members/Winson-030/task1/Todo-app/package-lock.json b/members/Winson-030/task1/Todo-app/package-lock.json new file mode 100644 index 0000000000..0eceefcb9e --- /dev/null +++ b/members/Winson-030/task1/Todo-app/package-lock.json @@ -0,0 +1,3253 @@ +{ + "name": "todo", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "todo", + "version": "0.0.0", + "dependencies": { + "react": "^18.2.0", + "react-dom": "^18.2.0" + }, + "devDependencies": { + "@types/react": "^18.2.66", + "@types/react-dom": "^18.2.22", + "@typescript-eslint/eslint-plugin": "^7.2.0", + "@typescript-eslint/parser": "^7.2.0", + "@vitejs/plugin-react": "^4.2.1", + "eslint": "^8.57.0", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.4.6", + "typescript": "^5.2.2", + "vite": "^5.2.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.7.tgz", + "integrity": "sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.7.tgz", + "integrity": "sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.7", + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helpers": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/template": "^7.24.7", + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz", + "integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.7", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz", + "integrity": "sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", + "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", + "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz", + "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz", + "integrity": "sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz", + "integrity": "sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", + "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", + "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz", + "integrity": "sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.7.tgz", + "integrity": "sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", + "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.7.tgz", + "integrity": "sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.7.tgz", + "integrity": "sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", + "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz", + "integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.7", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-hoist-variables": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/types": "^7.24.7", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", + "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", + "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", + "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", + "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", + "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", + "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", + "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", + "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", + "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", + "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", + "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", + "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", + "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", + "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", + "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", + "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", + "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", + "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", + "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", + "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", + "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", + "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", + "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", + "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.1.tgz", + "integrity": "sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "dev": true + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz", + "integrity": "sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz", + "integrity": "sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz", + "integrity": "sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz", + "integrity": "sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz", + "integrity": "sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz", + "integrity": "sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz", + "integrity": "sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz", + "integrity": "sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz", + "integrity": "sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz", + "integrity": "sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz", + "integrity": "sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz", + "integrity": "sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz", + "integrity": "sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz", + "integrity": "sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz", + "integrity": "sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz", + "integrity": "sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "node_modules/@types/prop-types": { + "version": "15.7.12", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", + "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", + "dev": true + }, + "node_modules/@types/react": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz", + "integrity": "sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz", + "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "7.12.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.12.0.tgz", + "integrity": "sha512-7F91fcbuDf/d3S8o21+r3ZncGIke/+eWk0EpO21LXhDfLahriZF9CGj4fbAetEjlaBdjdSm9a6VeXbpbT6Z40Q==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "7.12.0", + "@typescript-eslint/type-utils": "7.12.0", + "@typescript-eslint/utils": "7.12.0", + "@typescript-eslint/visitor-keys": "7.12.0", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^7.0.0", + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "7.12.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.12.0.tgz", + "integrity": "sha512-dm/J2UDY3oV3TKius2OUZIFHsomQmpHtsV0FTh1WO8EKgHLQ1QCADUqscPgTpU+ih1e21FQSRjXckHn3txn6kQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "7.12.0", + "@typescript-eslint/types": "7.12.0", + "@typescript-eslint/typescript-estree": "7.12.0", + "@typescript-eslint/visitor-keys": "7.12.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "7.12.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.12.0.tgz", + "integrity": "sha512-itF1pTnN6F3unPak+kutH9raIkL3lhH1YRPGgt7QQOh43DQKVJXmWkpb+vpc/TiDHs6RSd9CTbDsc/Y+Ygq7kg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.12.0", + "@typescript-eslint/visitor-keys": "7.12.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "7.12.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.12.0.tgz", + "integrity": "sha512-lib96tyRtMhLxwauDWUp/uW3FMhLA6D0rJ8T7HmH7x23Gk1Gwwu8UZ94NMXBvOELn6flSPiBrCKlehkiXyaqwA==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "7.12.0", + "@typescript-eslint/utils": "7.12.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "7.12.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.12.0.tgz", + "integrity": "sha512-o+0Te6eWp2ppKY3mLCU+YA9pVJxhUJE15FV7kxuD9jgwIAa+w/ycGJBMrYDTpVGUM/tgpa9SeMOugSabWFq7bg==", + "dev": true, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "7.12.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.12.0.tgz", + "integrity": "sha512-5bwqLsWBULv1h6pn7cMW5dXX/Y2amRqLaKqsASVwbBHMZSnHqE/HN4vT4fE0aFsiwxYvr98kqOWh1a8ZKXalCQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.12.0", + "@typescript-eslint/visitor-keys": "7.12.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "7.12.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.12.0.tgz", + "integrity": "sha512-Y6hhwxwDx41HNpjuYswYp6gDbkiZ8Hin9Bf5aJQn1bpTs3afYY4GX+MPYxma8jtoIV2GRwTM/UJm/2uGCVv+DQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "7.12.0", + "@typescript-eslint/types": "7.12.0", + "@typescript-eslint/typescript-estree": "7.12.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "7.12.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.12.0.tgz", + "integrity": "sha512-uZk7DevrQLL3vSnfFl5bj4sL75qC9D6EdjemIdbtkuUmIheWpuiiylSY01JxJE7+zGrOWDZrp1WxOuDntvKrHQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.12.0", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.0.tgz", + "integrity": "sha512-KcEbMsn4Dpk+LIbHMj7gDPRKaTMStxxWRkRmxsg/jVdFdJCZWt1SchZcf0M4t8lIKdwwMsEyzhrcOXRrDPtOBw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.24.5", + "@babel/plugin-transform-react-jsx-self": "^7.24.5", + "@babel/plugin-transform-react-jsx-source": "^7.24.1", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.14.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0" + } + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "dev": true, + "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, + "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, + "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-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001628", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001628.tgz", + "integrity": "sha512-S3BnR4Kh26TBxbi5t5kpbcUlLJb9lhtDXISDPwOfI+JoC+ik0QksvkZtUVyikw3hjnkgkMPSJ8oIM9yMm9vflA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "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 + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.790", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.790.tgz", + "integrity": "sha512-eVGeQxpaBYbomDBa/Mehrs28MdvCXfJmEFzaMFsv8jH/MJDLIylJN81eTJ5kvx7B7p18OiPK0BkC06lydEy63A==", + "dev": true + }, + "node_modules/esbuild": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", + "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.20.2", + "@esbuild/android-arm": "0.20.2", + "@esbuild/android-arm64": "0.20.2", + "@esbuild/android-x64": "0.20.2", + "@esbuild/darwin-arm64": "0.20.2", + "@esbuild/darwin-x64": "0.20.2", + "@esbuild/freebsd-arm64": "0.20.2", + "@esbuild/freebsd-x64": "0.20.2", + "@esbuild/linux-arm": "0.20.2", + "@esbuild/linux-arm64": "0.20.2", + "@esbuild/linux-ia32": "0.20.2", + "@esbuild/linux-loong64": "0.20.2", + "@esbuild/linux-mips64el": "0.20.2", + "@esbuild/linux-ppc64": "0.20.2", + "@esbuild/linux-riscv64": "0.20.2", + "@esbuild/linux-s390x": "0.20.2", + "@esbuild/linux-x64": "0.20.2", + "@esbuild/netbsd-x64": "0.20.2", + "@esbuild/openbsd-x64": "0.20.2", + "@esbuild/sunos-x64": "0.20.2", + "@esbuild/win32-arm64": "0.20.2", + "@esbuild/win32-ia32": "0.20.2", + "@esbuild/win32-x64": "0.20.2" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react-refresh": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.7.tgz", + "integrity": "sha512-yrj+KInFmwuQS2UQcg1SF83ha1tuHC1jMQbRNyuWtlEzzKRDgAl7L4Yp4NlDUZTZNlWvHEzOtJhMi40R7JxcSw==", + "dev": true, + "peerDependencies": { + "eslint": ">=7" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "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, + "engines": { + "node": ">=6.9.0" + } + }, + "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", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "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.", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/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, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "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, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "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" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.2.0" + }, + "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, + "engines": { + "node": ">= 0.8.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, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-refresh": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", + "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "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", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.0.tgz", + "integrity": "sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.18.0", + "@rollup/rollup-android-arm64": "4.18.0", + "@rollup/rollup-darwin-arm64": "4.18.0", + "@rollup/rollup-darwin-x64": "4.18.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.18.0", + "@rollup/rollup-linux-arm-musleabihf": "4.18.0", + "@rollup/rollup-linux-arm64-gnu": "4.18.0", + "@rollup/rollup-linux-arm64-musl": "4.18.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.18.0", + "@rollup/rollup-linux-riscv64-gnu": "4.18.0", + "@rollup/rollup-linux-s390x-gnu": "4.18.0", + "@rollup/rollup-linux-x64-gnu": "4.18.0", + "@rollup/rollup-linux-x64-musl": "4.18.0", + "@rollup/rollup-win32-arm64-msvc": "4.18.0", + "@rollup/rollup-win32-ia32-msvc": "4.18.0", + "@rollup/rollup-win32-x64-msvc": "4.18.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-api-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "dev": true, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", + "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.2", + "picocolors": "^1.0.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, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/vite": { + "version": "5.2.12", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.12.tgz", + "integrity": "sha512-/gC8GxzxMK5ntBwb48pR32GGhENnjtY30G4A0jemunsBkiEZFw60s8InGpN8gkhHEkjnRK1aSAxeQgwvFhUHAA==", + "dev": true, + "dependencies": { + "esbuild": "^0.20.1", + "postcss": "^8.4.38", + "rollup": "^4.13.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/members/Winson-030/task1/Todo-app/package.json b/members/Winson-030/task1/Todo-app/package.json new file mode 100644 index 0000000000..295a72294c --- /dev/null +++ b/members/Winson-030/task1/Todo-app/package.json @@ -0,0 +1,28 @@ +{ + "name": "todo", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", + "preview": "vite preview" + }, + "dependencies": { + "react": "^18.2.0", + "react-dom": "^18.2.0" + }, + "devDependencies": { + "@types/react": "^18.2.66", + "@types/react-dom": "^18.2.22", + "@typescript-eslint/eslint-plugin": "^7.2.0", + "@typescript-eslint/parser": "^7.2.0", + "@vitejs/plugin-react": "^4.2.1", + "eslint": "^8.57.0", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.4.6", + "typescript": "^5.2.2", + "vite": "^5.2.0" + } +} diff --git a/members/Winson-030/task1/Todo-app/public/vite.svg b/members/Winson-030/task1/Todo-app/public/vite.svg new file mode 100644 index 0000000000..e7b8dfb1b2 --- /dev/null +++ b/members/Winson-030/task1/Todo-app/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/members/Winson-030/task1/Todo-app/src/App.css b/members/Winson-030/task1/Todo-app/src/App.css new file mode 100644 index 0000000000..b9d355df2a --- /dev/null +++ b/members/Winson-030/task1/Todo-app/src/App.css @@ -0,0 +1,42 @@ +#root { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +.logo { + height: 6em; + padding: 1.5em; + will-change: filter; + transition: filter 300ms; +} +.logo:hover { + filter: drop-shadow(0 0 2em #646cffaa); +} +.logo.react:hover { + filter: drop-shadow(0 0 2em #61dafbaa); +} + +@keyframes logo-spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} + +@media (prefers-reduced-motion: no-preference) { + a:nth-of-type(2) .logo { + animation: logo-spin infinite 20s linear; + } +} + +.card { + padding: 2em; +} + +.read-the-docs { + color: #888; +} diff --git a/members/Winson-030/task1/Todo-app/src/App.tsx b/members/Winson-030/task1/Todo-app/src/App.tsx new file mode 100644 index 0000000000..afe48ac750 --- /dev/null +++ b/members/Winson-030/task1/Todo-app/src/App.tsx @@ -0,0 +1,35 @@ +import { useState } from 'react' +import reactLogo from './assets/react.svg' +import viteLogo from '/vite.svg' +import './App.css' + +function App() { + const [count, setCount] = useState(0) + + return ( + <> +
    +

    Vite + React

    +
    + +

    + Edit src/App.tsx and save to test HMR +

    +
    +

    + Click on the Vite and React logos to learn more +

    + + ) +} + +export default App diff --git a/members/Winson-030/task1/Todo-app/src/assets/react.svg b/members/Winson-030/task1/Todo-app/src/assets/react.svg new file mode 100644 index 0000000000..6c87de9bb3 --- /dev/null +++ b/members/Winson-030/task1/Todo-app/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/members/Winson-030/task1/Todo-app/src/index.css b/members/Winson-030/task1/Todo-app/src/index.css new file mode 100644 index 0000000000..6119ad9a8f --- /dev/null +++ b/members/Winson-030/task1/Todo-app/src/index.css @@ -0,0 +1,68 @@ +:root { + font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} diff --git a/members/Winson-030/task1/Todo-app/src/main.tsx b/members/Winson-030/task1/Todo-app/src/main.tsx new file mode 100644 index 0000000000..3d7150da80 --- /dev/null +++ b/members/Winson-030/task1/Todo-app/src/main.tsx @@ -0,0 +1,10 @@ +import React from 'react' +import ReactDOM from 'react-dom/client' +import App from './App.tsx' +import './index.css' + +ReactDOM.createRoot(document.getElementById('root')!).render( + + + , +) diff --git a/members/Winson-030/task1/Todo-app/src/vite-env.d.ts b/members/Winson-030/task1/Todo-app/src/vite-env.d.ts new file mode 100644 index 0000000000..11f02fe2a0 --- /dev/null +++ b/members/Winson-030/task1/Todo-app/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/members/Winson-030/task1/Todo-app/tsconfig.json b/members/Winson-030/task1/Todo-app/tsconfig.json new file mode 100644 index 0000000000..a7fc6fbf23 --- /dev/null +++ b/members/Winson-030/task1/Todo-app/tsconfig.json @@ -0,0 +1,25 @@ +{ + "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/members/Winson-030/task1/Todo-app/tsconfig.node.json b/members/Winson-030/task1/Todo-app/tsconfig.node.json new file mode 100644 index 0000000000..97ede7ee6f --- /dev/null +++ b/members/Winson-030/task1/Todo-app/tsconfig.node.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "composite": true, + "skipLibCheck": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowSyntheticDefaultImports": true, + "strict": true + }, + "include": ["vite.config.ts"] +} diff --git a/members/Winson-030/task1/Todo-app/vite.config.ts b/members/Winson-030/task1/Todo-app/vite.config.ts new file mode 100644 index 0000000000..179c27f6a8 --- /dev/null +++ b/members/Winson-030/task1/Todo-app/vite.config.ts @@ -0,0 +1,11 @@ +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [react()], + server: { + host: '127.0.0.1', + port: 3000 + } +}) From 5ae3dcbbfc24b5d7ea2e2e873f84cf1425426587 Mon Sep 17 00:00:00 2001 From: Majoson <42291113+majoson-chen@users.noreply.github.com> Date: Wed, 5 Jun 2024 23:29:25 +0800 Subject: [PATCH 16/18] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 9e447a2530..ca58266f46 100644 --- a/README.md +++ b/README.md @@ -71,6 +71,8 @@ 每完成一个任务,在你自己的仓库 `commit` 之后提交一个 `pull request`,只可以修改你自己的文件,不可修改其他人的文件。 +**请不要在一个 `PR` 内提交多个 `task`,报名必须独立为一个 `PR` + `pr` 的标题必须为 `task[n]: user-name`,例如: `task0: Beavnvvv` 报名的 pr,只允许填写基本信息,并且命名为: `init: [user-name]`,例如: `init: Beavnvvv` From a3f387850beb8106c624308c99f0c84e9d418b02 Mon Sep 17 00:00:00 2001 From: Majoson <42291113+majoson-chen@users.noreply.github.com> Date: Wed, 5 Jun 2024 23:29:45 +0800 Subject: [PATCH 17/18] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ca58266f46..5641de6a58 100644 --- a/README.md +++ b/README.md @@ -71,7 +71,7 @@ 每完成一个任务,在你自己的仓库 `commit` 之后提交一个 `pull request`,只可以修改你自己的文件,不可修改其他人的文件。 -**请不要在一个 `PR` 内提交多个 `task`,报名必须独立为一个 `PR` +**请不要在一个 `PR` 内提交多个 `task`,报名必须独立为一个 `PR`** `pr` 的标题必须为 `task[n]: user-name`,例如: `task0: Beavnvvv` From 0cff0695dc0d285eaeddb53adc79edab31bfd816 Mon Sep 17 00:00:00 2001 From: Majoson <42291113+majoson-chen@users.noreply.github.com> Date: Wed, 5 Jun 2024 23:53:27 +0800 Subject: [PATCH 18/18] Create pull_request_template.md --- .github/pull_request_template.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 .github/pull_request_template.md diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000000..7a52d8280d --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,9 @@ +## PR规范 + +注册的 PR,命名为 `init: user-name`,例如 `init: Beavnvvv` + +提交 task 的 PR,命名为 `task[n]: user-name`,例如: `task0: Beavnvvv` + +**请不要把报名和提交TASK的内容合并到一起,也不要将多个TASK放到一起提交!** +**请不要把报名和提交TASK的内容合并到一起,也不要将多个TASK放到一起提交!** +**请不要把报名和提交TASK的内容合并到一起,也不要将多个TASK放到一起提交!**